可以使用什么特定语法从 Amazon Linux EC2 实例的命令行返回该实例的私有 IP 地址?
到目前为止,我已经提出以下几点:
# Get private IP from inside the instance by filtering inside the following:
instanceid=$(curl http://169.254.169.254/latest/meta-data/instance-id)
echo $instanceid
aws ec2 describe-instances --instance-id $instanceid --region us-west-2
然而,正如您所看到的,如果您自己在 EC2 实例中输入这些命令,上述 3 行会导致大量输出,手动过滤会很混乱。
有人可以建议一两行代码只返回实例的私有 IP 而没有其他信息吗?
答案1
$ curl http://169.254.169.254/latest/meta-data/local-ipv4
实例的私有 IPv4 地址。如果存在多个网络接口,则指的是 eth0 设备(设备号为 0 的设备)。
https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html
交替:
$ ec2metadata --local-ipv4