Мой опыт переезда на AWS

Уже 6 лет я пользуюсь одной хостинг компанией. Проблем никогда с ней не было, но и я ничего запредельного не делал - несколько статических вебсайтов. Мой playground.

На днях хостинг прислал мне билл на следующие три года - $350 баксов. Три года назад было тоже самое. Я просто открыл новый аккаунт и перенес все свои сайты, заплатив при этом около $70 за три года. Такая у них бизнес-схема: сначала заманить низкой ценой, а затем её поднять. Хотя... почти все так работают. Но сейчас я решил, что пора валить.

Во-первых, мой родственник, - тоже программист, - много раз рассказывал какой AWS крутой. Он также показывал сколько он платит - копейки.

Во-вторых, на работе начали постепенно переносить сервисы в облако AWS и по-любому мне нужно будет его изучать. Почему бы не начать сейчас?

И началось....

Route 53 - сервис для доменов
Пренос двух доменов занял 2 часа и стоил $23. При переносе остались старые Name Servers в настройках каждого домена. Несколько часов я искал какие Name Servers AWS использует для своих доменов, но найти не мог. AWS не работает как обычный хостинг. Для того чтобы работать с доменов нужно сначала создать Hosted zone. Оказывается, что когда ты создаёшь Hosted Zone для своего домена AWS вставляет необходимые Name Severs в Hosted zone. Я перенес эти Name Servers в настройки домена. Дело сделано. Кстати, для сабдомена не нужно создавать отдельную Hosted Zone.

S3 - Хранилище файлов
С этим было просто. Создал bucket и зааплодил файлы вебcайта. Важно! Ведро нужно назвать по имени домена.

Certificate Manager - SSL для вебсайта
Создать новый сертификат легко, пройти верификацию домена не так просто. Два часа прошло - верификации нет. Я знаю, что для верификации нужно что-то вставить в Hosted Zone домена, но только что? После поиска в интернете, нашёл умного человека, который показал, что есть кнопка в деталях сертификата Create records in Route 53, которая добавит все что надо в Hosted Zone. Нажал на эту кнопку и через минуту верификация пройдена.

Казалось бы все, но ни хрена. Как оказалось ты никак не можешь SSL привязать к S3 ведру. Чтобы это сделать нужен ещё один сервис - CloudFront.

CloudFront - CDN для статического контента
Тут я завис на несколько дней. Когда ты создаёшь CloudFront дистрибуцию, ты выбираешь свое S3 ведро. У ведра есть AWS зона (типа США, Северная Америка...) Эта зона должна совпадать с зоной для Origin Access Identity, который ты создаёшь для данного дистрибутива CloudFront. Иначе ты не сможешь добавить A-record для CloudFront своего домена. Конечно когда ты знаешь как это работает, не ошибёшься. Другой момент... Прямо под дропдауном Origin Access Identity есть неприметная радио кнопка Bucket policy, которая по умолчанию выбрана No, I will update policy myself. Я эту опцию в упор не видел. Короче... правильнее всего нажать на Yes, update the bucket policy. Тогда S3 получит правильные permission settings.

Route 53
Теперь остался последний шаг - добавит редирект на CloudFront дистрибуцию в Hosted Zone для своего домена. Теперь наконец-то все.

Радости моей нет предела. Уже два дня хожу и радуюсь. Может кому-то поможет мой опыт.

Лига фрилансеров

2K постов17K подписчик

Правила сообщества

Не забывайте поддерживать авторов плюсами!


Нельзя:

- Добавлять нетематические посты, последнее решение за модератором

- Рекламировать какую-либо продукцию в виде постов


Можно:

- Делится любыми интересными историями, связанными с фрилансом :)