- Разверните статический сайт S3
- Распространите свое ведро S3 с Cloudfront и добавьте домен
- Микросервисы с помощью Lambda, Dynamodb и Gateway API
В этой части мы собираемся добавить Cloudfront, чтобы доставить наш веб-сайт с низкой задержкой для пользователя. После этого мы добавим домен с HTTPS для нашего веб-сайта.
Так что давайте прыгнем прямо в него. Перейдите в консоль управления AWS и откройте службу Cloudfront
Отказ Затем нажмите на Создать распределение
Теперь нажмите Начать
Под способом доставки Веб
На настройках происхождения поля Происхождение доменного имени
уже предварительно заполнен вашим ведром S3 в качестве опции. Но как мы уже добавили Статический хостинг сайта
В наше ведро, мы не хотим использовать прямую ссылку на наше ведро в этой области. Вместо этого мы должны предоставить URL нашего ведра.
Таким образом, откройте новую вкладку, перейдите на службу S3 и откройте ведро. Затем скопируйте URL из свойств ведра и вставьте его в Происхождение доменного имени
Отказ
Большинство полей должны быть уже заполнены сейчас. Прокрутите вниз и включите Компрессовать объекты автоматически
Отказ Это обеспечит сжатие GZIP для вашего контента.
Затем добавьте Уровень корневого объекта по умолчанию
Отказ Это точка входа вашего сайта. Для меня это index.html
Отказ После этого вы можете нажать Создать распространение
Отказ
Это займет момент, пока ваше распределение не будет создано. Когда это сделано, вы можете открыть домен, который вы можете увидеть в списке.
Для получения более подробной информации о вашем распределении CloudFront вы можете нажать на идентификатор. Вы также можете установить страницу ошибки там, если хотите.
Если вы снова развертываете в своем ведре, вы заметите, что контент не изменится. Это потому, что CloudFront кэширует ваш контент. Чтобы недействовать кэше, вы должны выполнить следующую команду в вашей консоли:
aws cloudfront create-invalidation --distribution-id=YOUR_DISTRIBUTION_ID --paths /
Где вы должны заменить Your_distribution_id
с идентификатором вашего распределения CloudFront.
Добавьте домен с HTTPS
Если у вас еще нет домена, вы можете купить один на службе AWS Маршрут 53.
. В противном случае вы можете пропустить этот шаг. Не волнуйтесь, если ваш домен сидит где-то еще, то путь 53. Я также пройду через процесс для этого.
Я не буду в курсе процесса покупки. Выберите доменное имя, а затем выполните шаги.
Затем перейдите в менеджер сертификатов, чтобы получить сертификат SSL для вашего сайта.
Перед нажатием Запросить публичный сертификат
Убедитесь, что вы переключаете регионы в US-East-1
Отказ Это необходимо, потому что CloudFront поддерживает только Восточный регион США для сертификатов.
Затем продолжайте и введите домен, который вы хотите использовать на следующей странице. Вы также можете использовать несколько таких, как
-
wweb.dev
-
* .wweb.dev.
С этим вы будете защищать основной домен, а также www.wweb.dev
и все подполам. Я пойду только добавлять сертификат для конкретного подделки aws.wweb.dev.
После этого я пойду на проверку DNS. Это имеет некоторые преимущества по поводу проверки электронной почты, как автоматическое обновление сертификатов.
Нажмите Следующий
Отказ Мы можем пропустить теги на настройку, поэтому нажмите Рассмотрение
на следующей странице. На следующей странице вы можете нажать Подтвердите и запросите
Если данные, которые вы видите, правильно.
На следующей странице разверните свой домен, щелкнув эту маленькую стрелку рядом с ним. Здесь у нас есть два варианта, в зависимости от вашего домена, размещенного на маршруте 53 или нет.
Опция 1) Если ваш домен размещен на маршруте 53, вы увидите кнопку, говоря Создать запись в маршруте 53
. Нажмите эту кнопку. Тогда в модальном, нажмите Создать
Отказ
Вариант 2) Если у вас есть ваш домен где-то еще, он будет выглядеть так:
Теперь вы должны перейти к вашему провайдеру доменов и открыть настройки DNS. Там вы должны создать новую запись CNAME для вашего домена.
Как вы создаете запись CNAME, могут отличаться для разных провайдеров. Мне пришлось удалить основной домен у хозяина ( .wweb.dev
), поскольку это автоматически прилагается от NameCheap (где у меня есть мой домен).
Вы должны сделать это для всех доменов, которые вы добавили. Теперь подождите, пока статус вашего сертификата не обратился к Выдано
Отказ Это может занять 5-10 минут.
Добавьте свой домен в CloudFront
Вернитесь к вашему распределению CloudFront. Зайдите в детали распределения, нажав на идентификатор, а затем нажмите на Редактировать
кнопка.
Добавьте домен в Альтернативные доменные имена
Отказ Затем нажмите на Пользовательский сертификат SSL
и выберите свой новый сертификат из раскрывающегося списка. После этого прокрутите вниз и нажмите Да, отредактируйте
Отказ
Теперь давайте создадим перенаправление с HTTP в HTTPS. Пойти к Поведение
, выберите поведение сверху и нажмите Редактировать
Отказ
В редактировании см. Выберите Перенаправить http в https
а затем снова прокрутите вниз и нажмите Да, отредактируйте
Отказ
Теперь, когда последний шаг нам нужно указать нашу домен в CloudFront. Здесь у нас снова есть два возможных варианта. Вы либо имеете свой домен на маршруте 53 или у вас есть его где-то еще.
Вариант 1) Маршрут 53
Вернитесь к Маршрут 53
оказание услуг. Затем выберите Размещенные зоны
В левом меню и нажмите на свой домен.
Теперь нажмите Создать запись набора
Отказ Меню справа откроется. Вы можете оставить Имя
Пусто, если вы хотите использовать свой главный URL. Вы также можете использовать WWW или поддомен в этом поле.
Выберите Да
для псевдонима. Затем выберите распределение HELLFRONT в меню для Псевдоним цель
Отказ
Вы можете добавить поддержку IPv6, создавая другую запись с теми же настройками, но с AAAA - IPv6 Адрес
как тип.
Вариант 2) Другие поставщики
Для любого другого поставщика вы должны создать еще одну запись CNAME DNS. Этот должен указывать из вашего домена в URL Cloudfront. Например, на NameCheap, это будет выглядеть так для моего AWS
поддомен.
Для обоих вариантов он может занять до часа, пока не будет применен новый DNS. Тогда ваш домен должен быть правильно настроен и указать на вашу облачность.
В следующей и последней части этой серии я покажу вам, как создать микросервис с AWS Lambda, DynamOdb и Gateway API.
У вас были проблемы, следующие, следующие в какой-то момент? Пожалуйста, дайте мне знать, так что я могу улучшить это руководство:)
Оригинал: «https://dev.to/vincenius/getting-started-with-serverless-aws-2-3-distribute-an-s3-bucket-with-cloudfront-and-add-a-domain-jgm»