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

Если вы думаете, зачем защищать веб-сайт?

  1. Ваш рейтинг в Google улучшится благодаря защищенному SSL веб-сайту
  2. Безопасный веб-сайт SSL защищает конфиденциальную информацию от посторонних глаз
  3. Chrome теперь выдает пользователю предупреждение и не загружает ваш сайт, если на страницах, где запрашивается конфиденциальная информация, не найден действительный SSL-сертификат. Firefox и другие браузеры следуют этому примеру, и Google уже разослал предложение для всех веб-браузеров по реализации этой политики.

Итак, в этой статье мы рассмотрим процедуру размещения защищенного статического веб-сайта на Amazon Simple Storage Service (S3) с использованием Amazon Web Services (AWS).

Прежде чем мы перейдем к процедуре и ее техническим особенностям, давайте сначала поймем, почему мы это делаем. Точнее, почему AWS? Это из-за следующих причин:

  • Они предлагают хранилище для неограниченного количества файлов с помощью утилиты «Плати за то, что ты используешь».
  • Их услуги обеспечивают высокую производительность, масштабируемость, эластичность и безопасность.
  • Это один из самых простых в использовании сервисов.

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

  1. Аккаунт AWS,
  2. Доменное имя, размещенное на AWS

А теперь приступим!

Шаг 1. Создание корзины S3 и ее настройка для размещения статического веб-сайта

  • Войдите в Консоль управления AWS и откройте консоль Amazon S3 по адресу https://console.aws.amazon.com/s3/.
  • Выберите «Создать ведро».

  • Введите имя корзины. Он должен называться так же, как ваш домен, но без «www». Например: bansalnagesh.com.
  • В поле «Регион» выберите регион AWS, в котором вы хотите разместить корзину. Выберите регион, близкий к вашим целевым пользователям, чтобы свести к минимуму задержку и затраты.
  • Выберите «Далее», пока не дойдете до вкладки «Установить разрешения».
  • На странице «Установить разрешения» измените управление общедоступными разрешениями на «Предоставить общедоступный доступ для чтения к этому сегменту».
  • Выберите «Далее», «Просмотреть» свой выбор, а затем нажмите «Готово».
  • Чтобы разместить эту корзину в качестве веб-сайта, нажмите на новую корзину.
  • Загрузите файлы вашего сайта.
  • Откройте ведро «Свойства», выберите «Статический хостинг веб-сайтов».

  • Выберите «Использовать это ведро для размещения веб-сайта».
  • В поле «Индексный документ» введите имя индексного документа.
  • Выберите «Сохранить», чтобы сохранить конфигурацию веб-сайта.
  • Затем установите политику корзины, чтобы разрешить общий доступ ко всем объектам в этой корзине. Перейдите на вкладку «Разрешения», затем выберите «Политика корзины». Вставьте следующий документ политики в текстовую область, заменив «{NAGESH}» названием вашей корзины.
{
“Version”: “2012–10–17”,
“Statement”: [
  {
     “Sid”: “PublicReadGetObject”,
     “Effect”: “Allow”,
     “Principal”: “*”,
     “Action”: “s3:GetObject”,
     “Resource”: “arn:aws:s3:::{NAGESH}/*”
  }
 ]
}

Теперь вы сможете получить доступ к своему веб-сайту по ссылке, указанной на экране. Это конечная точка веб-сайта, предоставляемая Amazon S3, для вашей корзины. Это будет выглядеть примерно так
http://yourbucketname.s3-website.eu-west-2.amazonaws.com.

Далее позвольте нам получить сертификат для вашего веб-сайта

Шаг 2. Запрос общедоступного сертификата с помощью AWS Certificate Manager (ACM)

  • Войдите в Консоль управления AWS и откройте консоль ACM по адресу https://console.aws.amazon.com/acm/home.
  • Выберите «Запросить сертификат».

  • На странице «Запросить сертификат» выберите «Запросить публичный сертификат и Запросить сертификат», чтобы продолжить.
  • На странице «Добавить доменные имена» введите свое доменное имя. Введите версии с www и без www. Например, www.bansalnagesh.com и bansalnagesh.com. Это гарантирует, что по какому бы URL-адресу ни перешел пользователь, будет представлен действительный сертификат.
  • На странице «Выбор метода проверки» выберите «Проверка DNS» или «Проверка электронной почты», в зависимости от ваших потребностей. Выберите следующий.

  • Если на странице «Обзор» содержится верная информация о вашем запросе, выберите «Подтвердить и запросить». Страница подтверждения показывает, что ваш запрос обрабатывается и домены сертификатов проверяются.
  • Выберите «Продолжить».

Сертификаты, ожидающие проверки, будут находиться в состоянии проверки "Ожидание", и их выпуск может занять некоторое время. После выпуска сертификата мы готовы создать дистрибутив и защитить наш веб-сайт.

Шаг 3. Создайте веб-раздачу CloudFront

  • Войдите в Консоль управления AWS и откройте консоль CloudFront по адресу https://console.aws.amazon.com/cloudfront/.
  • Выберите «Создать раздачу».
  • На первой странице «Мастера создания дистрибутива» в разделе «Веб» выберите «Начать».
  • Выберите поле «Исходное доменное имя» и выберите URL-адрес вашего веб-сайта S3 из раскрывающегося списка.

  • В разделе «Политика протокола просмотра» выберите «Перенаправить HTTP на HTTPS».
  • Перейдите в «Ценовой класс» и выберите наиболее подходящий для вас вариант. Чем жестче ценовой класс, тем дешевле дистрибуция. Например, если вы выберете «Использовать только США, Канаду и Европу», пользователи по-прежнему смогут получить доступ к вашему сайту со всего мира, но это будет медленнее для пользователей в Австралии.
  • В текстовой области «Альтернативные доменные имена (CNAME)» введите домены, которые вы будете размещать в этой раздаче, например, www.bansalnagesh.com и bansalnagesh.com.
  • Выберите «Пользовательский SSL-сертификат» и в раскрывающемся списке выберите сертификат, созданный на шаге 2.
  • В поле «Корневой объект по умолчанию» введите имя HTML-файла вашей домашней страницы, например index.html.
  • Выберите «Создать раздачу».

После того как CloudFront создаст вашу раздачу, значение столбца «Статус» для вашей раздачи изменится с «В процессе» на «Развернуто».

Шаг 4. Обновление записей DNS

  • Обновите записи DNS для своего домена, чтобы указать CNAME вашего веб-сайта на доменное имя вашей раздачи CloudFront.
  • Вы можете найти доменное имя вашего дистрибутива в «консоли CloudFront» в формате, похожем на d1234abcd.cloudfront.net.
  • Подождите, пока ваши изменения DNS вступят в силу и истечет срок действия предыдущих записей DNS.

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

И вот так ваш безопасный статический веб-сайт готов для всего мира.