Какой конкретный синтаксис можно использовать для возврата частного IP-адреса экземпляра Amazon Linux EC2 из командной строки этого экземпляра?
На данный момент я пришел к следующему выводу:
# 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 самостоятельно, приведенные выше три строки приведут к огромному объему выходных данных, который было бы сложно отфильтровать вручную.
Может ли кто-нибудь предложить одну или две строки кода, которые просто вернут частный 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