Назад | Перейти на главную страницу

как сделать определение задачи веб-службы ecs общедоступным в Интернете

Я создал кластер ECS, сервис AWS ECS с определением задачи 1 ECS, в котором есть контейнер, указывающий на этот простой образ докера это приветственное изображение Nginx для тестирования.

Теперь я хочу сделать это общедоступным в Интернете, и я хотел бы использовать Cloudfront.

Как я могу подключить Cloudfront для обслуживания контента из изображения?

Прежде всего вам нужно создать Балансировщик нагрузки приложений (ALB) с Слушатель и Целевая группа. Затем вы зарегистрируйте свой сервис ECS в целевой группе ALB. Это откроет доступ к контейнеру Nginx в Интернете через ALB.

Причины этого:

  • Контейнеры в службе ECS можно остановить и перезапустить, после чего они получат новый IP-адрес. Сервис может автоматически регистрировать вновь запущенные контейнеры в ALB.

  • Вы можете отключить SSL (HTTPS) на ALB с помощью сертификата, выданного Amazon Certificate Manager (ACM), без необходимости иметь дело с сертификатами SSL на уровне контейнера.

  • Вы можете запускать свои контейнеры с помощью Частный IP адреса в Частная подсеть. Только ALB должен находиться в публичной подсети.

Как только у вас есть ALB + ECS настроить и работать можно добавить Облачный фронт к смеси. Это сообщение в блоге есть пара вариантов, как ограничить доступ к ALB только из CloudFront, в частности мне нравится Вариант 2 - установка настраиваемый заголовок на стороне CF и проверка в ALB.

Надеюсь, это поможет :)