是否可以识别静态外部 IP 地址与哪些计算实例相关联?我看到以下连接链:
address -> forwarding rule -> target proxy -> url map -> backend service -> instance group
现在,我可以列出最终实例组中包含的实例。但这是一个很长的链条。是否有任何惯用的方法可以快速实现此目的,或者我需要编写脚本?
请注意,gcloud
可以列出实例的外部 IP:
$ gcloud compute instances list
NAME ZONE MACHINE_TYPE ... EXTERNAL_IP STATUS
test asia-east1-a n1-standard-1 ... 1.1.1.1 RUNNING
...
如果使用--verbosity info
标志再次运行,您将看到列中的EXTERNAL_IP行来自(请参阅gcloud topic formats
和gcloud topic projections
(:
networkInterfaces[].accessConfigs[0].natIP.notnull().list():label=EXTERNAL_IP
您可以通过以下方式获取实例的所有 NAT IP 的列表(请注意accessConfigs
的丢弃0
;这会聚合所有 NAT IP:
$ gcloud compute instances list
--format 'value(networkInterfaces[].accessConfigs[].natIP)'
[u'1.1.1.1']
[u'1.1.1.2']
...
考虑到特定的 IP,您可以将其转换为筛选器表达式:
$ gcloud compute instances list
--filter 'networkInterfaces[].accessConfigs[].natIP:1.1.1.1'
NAME ZONE MACHINE_TYPE ... EXTERNAL_IP STATUS
test asia-east1-a n1-standard-1 ... 1.1.1.1 RUNNING
...
当实例是实例组的一部分时,这对我有用。