从 EC2 实例内部返回 EC2 实例的私有 IP

Cod*_*Med 3 rhel amazon-ec2 aws ip-address amazon-linux

可以使用哪些特定语法从 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
Run Code Online (Sandbox Code Playgroud)

但是,如您所见,如果您自己在 EC2 实例中键入这些命令,以上 3 行会导致大量输出,手动过滤会很混乱。

有人可以建议一两行代码来简单地返回实例的私有 ip 而没有其他信息吗?

Mic*_*bot 12

$ curl http://169.254.169.254/latest/meta-data/local-ipv4
Run Code Online (Sandbox Code Playgroud)

实例的私有 IPv4 地址。在存在多个网络接口的情况下,这是指 eth0 设备(设备编号为 0 的设备)。

https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html

交替:

$ ec2metadata --local-ipv4
Run Code Online (Sandbox Code Playgroud)

  • @RuiFRibeiro 我不确定你在说什么是经过协商的。还不清楚您为什么提到 avahi,但我认为您指的是 169.254.169.254。这是 EC2 元数据服务的固定 IP 地址,该服务由管理程序提供并且只能从实例内部访问。另请参阅 [AWS 的 169.254.169.254 地址有何特别之处?](/sf/ask/2961982061/) (2认同)