AWS представила Amazon ECS Gateway — полностью управляемое решение для входящего трафика сервисов ECS
AWS представила Amazon ECS Gateway — полностью управляемое решение для входящего трафика сервисов ECS. Фото: СС0
Новый ресурс на уровне учётной записи упрощает входящий трафик для контейнеризированных рабочих нагрузок, динамически выделяя и управляя необходимой инфраструктурой от имени пользователя, при этом все ресурсы создаются непосредственно в его учётной записи. ECS Gateway разделяет обязанности между платформенными и прикладными командами: платформенные команды создают и настраивают шлюз, определяя подсети, группы безопасности, сертификаты TLS, параметры прослушивания и списки контроля доступа WAF в одном месте, а затем связывают его с одним или несколькими кластерами ECS, тогда как команды разработчиков приложений просто добавляют параметр коннектора шлюза при создании или обновлении сервиса, и ECS автоматически выделяет необходимые ресурсы для каждого сервиса — сертификат ACM, уникальное имя хоста DNS, правила прослушивания, целевые группы и группу безопасности сервиса, разрешающую входящий трафик только от ALB.
Специализация в области сетей при этом не требуется. ECS Gateway предлагает маршрутизацию на основе хостов с использованием ALB и позволяет до 25 сервисам совместно использовать один ALB, оптимизируя затраты, а также управляет полным жизненным циклом базовой инфраструктуры, выделяя первый ALB при подключении первого сервиса, добавляя новые по мере достижения мощности и удаляя их, когда они больше не нужны.
В консоли ECS платформенная команда может создать шлюз, указав имя и выбрав роль инфраструктуры — роль IAM, которую ECS принимает на себя для предоставления и управления сетевыми ресурсами, — а также схему балансировки нагрузки (публичную или внутреннюю), прослушиватель, порт, максимальное количество балансировщиков и список контроля доступа; некоторые параметры, включая имя, схему, VPC, подсети, тип IP-адреса, протокол прослушивателя и порт, нельзя изменить после создания.
Через AWS CLI шлюз создаётся командой CreateGateway, инфраструктура не развёртывается до тех пор, пока служба не подключится к коннектору шлюза, а связать шлюз с кластером можно командой AssociateGatewayWithCluster. К одному шлюзу может быть привязано до 10 000 кластеров, а один кластер поддерживает до пяти ассоциаций шлюзов, что даёт гибкость в использовании одного шлюза в разных средах или назначении нескольких шлюзов одному кластеру.
Команды разработчиков добавляют коннектор шлюза к каждому определению сервиса в файле CreateService или UpdateService, а при наличии уже существующего сервиса со своим балансировщиком можно поэтапно внедрить ECS Gateway через UpdateService, сохранив оба входящих пути для проверки подключения перед удалением старой конфигурации. На этапе развёртывания ECS оценивает шлюзы, связанные с кластером, и подключает сервис ко всем совместимым шлюзам — тем, чей тип доступа соответствует фильтру коннектора, которые находятся в той же VPC и охватывают все зоны доступности используемых подсетей.
Для каждого подключения ECS назначает сервис балансировщику с доступной мощностью и выделяет ресурсы, а если ни один ALB не имеет достаточной мощности, создаёт новый в пределах квоты maxAlbCount; после завершения выделения маршрут становится ACTIVE и URL-адрес сервиса готов к приёму трафика. ECS Gateway автоматически обрабатывает повторное развёртывание, при котором сервис подключается к новым совместимым шлюзам или отключается от разорванных, и удаление сервиса, при котором ECS отключает его от всех шлюзов, удаляет маршруты и очищает ресурсы, деактивируя ALB, если тот удерживал последний маршрут.
Среди важных моментов отмечается, что ECS Gateway доступен для сервисов в режиме awsvpc для всех типов запуска (Amazon ECS EC2, AWS Fargate и управляемые экземпляры ECS), зоны доступности сервисов должны быть подмножеством зон каждого шлюза в кластере, при достижении maxAlbCount без свободной мощности развёртывание завершится ошибкой (квота по умолчанию — 10), а для наблюдаемости следует использовать метрики ALB в CloudWatch с измерениями TargetGroup и LoadBalancer, проверку describe-target-health и оповещения по метрикам вроде HealthyHostCount, TargetResponseTime и HTTPCode_Target_5XX_Count.
Amazon ECS Gateway доступен во всех коммерческих регионах AWS, где работает ECS, без дополнительной платы — пользователи платят только за базовую инфраструктуру, включая сборы ALB, журналы и метрики CloudWatch, сертификаты ACM и передачу данных.
Упомянутый сервис
Комментариев пока не было