我想在我的GCP组织中获取所有外部IP地址。该信息似乎可以在GPC控制台中的VPC网络>外部IP地址下找到,但是我似乎找不到导出此信息的API或方法。
我尝试了GCLOUD命令行工具,但它仅列出了STATIC ip地址。我还需要临时地址:gcloud compute addresses list
Go GCP Compute API的作用相同。
答案 0 :(得分:1)
要实现此目标,您可以使用类似的
gradlew --version
答案 1 :(得分:0)
Google Cloud使用随时间变化的各种IP地址。根据该link,最接近的方法是使用DNS查找命令(nslookup
,dig
或host
)来手动清理多个地址并与静态地址进行比较地址并选择临时地址。
如上所述,此功能有一个公共跟踪器,正在评估是否可以将标志添加到命令gcloud compute addresses list
中以列出临时IP:
https://issuetracker.google.com/119178618
这里是另一个相关主题:https://stackoverflow.com/a/53650099
答案 2 :(得分:0)
Google Cloud中有两种类型的公共(外部)IP地址:区域性和全局性。
以下命令使用Windows语法。修改项目ID和区域列表的每个命令。
此命令将列出指定区域的区域地址:
gcloud compute addresses list --project development --filter="region:( us-west1, us-west2 )"
此命令将列出全局地址:
gcloud compute addresses list --global --project development
请注意,必须对每个项目重复此操作。没有适用于组织的选项。
要列出您的凭据有权访问的项目:
gcloud projects list
这并不意味着此列表上的所有项目都是您组织的一部分。可以在组织外部的项目中将凭据添加为成员帐户。
这并不意味着列出组织中的所有项目。只有那些有权列出/访问项目的人。您的组织可能正在使用文件夹。
以下链接适用于API:
答案 3 :(得分:0)
如先前的答复所述,没有简单的方法来获取该信息。
我在自己的项目中尝试了一些命令,并且可以在实例上列出所有外部临时IP:
gcloud compute instances describe INTANCE_NAME --format='get(networkInterfaces[0].accessConfigs[0].natIP)' --zone ZONE
gcloud compute instances list --format='table(EXTERNAL_IP)'
我还找到了另一个public tracker,他们在这里要求的内容几乎与您提到的相同,请允许您看一下并在其中发表评论。
答案 4 :(得分:0)
通过在 Linux 上运行以下命令,我设法获得了 Ephemeral
IP 地址。
GCP console shows (VPC network -> External IP addresses):
- XX.XX.XX.XX us-west2 Ephemeral
vmnumber1 XX.XX.XX.XX us-west2 Static
vmnumber2 XX.XX.XX.XX us-west2 Static
These are the Static Public IPs (gcloud does not show Ephemeral IP addresses)
gcloud --project your_project_name compute addresses list --format="value(ADDRESS)" | sort | tee -a static_public_ips
XX.XX.XX.XX
XX.XX.XX.XX
These are the Public IPs assigned to instances, it may include (Static and Ephemeral IP addresses)
gcloud --project your_project_name compute instances list --filter="EXTERNAL_IP!=NULL" --format="value(EXTERNAL_IP)" | sort | tee -a static_public_ips_assigned
XX.XX.XX.XX
XX.XX.XX.XX
Then we can compare the two files, but we want the IPs that are not in `static_public_ips` which are the `Ephemeral` ones.
diff -u static_public_ips static_public_ips_assigned | sed -n '/^+[^+]/ s/^+//p'
XX.XX.XX.XX