Используем Amazon AWS для лендов

logo

Не раз уже упоминала возможность использования, но до написания гайда, руки так и не дошли. Что ж, будем исправлять.

Я уже рассказывала про CDN от cloudflare в другой своей статье, теперь очередь за самым известным и популярным на данный момент – Amazon AWS. Пересказывать общую информацию про них подробно не буду, повторюсь, сервис очень популярен, легко можно нагуглить всё, что хотите знать про облачные инфраструктуры. Упомяну лишь, что доступ абсолютно бесплатен на год.

 

Как можем использовать?

Иногда в нашей работе требуется сделать ряд коротких тестов для каких-нибудь диких гео, где сервера найти довольно сложно, именно для таких тестов нам может понадобится CDN. Я обычно провожу тесты на CDN и если вижу, что у оффера есть потенциал, то разворачиваю дроплет ближе к гео и тогда уже работаю непосредственно на нём. Я бы не стала переходить на использования этих CDN полностью, тк мои тесты показали результаты более хорошие при наличии дроплета близко к гео, но всё же, если вы совсем новичок и вам пока не хочется тратить время ни на настройку большого количества серверов ни на изучение этого вопроса, то эта CDN будет идеальна для ваших самых первых тестов на глобал офферы. Ну и не забываем, что CDN не поддерживает php, поэтому все ленды у нас в виде html+js+css.

 

Настройка

Регистрация довольно простая, заранее лишь хочу уточнить:

1. Необходимо запастись рабочей симкой

2. Сделать виртуальную карту где-нибудь на QIWI например, на эту карту надо кинуть примерно 1$, это необходимо для регистрации.

Итак, регистрируемся:

1

Далее нам надо ввести свои данные (можно любые) латинскими буквами, указать реальный номер телефона:

2

Далее вводим все данные карты:

Screenshot_3

Затем наконец нам надо принять звонок на указанный номер и ввести код с клавиатуры телефона, который нам выдаст система:

Screenshot_4

Вводим код, проверка прошла, мы зарегистрировались. Заходим в свой аккаунт и выбираем Cloudfront

6

Тут надо сделать два коротеньких шага:

  1. Жамкнуть Create distribution
  2. В разделе Web жамкнуть “get started”

9

Ну и наконец открываются настройки непосредственно домена, с которого будут отдаваться наши ленды.

Здесь нам уже нужен домен. У нас он либо есть, либо нет, во втором случае мы его зарегистрируем где-нибудь, я предпочитаю зарубежных регистраторов, у них обычно гораздо ниже цены и не бывает никаких подводных камней, самый популярный и проверенный регистратор namecheap. У них часто акции и скидки, на данный момент они предлагают домены в зонах .bid .xyz .trade .webcam .pw .website .top .tech .space .site .press .online всего по $0.88. Мы этим воспользуемся и зарегистрируем домен mobilander.xyz для наших лендов. В неймчипе всё тоже просто с регистрацией, если хоть раз покупали домен, то запросто разберётесь, если нет, то можно этот вопрос загуглить. Итак, выбрали домен.

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

  1. Пишем наш домен в форму Origin Domain Name имя нашего домена, у меня это mobilander.xyz
  2. В Origin ID пишем любое рандомное значение

1-1

3. Forward Query Strings – тут у меня стоит No, так как ленды используют JavaScript и все фичи на ленде (модель телефона и т.д.)
выводятся с помощью JavaScript’a, иначе получится, что почти все запросы будут перенаправлятся на основной сервер.

2-1

4. Alternate Domain Names – здесь придумываем и указываем любой поддомен своего домена, который мы привяжем к клаудфронту.
Например, antivirus.mobilander.xyz. Этот домен будет использоваться уже публично везде. Т.е. с него будем отдавать ленды.

3-1

Ну и в конце жмём на “Create Distribution”. Видим следующее:

11

Дальше уже финальная часть, а именно берём в списке дистрибьюшенов в поле Domain Name название домена xxxxxxx.cloudfront.net (выделено красным) и прописываем в CNAME своего регистратора для нашего поддомена. Подробнее ниже.

Здесь опишу самый простой вариант с обычным шаред-хостингом и кастомными DNS от namecheap. Помним, что гайд для новичков, для любителей покопаться, у меня есть гайды по днс от cloudflare и настройка сервера под лендинги на Digital Ocean.

Шаред-хостинг можно взять где угодно, я предпочитаю ребят из IDEAhosting. У них хостинг ориентирован на арбитражников и можно затем у них же брать сервера, VPS и тп. Кстати можно делать очень неплохие конфигурации за хорошие деньги, но для этого следует обратиться в сапорт.

Итак, купили хостинг, получили данные для доступа в панель ISP manager или схожую. Прикрепляем домен к хостингу:

idea

Копируем отсюда IP-адрес нашего хостинга, он нам пригодится для прикрепления домена к нему по А-записи. Далее идём в namecheap, где мы регистрировали домен.

Что нам важно сделать в namecheap:

  1. Выбираем в панели наш домен, затем в Advanced DNS удаляем все существующие записи.

namecheap1

2. Добавляем CNAME запись для нашего поддомена.

namecheap2

3. Добавляем А-записи нашему домену. Прописываем тот IP, который скопировали у хостера в панели ISP manager выше.

В финале всё выглядит так:

namecheap3

Вот и вся настройка. Теперь нам надо подождать, пока наши днс обновятся и настройки вступят в силу и начинать загружать ленды на хостинг.

Для этого возвращаемся в панель ISP manager, загружаем наши ленды в наш origin domain, то есть в папку нашего домена mobilander.xyz (обратите внимание, мы складываем ленды именно сюда, а не в папки поддоменов), отсюда наши ленды уже после заливки закэшируются с помощью CDN.

idea

Зашли в папку, залили ленд. Теперь нужно также помнить, что наши ссылки, несмотря на то, что мы залили ленд в корень домена mobilander.xyz, должны быть следующего вида:

http://antivirus.mobilander.xyz/mobilelander/index.html

вместо http://mobilander.xyz/mobilelander/index.html

Не забываем всегда использовать наш Alternate Domain Name, иначе ленд будет грузиться с шаред-хостинга.

 

Очистка кэша

Один раз закинув ленд на CDN, он закэшируется и будет в таком виде пока вы не почистите кэш. То есть если вы чуть измените или вообще удалите ленд, то не очистив кэш, вы не увидите изменений и ленд будет существовать на AWS в том виде, в каком он был залит в самый первый раз.

Поэтому, опережая возможные вопросы, расскажу также как очистить кэш, чтобы свободно можно было менять ленды при необходимости.

Делаем следующее:

  1. Отмечаем чекбокс с нашим доменом, жмём на Distribution Settings

cash1

2. Invalidations -> Create Invalidation

cash2

3. Чистим кэш, вбиваем в открывшееся окошко “/*” и нажать Invalidate

cash3

Вот и всё, о чём хотелось бы рассказать в этой статье. Удачного использования и больших профитов!

 

  • topocapos

    для хостинга статических (без пхп) лендов можно использовать тот же AWS S3. там и гео серверов можно выбрать.

  • Миа, подскажите пожалуйста, после покупки доменов, надо менять DNS записи стандартные на записи DNS хостера, как например ns1.digitalocean.com. ? Спасибо

    • не поняла вопроса, если речь про AWS от амазон, то в статье указано какие днс юзать, если про что-то другое речь, то скажи, что конкретно хочешь сделать, тогда смогу ответить.

  • Valeriy

    Спасибо за мануал. Один вопрос, если я хочу, чтобы на одном домене было несколько лендов, то как правильно их все залить в корень? Если они будут каждый в своей папке, то корректно ли будет все работать? Возможно глупый вопрос, но вот не совсем понимаю этот момент.

    • да, всё можно разместить по папкам и верно указать пути к каждому ленду, то всё будет работать корректно.

      • Valeriy

        Понятно, спасибо за быстрый ответ!)