Спасибо! Я действительно использовал такую ​​технику, и она работала нормально. Другой вариант - создать экземпляр ec2 и настроить Nginx, который будет перенаправлять запросы в ELB, что будет указывать на задачу fargate.

чаю возможность использования новой опции Fargate для своих контейнеров ECS. Одним из ограничений является то, что запущенная задача всегда должна быть доступна с одного и того же публичного IP-адреса.

Моей первой мыслью было выделить Elastic IP, но я не могу сказать, с чем его ассоциировать. Кажется, что Elastic IP может быть связан с экземпляром (который не имеет отношения к Fargate) или сетевым интерфейсом. Однако, если я связываю его с ENI, я не вижу, как обеспечить, чтобы контейнер моей задачи имел этот сетевой интерфейс. При создании Сервиса я вижу, что могу поместить его в VPC, но это все.

Из эксперимента, если я убью задачу, чтобы служба перезапустила новую, или если я обновлю службу, чтобы запустить новую ревизию задачи, контейнер, который запускает новую задачу, будет каждый раз иметь новый ENI.

Есть ли какой-нибудь способ гарантировать, что данная служба имеет тот же общедоступный IP-адрес, даже если ее задачи убиты и перезапущены?

 Shantanu22 дек. 2017 г., 06:27
Не можете ли вы использовать балансировщик нагрузки для этой цели? Таким образом, выполняемая задача всегда будет доступна по адресу балансировщика нагрузки и не изменится даже после перезапуска контейнера или основного хоста.
 Davinj24 янв. 2018 г., 21:42
Вы поняли это? если балансировщик нагрузки будет перезапущен, IP-адрес будет другим. Было бы неплохо иметь возможность назначать имена хостов для эластичного IP. если что-то перезапускается, просто переназначить эластичный IP.
 ashgromnies27 февр. 2018 г., 22:02
Балансировщики нагрузки, поддерживаемые AWS, используют только TCP, это не будет работать, если ваш сервис UDP

Ответы на вопрос(2)

поэтому невозможно связать Elastic IP с определением задачи Fargate.

Единственный способ использовать статический IP-адрес с Fargate - использовать Application Load Balancer с псевдонимом.

 user210528207 мар. 2018 г., 20:23
балансировщик нагрузки сети может быть использован
 claytond12 нояб. 2018 г., 15:33
Сообщение на форуме AWS подтверждая эти ответы

агрузки. Это специальный тип балансировщика нагрузки, в который можно добавить эластичный IP. Эта инструкция действительно может помочьhttps://docs.aws.amazon.com/elasticloadbalancing/latest/network/introduction.html

 Nakedible30 апр. 2018 г., 00:26
Хотя Network Load Balancer вряд ли то же самое, что связать Elastic IP с задачей напрямую, он по-прежнему подходит для многих случаев использования. Балансировщик сетевой нагрузки позволяет использовать балансировщик нагрузки со статическим IP-адресом, выполняя DNAT для фактической задачи Fargate. Для входящих соединений, использующих TCP, это в значительной степени решение. Не отрицайте этот ответ.
 user210528204 мая 2018 г., 12:24
Спасибо! Я действительно использовал такую ​​технику, и она работала нормально. Другой вариант - создать экземпляр ec2 и настроить Nginx, который будет перенаправлять запросы в ELB, что будет указывать на задачу fargate.

Ваш ответ на вопрос