[英]How to get (Private) IP of EC2 instance in bash script launched by cron?
我目前正在通過 cron @reboot
:
ec2_ip=$(echo $HOSTNAME | grep -Eo '[[:digit:]]+-[[:digit:]]+-[[:digit:]]+-[[:digit:]]+' | head -n 1 | tr '-' '.')
這工作正常但不是很優雅。 有沒有更簡單的方法來獲取EC2實例的私有IP? 也許還有它的公共 IP?
您可以為此使用元數據服務。
私人 ip:
ec2_private_ip = $(curl http://169.254.169.254/latest/meta-data/local-ipv4)
公眾號 ip:
ec2_public_ip = $(curl http://169.254.169.254/latest/meta-data/public-ipv4)
如果您有權訪問aws cli
並知道實例 ID,則可以通過以下方式獲取私有地址 ip:
aws ec2 describe-instances --instance-ids i-02c55bf68498143b3 --query 'Reservations[0].Instances[0].NetworkInterfaces[0].PrivateIpAddress' --output text
或公眾號 ip 地址:
aws ec2 describe-instances --instance-ids i-02c55bf68498143b3 --query 'Reservations[0].Instances[0].PublicIpAddress' --output text
(盡管這是否更優雅是有爭議的。)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.