Amazon-Ec2
如何通過 aws cli 找出 ec2 實例的私有和公共 IP?
到目前為止我找到的答案(例如找出 EC2 伺服器的公共 IP 地址)建議使用
wget
或curl
訪問伺服器。它們對我沒有用,因為我的 ec2 實例無法直接從 Internet 訪問。
我試過了
aws ec2 --profile prod describe-instances --filters Name=instance-id,Values=i-00914683ababcba7eb1
但是返回的 JSON 結果中沒有 IP。
我可以使用哪個
aws
CLI 命令來檢索此資訊?
通常,您可以使用 –query 過濾器來完成。
如果您只需要私有 IP 地址:
aws --region YOUR-AWS-REGION \ ec2 describe-instances \ --filters \ "Name=instance-state-name,Values=running" \ "Name=instance-id,Values=i-00914683ababcba7eb1" \ --query 'Reservations[*].Instances[*].[PrivateIpAddress]' \ --output text
如果您只需要公共 IP 地址:
aws --region YOUR-AWS-REGION \ ec2 describe-instances \ --filters \ "Name=instance-state-name,Values=running" \ "Name=instance-id,Values=i-00914683ababcba7eb1" \ --query 'Reservations[*].Instances[*].[PublicIpAddress]' \ --output text
或者你可以同時擁有:
aws --region YOUR-AWS-REGION \ ec2 describe-instances \ --filters \ "Name=instance-state-name,Values=running" \ "Name=instance-id,Values=i-00914683ababcba7eb1" \ --query 'Reservations[*].Instances[*].[PrivateIpAddress, PublicIpAddress]' \ --output text
當然你也可以有 json 格式的輸出。只需更改
--output text
為--output json