Использование AWS для размещения статического веб-сайта

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

Зачем размещать статический сайт?

Еще до того, как мы начнем, первый вопрос, который возникает, — зачем в современную эпоху Web 3.0 кому-то нужен статический сайт? Ведь он просто бесполезен, не так ли? Может быть, да, а может и нет. Не все в мире супер-технари, но иметь свой сайт может быть довольно круто для тех, кто просто хочет поделиться своими замечательными фотографиями из путешествия с друзьями, семьей, соседями, коллегами. А как насчет простого блога? Как насчет мелких розничных торговцев, которые просто хотят продемонстрировать свою продукцию, чтобы привлечь покупателей в магазин? И может быть множество других случаев использования, когда простой статический сайт может иметь смысл. Если вы все еще согласны со мной, пожалуйста, продолжайте читать.

Итак, зачем использовать столько технических средств для размещения простого статического сайта? Я бы сказал, что первоначальная установка — это всего лишь одноразовая работа, и в дальнейшем она не потребует практически никакого обслуживания. Поскольку мы остановились на AWS, вот список сервисов, которые мы будем использовать для достижения нашей цели

  • Simle Storage Service
  • Распространение CloudFront
  • Менеджер сертификатов
  • Управление идентификацией и доступом (неявно)
  • Route53

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

Предварительные условия

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

  1. Зарегистрированное доменное имя. Если вы просто хотите поэкспериментировать, freenom.com предоставляет бесплатное доменное имя на срок до 12 месяцев, но только для определенных TLD.
  2. Учетная запись AWS. Новая учетная запись имеет право на некоторые бесплатные ресурсы. Подробнее смотрите здесь.

Регистрация домена с помощью Route53

AWS Route53 — это высокодоступная и масштабируемая облачная DNS-система со 100% гарантией безотказной работы. Она предоставляет широкий спектр услуг для управления DNS. Мы начнем с добавления нашего домена в Route53 путем создания новой публичной зоны.

Как только мы зарегистрируем наш домен в Route53, он предоставит нам список серверов имен, которые будут использоваться для нашего домена.

Эти серверы имен управляются AWS, и нам необходимо обновить их у нашего регистратора доменных имен.

Генерация SSL-сертификата для домена

Менеджер сертификатов AWS предоставляет публичные SSL-сертификаты бесплатно. Мы будем использовать его для генерации сертификатов для нашего домена, чтобы наш домен мог быть доступен по протоколу HTTPS. Это гарантирует, что все коммуникации между пользователем и сервером будут зашифрованы и безопасны.

Мы будем использовать полное доменное имя (FQDN), поддомен www и символ * для всех будущих поддоменов, которые нам могут понадобиться.


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

Как только AWS проверит домен с помощью записей CNAME, сертификат будет выдан и готов к использованию.

Добавление статических активов сайта в S3

AWS Simple Storage Service кажется идеальным выбором, когда речь идет о хранении данных. S3 поддерживает практически неограниченное хранение данных. Размер каждого объекта в S3 может достигать 5 ТБ. AWS взимает плату за использование S3 по следующим двум параметрам

  • Потребляемое пространство
  • Размер данных, перемещаемых в S3 и из S3После того, как у нас есть статические активы сайта, такие как HTML, CSS, Javascript, изображения, видео, PDF и т.д. (все, что необходимо), нам нужно переместить их в S3. Но перед этим мы должны создать ведро в S3 с глобально уникальным именем. Потому что имя ведра является частью URL, который должен быть глобально уникальным.

Настройка CloudFront для S3

AWS CloudFront — это глобально распространяемая служба CDN. Используя CloudFront, мы можем гарантировать, что пользователи со всего мира смогут получить доступ к нашему содержимому с низкой задержкой. CloudFront может быть интегрирован с рядом других сервисов AWS, включая S3. Давайте продолжим и создадим дистрибутив CloudFront для нашего ведра S3.

Хотя мы могли бы включить публичный доступ для ведра S3, но вместо этого мы сделали его частным (по умолчанию). С помощью OAI мы разрешаем дистрибутиву CloudFront доступ к содержимому через политику ведра.


Хотя AWS CloudFront имеет граничные точки по всему миру, мы можем разделить распределение содержимого в зависимости от местонахождения клиента. Кроме того, мы информируем дистрибутив CloudFront о домене, через который будет осуществляться доступ, и предоставляем соответствующие SSL-сертификаты. После создания дистрибутива пройдет некоторое время, прежде чем он будет готов к потреблению.

Последнее действие

Когда наш дистрибутив CloudFront будет готов к использованию, мы должны сделать еще одну запись A в домене, который будет прокси-сервером для дистрибутива CloudFront.

Цель достигнута

После всего этого нам нужно набраться терпения, чтобы вся информация DNS была распространена. Как только это будет сделано, мы сможем получить доступ к нашему домену и увидеть статический сайт в действии.

На этом все, друзья…

Оцените статью
Procodings.ru
Добавить комментарий