查找实例的外部和内部 IP 地址

了解如何查找实例的外部和内部 IP 地址

准备工作

执行此任务所需的权限

如需执行此任务,您必须拥有以下权限

  • 针对实例的 compute.instances.get 权限

查看 IP 地址

您可以通过 Google Cloud Consolegcloud 命令行工具Compute Engine API 查看 IP 地址。

控制台

要查看实例的内部和外部 IP 地址,请转到“虚拟机实例”页面。

转到“虚拟机实例”页面

显示内部和外部 IP 的虚拟机实例页面的屏幕截图

gcloud

要使用 gcloud compute 查看实例的内部和外部 IP 地址,请使用 instances list 子命令。

gcloud compute instances list

您的输出应与以下内容类似:

NAME              ZONE            MACHINE_TYPE     PREEMPTIBLE  INTERNAL_IP  EXTERNAL_IP    STATUS
hulk              us-central1-c   n1-ultramem-160  true         192.0.2.1                   RUNNING
my-instance       us-central1-c   n1-standard-1                 192.51.100.1  203.224.0.113 RUNNING

要使用 gcloud compute 查看特定实例的内部或外部 IP 地址,请使用带 --format 标志的 instances describe 子命令过滤输出。例如:

  • 要查看特定实例的内部 IP,请运行以下命令:

    gcloud compute instances describe [INSTANCE_NAME] --format='get(networkInterfaces[0].networkIP)'
    
    192.51.100.1
    
  • 要查看特定实例的外部 IP,请运行以下命令:

    
    gcloud compute instances describe [INSTANCE_NAME] --format='get(networkInterfaces[0].accessConfigs[0].natIP)'
    203.224.0.113
    

其中,[INSTANCE_NAME] 是您要查看其内部或外部 IP 的实例的名称。

API

instances.get 方法发出 GET 请求。

https://compute.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/instances/[INSTANCE_NAME]

其中:

  • [ZONE] 是此请求所在区域的名称。
  • [PROJECT_ID] 是此请求的项目 ID。
  • [INSTANCE_NAME] 是要返回的实例资源的名称。

您的响应正文应与以下代码段类似:

{
  ...
  "networkInterfaces": [
    {
      ...
      "networkIP": "192.51.100.1",
      ...
      "accessConfigs": [
        {
          ...
          "name": "external-nat",
          "natIP": "203.224.0.113",
          ...
        }
      ],
      ...
    }
  ],
  ...
}

以下字段包含所需的信息:

  • networkIP 是已分配的内部 IP 地址。
  • natIP 是已分配的外部 IP 地址。