按照本页中的说明查看计算实例的网络接口、网络、子网和 IP 地址。
准备工作
-
如果您尚未设置身份验证,请进行设置。身份验证是通过其进行身份验证以访问 Google Cloud 服务和 API 的过程。如需从本地开发环境运行代码或示例,您可以选择以下任一选项向 Compute Engine 进行身份验证:
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
-
查看实例的网络配置:
compute.instances.get
在实例上 -
查看实例的 IP 地址:针对项目的
compute.instances.list
权限 在 Google Cloud 控制台中,前往虚拟机实例页面。
可选:使用
Filter 框限制显示的实例数量。如果实例具有外部 IP 地址,则该地址会显示在外部 IP 列下方。
如果实例没有外部 IP 地址,您可以为其分配一个。
gcloud compute instances list
会显示计算实例使用的所有 IP 地址(静态或临时)。gcloud compute addresses list
会显示分配给计算实例的所有预留 IP 地址。如需查看实例的内部和外部 IP 地址,请使用
gcloud compute instances list
命令。gcloud compute instances list
您可以附加
--filter
子句来限制命令返回的实例数量,例如--filter='zone:us-central1-c'
。输出类似于以下内容:
NAME ZONE MACHINE_TYPE PREEMPTIBLE INTERNAL_IP EXTERNAL_IP STATUS webapp1 us-central1-c c3-highmem-88 true 192.0.2.11 RUNNING my-instance us-central1-c n4-standard-2 192.0.2.126 203.0.113.6 RUNNING my-dual-stack us-central1-a e2-micro 192.0.2.54 203.0.113.7 RUNNING 2001:db8:2:2:2:2:2:2/96 new-ipv6-only us-central1-a n4-standard-2 2001:db8:1:1:1:1:1:1/96 RUNNING
如需查看特定实例的内部或外部 IP 地址,请使用带
--format
标志的gcloud compute instances describe
命令过滤输出。内部地址
如需查看特定实例的内部 IP 地址,请使用以下任一命令:
IPv4 地址:
gcloud compute instances describe INSTANCE_NAME \ --zone=ZONE \ --format='get(networkInterfaces[0].networkIP)'
192.0.2.11
IPv6 地址:
gcloud compute instances describe INSTANCE_NAME \ --zone=ZONE \ --format='get(networkInterfaces[0].ipv6Address)'
2001:db8:2:2:2:2:2:2
外部地址
如需查看特定实例的外部 IP 地址,请使用以下任一命令:
IPv4 地址:
gcloud compute instances describe INSTANCE_NAME \ --zone=ZONE \ --format='get(networkInterfaces[0].accessConfigs[0].natIP)'
203.0.113.6
IPv6 地址:
gcloud compute instances describe INSTANCE_NAME \ --zone=ZONE \ --format='get(networkInterfaces[0].ipv6AccessConfigs[0].externalIpv6)'
2001:db8:3:3:3:3:3:3
替换以下内容:
INSTANCE_NAME
:您要查看其内部或外部 IP 地址的实例的名称ZONE
:实例所在可用区的名称。
如果该命令未返回 IP 地址,则表示实例未配置外部 IP 地址。
PROJECT_NAME
:包含实例的项目的名称。ZONE
:您要查询的实例所在的地区。INSTANCE_NAME
:要返回的实例资源的名称。networkIP
:分配的内部 IPv4 地址。natIP
:分配的外部 IPv4 地址。externalIpv6
:分配的外部 IPv6 地址。在 Google Cloud 控制台中,前往虚拟机实例页面。
可选:使用
Filter 框限制显示的实例数量。点击要检查的实例的名称。
在网络部分的网络接口下,您可以看到为实例创建的网络接口 (NIC)、与每个 NIC 关联的网络和子网,以及分配给它们的 IP 地址。
您可以点击 NIC 的名称以打开网络接口详情页面。在此页面上,您可以查看 NIC 使用的防火墙和路由,还可以对 NIC 执行连接性测试。
PROJECT_NAME
:包含实例的项目的名称。ZONE
:您要查询的实例所在的地区。INSTANCE_NAME
:要返回的实例资源的名称。在 Google Cloud 控制台中,前往 VPC 网络页面。
可选:使用
Filter 框限制显示的网络数量。点击要列出计算实例的网络的名称。
选择实例标签页以查看该网络中的实例。
在 Google Cloud 控制台中,前往虚拟机实例页面。
可选:使用
Filter 框限制显示的实例数量。点击要检查的实例的名称。
在网络部分,检查总出站流量带宽层级的值:
TIER_1
:Tier_1 网络已启用。-
:未启用 Tier_1 网络。
PROJECT_NAME
:包含实例的项目的名称。ZONE
:您要查询的实例所在的地区。INSTANCE_NAME
:要返回的实例资源的名称。
REST
如需在本地开发环境中使用本页面上的 REST API 示例,请使用您提供给 gcloud CLI 的凭据。
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
如需了解详情,请参阅 Google Cloud 身份验证文档中的使用 REST 时进行身份验证。
所需的角色
如需获得查看实例网络配置所需的权限,请让您的管理员为您授予项目的 Compute Instance Admin (v1) (
roles/compute.instanceAdmin.v1
) 或 Compute Network Admin (roles/compute.networkAdmin
) IAM 角色。 如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。此预定义角色包含查看实例网络配置所需的权限。如需查看所需的确切权限,请展开所需权限部分:
所需权限
如需查看实例的网络配置,您需要具备以下权限:
查看 IP 地址
您可以查看实例的内部和外部 IP 地址。IP 地址可以是 IPv4 地址或 IPv6 地址。
控制台
根据列显示选项,您可能会看到比上图中显示的列更多的列或更少的列。
gcloud
您可以使用以下两个命令查看实例的 IP 地址:
此任务介绍了如何使用
gcloud compute instances
命令查看 IP 地址。REST
向
instances.get
方法发出GET
请求。 通过将$fields
查询参数附加到请求,您可以将输出限制为仅包含感兴趣的字段。GET https://compute.googleapis.com/compute/v1/projects/PROJECT_NAME/zones/ZONE/instances/INSTANCE_NAME$fields=name,networkInterfaces.networkIP,networkInterfaces.accessConfigs.natIP,networkInterfaces.ipv6AccessConfigs.externalIpv6
替换以下内容:
如果未配置任何 IP 地址,则输出中不会显示该字段。对于使用具有外部 IPv6 地址的双栈网络的计算实例,您的响应正文类似于以下内容:
{ "name": "my-dual-stack-vm", "networkInterfaces": [ { "networkIP": "10.0.0.2", "accessConfigs": [ { "natIP": "104.155.21.204" } ], "ipv6AccessConfigs": [ { "externalIpv6": "2600:1900:4010:8b2:0:0:0:0" } ] } ] }
以下字段包含所需的信息:
Python
Java
查看实例的网络接口
每个计算实例至少有一个网络接口。您可以通过以下方式查看实例网络接口的配置属性。
控制台
gcloud
如需查看计算实例的网络接口 (NIC),请使用
gcloud compute instances describe
命令。您可以将--format
选项附加到该命令,以将返回的信息限制为特定字段,并更改其显示方式,例如:gcloud compute instances describe INSTANCE_NAME --zone=ZONE \ --format="flattened(name,networkInterfaces[].name, networkInterfaces[].network.basename(), networkInterfaces[].stackType, networkInterfaces[].nicType)"
上述命令会返回类似于以下内容的输出:
name: my-multinic-vm networkInterfaces[0].name: nic0 networkInterfaces[0].network: default networkInterfaces[0].nicType: GVNIC networkInterfaces[0].stackType: IPV4_ONLY networkInterfaces[1].name: nic1 networkInterfaces[1].network: appnet-vpc-0 networkInterfaces[1].nicType: GVNIC networkInterfaces[1].stackType: IPV4_IPV6
REST
构建对
instances.get
方法的GET
请求。通过将$fields
查询参数附加到请求,您可以将输出限制为仅包含networkInterfaces
属性。GET https://compute.googleapis.com/compute/v1/projects/PROJECT_NAME/zones/ZONE/instances/INSTANCE_NAME?$fields=networkInterfaces
替换以下内容:
您的响应正文应类似于以下内容:
{ "networkInterfaces": [ { "kind": "compute#networkInterface", "network": "https://www.googleapis.com/compute/v1/projects/my-project/global/networks/network-name-1", "subnetwork": "https://www.googleapis.com/compute/v1/projects/my-project/regions/us-central1/subnetworks/subnet-name-1", "networkIP": "10.128.0.15", "name": "nic0", "accessConfigs": [ { "kind": "compute#accessConfig", "type": "ONE_TO_ONE_NAT", "name": "External NAT", "networkTier": "PREMIUM" } ], "fingerprint": "mBy9xvkWA9M=", "stackType": "IPV4_ONLY", "nicType": "GVNIC" }, { "kind": "compute#networkInterface", "network": "https://www.googleapis.com/compute/v1/projects/my-project/global/networks/network-name-2", "subnetwork": "https://www.googleapis.com/compute/v1/projects/my-project/regions/us-central1/subnetworks/subnet-name-2", "networkIP": "10.0.20.2", "name": "nic1", "accessConfigs": [ { "kind": "compute#accessConfig", "type": "ONE_TO_ONE_NAT", "name": "External NAT", "networkTier": "PREMIUM" } ], "ipv6AccessConfigs": [ { "kind": "compute#accessConfig", "type": "DIRECT_IPV6", "name": "external-ipv6", "externalIpv6": "2600:1900:4000:8447:0:0:0:0", "externalIpv6PrefixLength": 96, "publicPtrDomainName": "", "networkTier": "PREMIUM" } ], "fingerprint": "rx6hfNA94f4=", "stackType": "IPV4_IPV6", "ipv6AccessType": "EXTERNAL", "nicType": "GVNIC" } ] }
查看网络中的所有计算实例
您可以使用以下任一方法查看特定网络中的所有计算实例。
控制台
gcloud
如需查看使用特定网络的计算实例,请使用
gcloud compute instances list
命令。使用
--filter
标志可仅列出使用特定网络的实例。您还可以使用--format
标志来限制和设置结果的格式,例如:gcloud compute instances list \ --filter 'networkInterfaces[].network:NETWORK_NAME' \ --format="table(name:sort=1,machineType.basename(),zone.basename(),networkInterfaces[].subnetwork)"
输出类似于以下内容:
NAME: c2-tier1-multinic MACHINE_TYPE: c2-standard-30 ZONE: us-central1-c SUBNETWORK: ['https://www.googleapis.com/compute/v1/projects/my-project/regions/us-central1/subnetworks/default', 'https://www.googleapis.com/compute/v1/projects/my-project/regions/us-central1/subnetworks/webapps-external-subnet']
NAME: c3-with-lssd MACHINE_TYPE: c3-standard-4-lssd ZONE: us-central1-a SUBNETWORK: ['https://www.googleapis.com/compute/v1/projects/my-project/regions/us-central1/subnetworks/default']
NAME: example-instance3 MACHINE_TYPE: n2-custom-2-163840-ext ZONE: us-central1-b SUBNETWORK: ['https://www.googleapis.com/compute/v1/projects/my-project/regions/us-central1/subnetworks/default']
NAME: n4-test-windows MACHINE_TYPE: n4-standard-2 ZONE: us-central1-c SUBNETWORK: ['https://www.googleapis.com/compute/v1/projects/my-project/regions/us-central1/subnetworks/default']确定是否已启用 Tier_1 网络
使用以下任一方法确定实例是否启用了每个虚拟机的 Tier_1 网络性能。
控制台
gcloud
如需查看实例的
networkPerformanceConfig
设置,请使用gcloud compute instances describe
命令。您可以将--format
选项附加到该命令,以将返回的信息限制为特定字段,并更改其显示方式,例如:gcloud compute instances describe INSTANCE_NAME \ --zone=ZONE \ --format="text(name, networkPerformanceConfig)"
如果未为实例配置 Tier_1 网络,则输出中不会包含
networkPerformanceConfig
字段。如果为实例启用了 Tier_1 网络,则输出类似如下:name: c2-tier1-multinic networkPerformanceConfig.totalEgressBandwidthTier: TIER_1
REST
构建对
instances.get
方法的GET
请求。通过将$fields
查询参数附加到请求,您可以将输出限制为仅包含name
、networkPerformanceConfig
和nicType
字段。GET https://compute.googleapis.com/compute/v1/projects/PROJECT_NAME/zones/ZONE/instances/INSTANCE_NAME?$fields=name,networkPerformanceConfig,networkInterfaces.nicType
替换以下内容:
如果未为实例配置 Tier_1 网络,则输出中不会包含
networkPerformanceConfig
字段。如果为实例启用了 Tier_1 网络,则输出类似如下:{ "name": "c2-tier1-multinic", "networkInterfaces": [ { "nicType": "GVNIC" }, { "nicType": "GVNIC" } ], "networkPerformanceConfig": { "totalEgressBandwidthTier": "TIER_1" } }
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2025-01-07。
-