在Compute Engine VM实例中,是否有一个API可以获取每个网络接口的唯一ID,因为在VM元数据中,我所获得的只是VPC网络的api。
答案 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