可以使用什麼特定語法從 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