簡體   English   中英

如何使用 AWS CLI 獲取 NAT 網關公共 IP?

[英]How can I get the NAT gateway public IP using the AWS CLI?

給定一個 VPC id; 我正在使用 AWS CLI 和 jq 為給定的 VPC id 派生 NAT 網關地址。 這是我到目前為止所擁有的:

aws ec2 describe-nat-gateways --region='${aws_region}' | jq -r --arg efs_name ${vpcid} '.[] | .[] | select(.VpcId==$vpcid) | {nats: .NatGatewayAddresses}'

output 是:

{
  "nats": [
            {
             "PublicIp": "52.34.207.107",
             "NetworkInterfaceId": "eni-0bc0d320",
             "AllocationId": "eipalloc-fa7739c0",
             "PrivateIp": "172.20.130.224"
            }
          ]
}

有沒有辦法直接使用 nat-gateways 資源的 AWS CLI 過濾器獲取PublicIp

使用--query提取字段:

aws ec2 describe-nat-gateways --query 'NatGateways[*].NatGatewayAddresses[*].PublicIp' 

由於這個問題有 jq 標簽,這里有一些方法來提取“PublicIp”值(或者可能是值),給定一個 JSON 文本,如下所示:

1) 所有這些值

.nats[] | .PublicIp

或者

.. | objects | .PublicIp

2)第一個這樣的值

將上述任何一項包裝在對first的調用中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM