🇺🇦 Домой

Переезд на AWS

Блог лежал какой-то время в даунтайме.

Связано было сначала с траблами на среверах surge.sh где сайт хостился, потому были проблемы с доменом, который заикспаирился. Я наконец-то продлил домен и переехал на AWS Amplify.

Сам переезд был легкий: Амазон просит синтегрироваться с твоим аккаунтом на bitbucket или github, "угадывает" как тебя деплоить - угадывает исходя из фреймворка какой ты юзаешь в пекеджез.жсон и всё. (Если не угадает - можно дать ему докер-контейнер или показать как твой контейнер собирать) Минутка-две и твоя прилага уже живая на условном какибяки123.amplifyapp.com.

Как хостил бесплатно - так бесплатно и буду хостить, только еще и билдить самому не надо - просто в гит коммты пушишь. Красотища.

На миграцию блога и экстрим вики ушло минуты две всего! А на настройку кастомных доменов - два дня. Ага.

Я - пацан простой, с села. Был у меня когда-то купленный домен и VPS машинка с белым ipv4. На VPS у меня работал Apache tomcat и я туда свои приложения и основной сайтик деплоил по ssh.

Иногда VPS саспендили и томкетик ложился. Проиходилось идти по ssh и перезапускать, но так-то работало.

Настройка домена для VPS была оч простая: одна A-Record на сайте где купил домен, с всего одним полем - ipv4 куда надо ПЕРЕНАПРАВИТЬ с домена. Ну куда-куда? - на мой VPS надо! Прекрасное было время.

Для surge надо было создать пару CNAME записей, но у них была очень хорошая документация, я с первого раза сделал и забил.

А ВОТ AWS это слишком новый продукт, чтоб нормальная документация была

Допустим я свой roman-guivan.online хочу настроить.

Заходишь в настройки домена, добавляешь свой. Тебе показывают такой скриншотик

aws1

Свою абру-кадабру я замазал, но так, "на пальцах" поясню. Тебе дают строчечку вида:

    _6489c44c2abd111b44c1a2e90a8bb369.roman-guivan.online.    CNAME    _x14235a3214xa7777w2po987x11b21aa.oiuyghtryu.acm-validations.aws.

Ты заходишь в дешборд на сайте где покупал домен (я на namecheap покупал, и там такое:)

aws2

И всё! У нас задача теперь в три больши дырки засунуть кубик, сферу и треугольничек. И дырки все огромные и влазит всё.

giphy

Что же на самом деле НАДО было сделать? Значит берём нашу строчечку

    _6489c44c2abd111b44c1a2e90a8bb369.roman-guivan.online.    CNAME    _x14235a3214xa7777w2po987x11b21aa.oiuyghtryu.acm-validations.aws.

_6489c44c2abd111b44c1a2e90a8bb369.roman-guivan.online. - это host _x14235a3214xa7777w2po987x11b21aa.oiuyghtryu.acm-validations.aws. - это target ну а C-NAME это вид записи для роутинга ipv6, я - тракторист, я не знаю что там оно на самом деле значит.

СОХРАНЯЮ ВАМ ПОЛДНЯ мучений #1

Как только амазон дал вам хешики - нужно БЕЖАТЬ БЫСТРЕНЬКО ИХ НАСТРАИВАТЬ! Времени гуглить что-то и думать - нет. Потмоу что:

Once your app is created in the Amplify Console, your CNAME records are checked 
every few minutes to determine if it resolves. If it doesn't resolve after an hour,
the check is made every few hours which can lead to a delay 
in your domain being ready to use.

В-принципе что их 2 значения вставить - 1 часа должно было бы хватить, мне не хватило. Много раз (почему - в пункте 2). Если за час не завелось - удаляйте домен из дешборда авс чтоб сбросить таймер поллинга и начинайте заново. это такой бесплатный хинт без номера даже

СОХРАНЯЮ ВАМ ПОЛДНЯ мучений #2

Ваше значение host помните?

_6489c44c2abd111b44c1a2e90a8bb369.roman-guivan.online., да?

Некоторые дашборды ПОДРАЗУМЕВАЮТ что имя хоста не должно содержать имя домена, и его доклеивают.

Амазон и Гугл - не доклеивают, Неймчип и гоудедди например - доклеивают.

То-есть в момент когда вы вставили _6489c44c2abd111b44c1a2e90a8bb369.roman-guivan.online. - вы создали CNAME запись для _6489c44c2abd111b44c1a2e90a8bb369.roman-guivan.online.roman-guivan.online.

Короче надо из host тупо убрать имя домена, и из _6489c44c2abd111b44c1a2e90a8bb369.roman-guivan.online. оставить _6489c44c2abd111b44c1a2e90a8bb369. (точка в конце - НУЖНА!)

И амазон будет искать её час и не найдёт, обещаю. И никто не скажет в чём проблема, кроме меня! Я - скажу. Уже сказал.

Вообще мамкиному веб-мастеру на заметку, шо такое тот хост в CNAME (как я понял) и как его лукапить.

Значит домены бывают первого уровня: kolya.com, второго prikoli.kolya.com ну и дальше - но дальше нам не интересно. www.kolya.com это кстати такой же домен второго уровня как и prikoli.kolya.com, я серьёзно пацаны, майнд - блоун.

Чисто интуитивно я думаю, что хост в CNAME - это "ключ" по какому мы ищем ГДЕ ДАЛЬШЕ резолвить домен. То-есть, в нашем примере, мы сделали запись, мол есть домен _6489c44c2abd111b44c1a2e90a8bb369.roman-guivan.online и куда он ведёт - надо искать на серваке _x14235a3214xa7777w2po987x11b21aa.oiuyghtryu.acm-validations.aws., а уже оттуда - нам скажут куда реально идти.

Чтоб проверить А ПРАВИЛЬНО ЛИ МЫ ВСЁ ТОГДА СДЕЛАЛИ, можно пойти сюда: https://www.whatsmydns.net/. Выбрать CNAME и вставить туда _6489c44c2abd111b44c1a2e90a8bb369.roman-guivan.online (без точечки в конце - это ж домен, теперь!)

Ключи я поменял на фейковые из статьи девтулзом, не обольщайтесь, хакоры

aws3

Короче если буквы совпадают с вашим ТАРГЕТ-ом, то и aws когда-то "навалидируется", "довалидируется" и

aws4

Ну а дальше надо кликнуть Actions -> DNS Settings, и получить уже "настоящие" свои CNAME и ALIAS, которые надо в дешборде домен-провайдера опять настроить.

Если они там отображены как null - не надо бояться, просто подождать - aws ещё что-то рожает значит, и показываеть наллы просто так.

Для рута домена (просто roman-guivan.online) - значение host будет просто "@", для под-домена www.roman-guivan.online - www, extreme-sports.roman-guivan.online - extreme-sports, www.extreme-sports.roman-guivan.online - www.extreme-sports и так далее.

Я отлично провёл время пока это всё писал, экстрим-вики всё ещё не перенастроена, но ПОЛУЧЕННЫЕ ЗНАНИЯ - решил зафиксировать.

Всем кто дочитал - симпа.

07-11-2019, aws, amplify, surge.sh, gatsby, dns, domain, custom domain