是否有API可以获取GCP中CM的网络接口的唯一ID?

时间:2019-06-12 03:13:59

标签: google-cloud-platform virtual-machine google-compute-engine

在Compute Engine VM实例中,是否有一个API可以获取每个网络接口的唯一ID,因为在VM元数据中,我所获得的只是VPC网络的api。

2 个答案:

答案 0 :(得分:0)

网络接口似乎是Compute Engine实例的属性。例如,如果我们有一个名称为“ demo1”的计算引擎,然后运行gcloud命令:

gcloud compute instances describe --zone=us-central1-a demo1

我们在结果中发现以下内容:

... snip ...
networkInterfaces:
- accessConfigs:
  - kind: compute#accessConfig
    name: External NAT
    natIP: 35.224.168.99
    networkTier: PREMIUM
    type: ONE_TO_ONE_NAT
  fingerprint: BkeolfdxI4A=
  kind: compute#networkInterface
  name: nic0
  network: https://www.googleapis.com/compute/v1/projects/YOUR-PROJECT/global/networks/default
  networkIP: 10.128.0.2
  subnetwork: https://www.googleapis.com/compute/v1/projects/YOUR-PROJECT/regions/us-central1/subnetworks/default
... snip ...

这样,网络接口的唯一ID可以根据Compute Engine实例的唯一ID和网络接口的名称来构造:

6817424148295517299_nic0

答案 1 :(得分:-1)

如果您需要从项目中的VM实例中检索信息,例如状态,IP或网络接口名称,则可以使用Compute Engine API专门使用方法instance.get,有关详细的文档和小部件,请参阅[1]。在右上角进行测试。

输出将类似于

“ networkInterfaces”:[   {    “ kind”:“ compute#networkInterface”,    “ network”:“ https://www.googleapis.com/compute/v1/projects/YOUR_PROJECT/global/networks/default”,    “ subnetwork”:“ https://www.googleapis.com/compute/v1/projects/YOUR_PROJECT/regions/YOUR_REGION/subnetworks/default”,    “ networkIP”:“ X.X.X.X”,    “ name”:“ NIC_NAME”,    “ accessConfigs”:[     {      “ kind”:“ compute#accessConfig”,      “ type”:“ ONE_TO_ONE_NAT”,      “ name”:“ EXTERNAL_NIC_NAME”,      “ natIP”:“ X.X.X.X”,      “ networkTier”:“ PREMIUM”     }

您将需要以下信息来运行此命令。

1)项目编号 2)实例区域 3)实例名称

您可以按照以下步骤获取项目ID。

1)访问www.cloud.google.com 2)使用您的帐户登录 3)单击项目名称旁边的箭头(顶部的蓝色横幅) 4)将打开一个带有“ ID”列的弹出窗口

请访问[2]以查看使用Compute Engine API的必备条件。

[1] https://cloud.google.com/compute/docs/reference/rest/v1/instances/get [2] https://cloud.google.com/compute/docs/api/prereqs