是否可以确定静态外部IP地址与哪些计算实例相关联?我看到以下连接链:
address -> forwarding rule -> target proxy -> url map -> backend service -> instance group
现在我可以列出最终实例组中包含的实例。但这是一个需要遵循的长链。是否有任何惯用的方法可以快速实现,或者我需要编写脚本吗?
答案 0 :(得分:2)
请注意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列表(注意0
的已删除accessConfigs
;这会聚合所有NAT IP:
$ gcloud compute instances list \
--format 'value(networkInterfaces[].accessConfigs[].natIP)'
[u'1.1.1.1']
[u'1.1.1.2']
...
考虑到特定的IP,您可以将其转换为filter expression:
$ 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
...
当实例是实例组的一部分时,这适用于我。