cal*_*k93 9 google-cloud-platform
我想获取我的 GCP 组织中的所有外部 IP 地址。此信息似乎可以在 GCP Console 的 VPC 网络 > 外部 IP 地址下找到,但我似乎找不到导出此信息的 API 或方法。
我尝试过 GCLOUD 命令行工具,但它只列出静态 IP 地址。我还想要临时地址:gcloud compute addresses list
Go GCP 计算 API 执行相同的操作。
Google Cloud 中有两种类型的公共(外部)IP 地址:区域和全球。
以下命令使用 Windows 语法。修改每个命令的项目ID和区域列表。
此命令将列出指定区域的区域地址:
gcloud compute addresses list --project development --filter="region:( us-west1, us-west2 )"
Run Code Online (Sandbox Code Playgroud)
此命令将列出全局地址:
gcloud compute addresses list --global --project development
Run Code Online (Sandbox Code Playgroud)
请注意,必须对每个项目重复此操作。组织没有选择。
要列出您的凭据有权访问的项目:
gcloud projects list
Run Code Online (Sandbox Code Playgroud)
这并不意味着此列表中的所有项目都是您组织的一部分。凭证可以作为成员帐户添加到组织外部的项目中。
这并不意味着列出了您组织中的所有项目。只有有权列出/访问项目的人。您的组织可能正在使用文件夹。
以下链接是 API 的链接:
小智 5
正如之前的回复中提到的,没有简单的方法可以获取该信息。
我在自己的项目中尝试了一些命令,我可以列出我的实例上的所有外部临时 IP:
gcloud compute instances describe INTANCE_NAME --format='get(networkInterfaces[0].accessConfigs[0].natIP)' --zone ZONE
gcloud compute instances list --format='table(EXTERNAL_IP)'
Run Code Online (Sandbox Code Playgroud)
我还发现了另一个公共跟踪器,他们的要求几乎与您提到的相同,您可以看一下并在那里发表评论。
Google Cloud 使用各种随时间变化的 IP 地址。根据此链接,最接近的方法是使用 DNS 查找命令(nslookup、dig或host)手动清理多个地址并与静态地址进行比较并挑选出临时地址。
话虽如此,该功能有一个公共跟踪器,正在评估是否可以将标志添加到命令中gcloud compute addresses list以列出临时 IP:
https ://issuetracker.google.com/119178618
这是另一个相关主题:https ://stackoverflow.com/a/53650099
| 归档时间: |
|
| 查看次数: |
16558 次 |
| 最近记录: |