繁体   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