我尝试查找 ECS 集群中所有 EC2 实例的公共 IP 地址。我可以使用以下命令查看 EC2 实例 ID:
aws ecs list-container-instances --cluster myCluster
但这不会显示 IP 地址。我搜索了 ECS CLI 文档,但找不到用于检索每个 EC2 实例的关联 IP 地址的命令。最简单的方法是什么?
谢谢。
我尝试查找 ECS 集群中所有 EC2 实例的公共 IP 地址。我可以使用以下命令查看 EC2 实例 ID:
aws ecs list-container-instances --cluster myCluster
但这不会显示 IP 地址。我搜索了 ECS CLI 文档,但找不到用于检索每个 EC2 实例的关联 IP 地址的命令。最简单的方法是什么?
谢谢。
这就是我得到的,不漂亮 - 应该使用 python 和 boto2。它使用通过管道传输到 jq 的 aws cli 以及我正在学习的更多 bash。
#!/bin/bash
c_instances=`aws ecs list-container-instances --cluster your-cluster --region=eu-west-1 | jq '.containerInstanceArns | join (" ")' | tr -d '"'`
i_ids=`aws ecs describe-container-instances --cluster your-cluster --region=eu-west-1 --container-instances $c_instances | jq '.containerInstances | .[] | .ec2InstanceId'|tr '\n' ' ' | tr -d '"'`
ips=`aws ec2 --region=eu-west-1 describe-instances --instance-ids $i_ids |jq '.Reservations | .[] | .Instances | .[] .NetworkInterfaces | .[] .PrivateIpAddresses| .[] .Association| .PublicIp '`
echo $ips