Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google cloud platform 如何获取GCP组织中的所有外部IP地址?_Google Cloud Platform - Fatal编程技术网

Google cloud platform 如何获取GCP组织中的所有外部IP地址?

Google cloud platform 如何获取GCP组织中的所有外部IP地址?,google-cloud-platform,Google Cloud Platform,我想获得我的GCP组织中的所有外部IP地址。这些信息似乎可以在VPC network>External IP Addresses下的GCP控制台中找到,但我似乎找不到导出这些信息的API或方法 我尝试过GCLOUD命令行工具,但它只列出静态ip地址。我还需要临时地址:gcloud计算地址列表 Go GCP Compute API也有同样的功能。谷歌云使用范围广泛的IP地址,这些地址会随着时间的推移而变化。根据这一点,最近的方法是使用DNS查找命令(nslookup、dig、或host)手动清理多

我想获得我的GCP组织中的所有外部IP地址。这些信息似乎可以在VPC network>External IP Addresses下的GCP控制台中找到,但我似乎找不到导出这些信息的API或方法

我尝试过GCLOUD命令行工具,但它只列出静态ip地址。我还需要临时地址:
gcloud计算地址列表


Go GCP Compute API也有同样的功能。

谷歌云使用范围广泛的IP地址,这些地址会随着时间的推移而变化。根据这一点,最近的方法是使用DNS查找命令(
nslookup
dig
、或
host
)手动清理多个地址,并与静态地址进行比较,找出临时地址

话虽如此,如果可以在命令
gcloud compute addresses list
中添加一个标记以列出临时IP,则正在评估此功能的公共跟踪器:


下面是另一个相关主题:

谷歌云中有两种类型的公共(外部)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:


要实现这一目标,您可以使用这样的方法

PROJECTS=$(gcloud projects list --format="value(name)")

for project in $PROJECTS
do
    if [[ $(gcloud services list --project $project --format="table(NAME)" | sed '1d') =~ "compute.googleapis.com" ]];then
       echo $project
       gcloud compute addresses list --project $project --global
    fi
done

正如在以前的答复中提到的那样,没有简单的方法可以获得这些信息

我在自己的项目中尝试了一些命令,我可以列出实例上的所有外部临时IP:

gcloud compute instances describe INTANCE_NAME --format='get(networkInterfaces[0].accessConfigs[0].natIP)' --zone ZONE
gcloud compute instances list --format='table(EXTERNAL_IP)'
我还发现了另一个地方,他们的要求与你提到的几乎相同,你可以在那里看一看并发表评论