[英]List public IP addresses of EC2 instances
我想使用 Bash 列出我的 EC2 实例的公共 IP 地址,用分隔符(空格或换行符)分隔。
我尝试使用aws ec2 describe-instances | jq
将输出通过管道传输到jq aws ec2 describe-instances | jq
aws ec2 describe-instances | jq
,但似乎不能仅隔离 IP 地址。
这可以单独由aws
完成,为jq
指定参数,还是完全其他的东西?
直接从aws cli :
aws ec2 describe-instances \
--query "Reservations[*].Instances[*].PublicIpAddress" \
--output=text
aws ec2 describe-instances \
--filter "Name=instance-state-name,Values=running" \
--query "Reservations[*].Instances[*].[PublicIpAddress, Tags[?Key=='Name'].Value|[0]]" \
--output text
以下命令将列出所有正在运行的 EC2 实例的 IP 地址
aws ec2 describe-instances | grep PublicIpAddress | grep -o -P "\d+\.\d+\.\d+\.\d+" | grep -v '^10\.'
希望能解答您的疑问...
但这可以在没有关于访问的所有错误的情况下工作:
wget -qO- http://instance-data/latest/meta-data/public-ipv4/|grep .
您可以使用实例元数据,以便从 ec2 实例运行以下命令:
curl http://169.254.169.254/latest/meta-data/public-ipv4
它将为您提供实例的公共 IP。 如果你想要私有IP,你将运行
curl http://169.254.169.254/latest/meta-data/local-ipv4
aws ec2 describe-instances --query "Reservations[].Instances[][PublicIpAddress]"
参考: http : //docs.aws.amazon.com/cli/latest/userguide/controlling-output.html
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.