GCloud:按 'In Use by' 列过滤 IP 地址,如 GCP 控制台中所示
GCloud: Filter IP Address by 'In Use by' Column as seen in GCP Console
我正在尝试过滤掉路由器使用的外部 IP 地址。当我 运行 地址列表命令时,我无法使用名称进行过滤,因为它是由 NAT 自动创建的:
gcloud compute addresses list
NAME ADDRESS/RANGE TYPE PURPOSE NETWORK REGION SUBNET STATUS
test-network-1234 10.xxx.0.0/18 INTERNAL VPC_PEERING test-network-gcp-1 RESERVED
test-network-abcd 10.xxx.xx.0/18 INTERNAL VPC_PEERING test-network-gcp-1 RESERVED
nat-auto-ip-15564773-5-xx xx.xxx.xx.x EXTERNAL NAT_AUTO IN_USE
在控制台中我可以看到 'In use by' 'Router abcd' 列。我可以使用此 'In use' 参数进行过滤吗?
编辑:添加了控制台的屏幕截图
编辑:发现这一点,与其他 GCP 值一样,用户代表的 'in use by' 列(如此 reponse-body 中给出)作为 API URL.
所以我必须创建一个 URL 并传递以下值:
api_url="https://www.googleapis.com/compute/v1/projects/${landscape_project}/regions/${landscape_region}/routers/${router_name}"
external_ip="$(gcloud compute addresses list --filter="users=('${api_url}')" --format=json | jq -r '.[].address')"
这样我就能够传递 router_name 并创建 API URL 并将其作为过滤器传递以获取外部 IP。
希望这对某人有所帮助
干杯!
-阿斯文
我正在尝试过滤掉路由器使用的外部 IP 地址。当我 运行 地址列表命令时,我无法使用名称进行过滤,因为它是由 NAT 自动创建的:
gcloud compute addresses list
NAME ADDRESS/RANGE TYPE PURPOSE NETWORK REGION SUBNET STATUS
test-network-1234 10.xxx.0.0/18 INTERNAL VPC_PEERING test-network-gcp-1 RESERVED
test-network-abcd 10.xxx.xx.0/18 INTERNAL VPC_PEERING test-network-gcp-1 RESERVED
nat-auto-ip-15564773-5-xx xx.xxx.xx.x EXTERNAL NAT_AUTO IN_USE
在控制台中我可以看到 'In use by' 'Router abcd' 列。我可以使用此 'In use' 参数进行过滤吗?
编辑:添加了控制台的屏幕截图
编辑:发现这一点,与其他 GCP 值一样,用户代表的 'in use by' 列(如此 reponse-body 中给出)作为 API URL.
所以我必须创建一个 URL 并传递以下值:
api_url="https://www.googleapis.com/compute/v1/projects/${landscape_project}/regions/${landscape_region}/routers/${router_name}"
external_ip="$(gcloud compute addresses list --filter="users=('${api_url}')" --format=json | jq -r '.[].address')"
这样我就能够传递 router_name 并创建 API URL 并将其作为过滤器传递以获取外部 IP。
希望这对某人有所帮助
干杯! -阿斯文