Не удалось получить общедоступный ip-адрес контейнеров fargate, созданных с помощью сборки Дженкинса

#amazon-web-services #jenkins #amazon-ecs

Вопрос:

Может ли кто-нибудь, пожалуйста, помочь мне с командой для получения общедоступного IP-адреса контейнеров ecs fargate, созданных с помощью конвейера jenkins CI/CD.

(необходимо отобразить общедоступный ip-адрес в выводе консоли сборки Дженкинса, поскольку тестировщики не имеют доступа к консоли aws для проверки недавно развернутых служб в кластере aws ecs с использованием определения служб и задач)

ТИА

Ответ №1:

Предполагая, что вам известен идентификатор задачи (например, ceebc8d37409490693478ad5f2fbff93), вы должны иметь возможность получить идентификатор ENI, связанный с задачей Fargate, а затем вы можете запросить общедоступный IP, связанный с ENI:

 export TASK=ceebc8d37409490693478ad5f2fbff93 

ENI_ID=$(aws ecs describe-tasks --task $TASK | jq -r '.tasks[].attachments[].details[] | select(.name=="networkInterfaceId") | .value')

ENI_PUBLIC_IP=$(aws ec2 describe-network-interfaces | jq -r ".NetworkInterfaces[] | select(.NetworkInterfaceId=="$ENI_ID") | .Association.PublicIp") 

echo $ENI_PUBLIC_IP