默认情况下,Compute Engine 实例是使用 IPv4 地址创建的。您可以选择创建使用 IPv6 地址的计算实例。同时具有 IPv4 和 IPv6 配置的计算实例称为双栈实例。IPv6 地址是在网络接口上配置的 IPv4 地址之外的附加地址。
如果 Compute Engine 实例所连接的子网已配置 IPv6 范围,则您可以在该实例上配置 IPv6 地址。
计算实例上的任何网络接口都可以配置 IPv6 地址。如需详细了解如何配置多个网络接口,请参阅多个网络接口。
实例网络接口的堆栈类型决定了它可以连接到的子网的类型:
- 仅 IPv4 的网络接口可以连接到双栈子网和仅 IPv4 的子网。
- 双栈网络接口可以连接到双栈子网。
- 仅限 IPv6 的网络接口可以连接到双栈子网和仅限 IPv6 的子网(预览版)。
此外,子网的 IPv6 访问类型配置决定了该子网是具有内部还是外部 IPv6 范围。连接的实例将继承子网的 IPv6 访问类型。
您可以创建使用Google Cloud 自动分配的 IPv6 地址或您手动指定的 IPv6 地址的实例。您可以指定静态 IPv6 地址或自定义临时 IPv6 地址。
如需详细了解 IPv6 地址,请参阅 IPv6 概览。
限制
- 仅限 IPv6 的实例(预览版)仅支持 Ubuntu 和 Debian 操作系统。
准备工作
- 您必须先创建网络和子网,然后再创建计算实例。
-
如果您尚未设置身份验证,请进行设置。身份验证是通过其进行身份验证以访问 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
-
安装 Google Cloud CLI。 安装完成后,运行以下命令来初始化 Google Cloud CLI:
gcloud init
如果您使用的是外部身份提供方 (IdP),则必须先使用联合身份登录 gcloud CLI。
- Set a default region and zone.
REST
如需在本地开发环境中使用本页面上的 REST API 示例,请使用您提供给 gcloud CLI 的凭证。
安装 Google Cloud CLI。 安装完成后,运行以下命令来初始化 Google Cloud CLI:
gcloud init
如果您使用的是外部身份提供方 (IdP),则必须先使用联合身份登录 gcloud CLI。
如需了解详情,请参阅 Google Cloud 身份验证文档中的使用 REST 时进行身份验证。
所需的角色
如需获得创建具有 IPv6 地址的实例所需的权限,请让您的管理员为您授予项目的 Compute Instance Admin (v1) (
roles/compute.instanceAdmin.v1
) IAM 角色。如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。创建双栈实例
如需创建具有内部 IPv4 地址和外部 IPv6 地址的实例,请将计算实例连接到双栈子网。
如果您使用共享 VPC,并且想要创建连接到共享子网的双栈实例,请参阅共享 VPC 文档中的创建实例。
控制台
转到创建实例页面。
如果出现提示,请选择您的项目并点击继续。 此时将显示创建实例页面,并显示机器配置窗格。
在机器配置窗格中,执行以下操作:
- 在名称字段中,指定实例的名称。如需了解详情,请参阅命名资源。
- 可选:在可用区字段中,为此实例选择可用区。 选择一个区域,其中包含已配置 IPv6 范围的子网。
为您的实例选择机器家族。然后, Google Cloud 控制台会显示适用于所选机器家族的机器系列。以下机器家族选项可供选择:
- 通用
- 计算优化
- 内存优化
- 存储优化
- GPU 数量
在系列列中,选择实例的机器系列。
在机器类型部分中,为实例选择机器类型。
在导航菜单中,点击网络。在显示的网络窗格中,执行以下操作:
在网络接口部分中,点击相应网络接口以展开并进行修改。
对于网络和子网,请选择已配置 IPv6 范围的网络和子网。
对于 IP 栈类型,请选择 IPv4 和 IPv6(双栈)。
在主要内部 IPv4 地址字段中,选择以下选项之一:
- 如需分配新的临时 IPv4 内部地址,请选择临时。
- 如需分配现有的静态外部 IP 地址,请从列表中选择预留的 IPv4 地址的名称。
- 如需创建和分配新的静态内部 IPv4 地址,请选择预留静态内部 IPv4 地址。
可选:对于外部 IPv4 地址,选择以下选项之一:
- 如需分配临时外部 IPv4 地址,请选择临时。
- 如需创建不含外部 IPv4 地址的实例,请选择无。
- 如需分配现有的静态外部 IP 地址,请从列表中选择预留的 IPv4 地址的名称。
- 如需创建和分配新的静态外部 IPv4 地址,请选择预留静态外部 IPv4 地址。
可选:如需配置外部 IPv6 地址,请在外部 IPv6 地址下选择以下选项之一:
- 如需分配新的临时外部 IPv6 地址,请选择自动分配。
- 如需分配现有的静态外部 IP 地址,请从列表中选择预留的 IPv6 地址的名称。
- 如需创建和分配新的静态外部 IPv6 地址,请选择预留静态外部 IPv6 地址。
如需完成网络接口的修改,请点击完成。
可选:如需配置其他网络接口,请点击添加网络接口,然后在网络窗格中重复前面的步骤。
可选:指定其他配置选项。如需了解详情,请参阅实例创建期间的配置选项。
要创建并启动该实例,请点击创建。
gcloud
使用
gcloud compute instances create
命令来创建实例。 如需指定自定义 IPv6 地址,请添加internal-ipv6-address
和external-ipv6-address
标志。如果未指定, Google Cloud会自动为该实例分配临时 IPv6 地址。gcloud compute instances create INSTANCE_NAME \ --subnet=SUBNET_NAME \ --zone=ZONE \ --stack-type=IPV4_IPV6
替换以下内容:
INSTANCE_NAME
:实例的名称SUBNET_NAME
:要将实例连接到的子网;该子网必须具有 IPv6 子网范围ZONE
:要部署实例的区域
REST
- 选择一个映像。请记下映像或映像系列的名称以及包含该映像的项目的名称。
使用
instances.insert
方法,根据映像系列或特定版本的操作系统映像创建实例。如需指定自定义 IPv6 地址,请添加networkInterfaces[].ipv6Address
和networkInterfaces[].ipv6AccessConfigs[].externalIpv6
字段。如果未指定, Google Cloud会自动为该实例分配临时 IPv6 地址。在使用任何请求数据之前,请先进行以下替换:
PROJECT_ID
:要创建实例的项目的 ID。ZONE
:要创建实例的可用区。MACHINE_TYPE_ZONE
:如果使用自定义机器类型,请指定包含该类型的可用区以供新实例使用;否则,请指定要创建实例的可用区。MACHINE_TYPE
:新实例使用的机器类型(预定义或自定义),例如n4-standard-2
INSTANCE_NAME
:新实例的名称REGION
:子网所在的区域SUBNET
:双栈子网IMAGE_PROJECT
(可选):映像所在的映像项目。IMAGE
(可选):指定以下其中一项:
HTTP 方法和网址:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances
请求 JSON 正文:
{ "machineType": "zones/MACHINE_TYPE_ZONE/machineTypes/MACHINE_TYPE", "name": "INSTANCE_NAME", "networkInterfaces": [ { "subnetwork": "regions/REGION/subnetworks/SUBNET", "stackType": "IPV4_IPV6" } ], "disks": [ { "initializeParams": { "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE" }, "boot": true } ], }
如需发送您的请求,请展开以下选项之一:
您应该收到类似以下内容的 JSON 响应:
{ "kind": "compute#operation", "id": "9216044482154695709", "name": "operation-1739207409646-62dccc7d7bc58-d1350b42-64fdb7f7", "zone": "https://www.googleapis.com/compute/{api_version}/projects/`PROJECT_ID`/zones/`ZONE`", "operationType": "insert", "targetLink": "https://www.googleapis.com/compute/{api_version}/projects/`PROJECT_ID`/zones/`ZONE`/instances/`INSTANCE_NAME`", "targetId": "2679381553616227357", "status": "RUNNING", "user": "USER_ID", "progress": 0, "insertTime": "2025-02-10T09:10:10.551-08:00", "startTime": "2025-02-10T09:10:10.551-08:00", "selfLink": "https://www.googleapis.com/compute/{api_version}/projects/`PROJECT_ID`/zones/`ZONE`/operations/operation-1565289606387-58f9f62f5989c-e582f586-6d22f38" "kind": "compute#operation" }
创建仅限 IPv6 的实例
如需创建仅限 IPv6 的实例,请按照本部分中的步骤操作。
对于具有单个网络接口的 Compute Engine 实例,系统可为其分配内部或外部 IPv6 地址,具体取决于其接口所连接网络的访问类型。您必须创建一个自定义模式的虚拟私有云 (VPC) 网络,并在其中配置具有 IPv6 地址范围的子网。
在创建同时使用内部和外部 IPv6 地址的多网卡虚拟机实例之前,您必须创建以下内容:
- 内部网络和子网:启用了 IPv6 ULA 的自定义模式 VPC 网络、具有 IPv6 地址范围的子网,以及访问权限类型设置为
internal
。 - 外部网络和子网:第二个自定义模式 VPC 网络、具有 IPv6 地址范围的第二个子网,以及访问权限类型设置为
external
。
创建实例时,您需要配置两个网络接口,一个连接到具有内部 IPv6 地址范围的子网,另一个连接到具有外部地址范围的子网。
如果您使用共享 VPC,并希望创建仅使用 IPv6 且连接至共享子网的实例,请参阅共享 VPC 文档中的创建实例。
控制台
转到创建实例页面。
如果出现提示,请选择您的项目并点击继续。 此时将显示创建实例页面,并显示机器配置窗格。
在机器配置窗格中,执行以下操作:
- 在名称字段中,指定实例的名称。如需了解详情,请参阅命名资源。
- 可选:在可用区字段中,为此实例选择可用区。 选择一个区域,其中包含已配置 IPv6 范围的子网。
为您的实例选择机器家族。然后,Google Cloud 控制台会显示适用于所选机器家族的机器系列。以下机器家族选项可供选择:
- 通用
- 计算优化
- 内存优化
- 存储优化
- GPU 数量
在系列列中,选择实例的机器系列。
在机器类型部分中,为实例选择机器类型。
在导航菜单中,点击网络。在显示的网络窗格中,执行以下操作:
在网络接口部分中,点击相应网络接口以展开并进行修改。
对于网络和子网,请选择已配置 IPv6 范围的网络和子网。
子网的 IPv6 访问类型决定实例是接收内部 IPv6 地址还是外部 IPv6 地址。如需分配内部 IPv6 地址,您必须选择使用为此 VPC 网络配置 ULA 内部 IPv6 范围选项创建的网络。否则,您只能配置外部 IPv6 地址。
对于 IP 栈类型,选择 IPv6(单栈)。
如果您选择的子网的访问权限类型为
Internal
,请在主要内部 IPv6 地址字段中选择以下选项之一:- 如需自动分配新的临时 IPv6 地址,请选择临时(自动)。
- 如需手动指定新的临时 IPv6 地址,请选择临时(自定义)。
- 如需分配现有的静态内部 IP 地址,请从列表中选择预留的 IPv6 地址的名称。
- 如需创建和分配新的静态内部 IPv6 地址,请选择预留静态内部 IPv6 地址。
如果您选择的子网的访问类型为
External
,请针对外部 IPv6 地址选择以下选项之一:- 如需分配新的临时外部 IPv6 地址,请选择自动分配。
- 如需分配现有的静态外部 IP 地址,请从列表中选择预留的 IPv6 地址的名称。
- 如需创建和分配新的静态外部 IPv6 地址,请选择预留静态外部 IPv6 地址。
如需完成网络接口的修改,请点击完成。
可选:如需添加其他 IPv6 地址,请执行以下操作:
- 选择添加网络接口。
- 在网络窗格中重复此任务中的前面步骤。
可选:指定其他配置选项。如需了解详情,请参阅实例创建期间的配置选项。
要创建并启动该实例,请点击创建。
gcloud
使用
gcloud beta compute instances create
命令来创建实例。 如需同时分配内部和外部 IPv6 地址,必须在创建实例时配置至少两个网络接口。如需指定自定义 IPv6 地址,请添加internal-ipv6-address
和external-ipv6-address
标志。如果未指定, Google Cloud会自动为该实例分配临时 IPv6 地址。gcloud beta compute instances create INSTANCE_NAME \ --zone ZONE \ --machine-type=MACHINE_TYPE \ --create-disk=boot=yes,image='projects/IMAGE_PROJECT/global/images/IMAGE',size=SIZE \ --network-interface=subnet=SUBNET_INTERNAL_NAME,stack-type=IPV6_ONLY \ --network-interface=subnet=SUBNET_EXTERNAL_NAME,stack-type=IPV6_ONLY,ipv6-network-tier=PREMIUM
替换以下内容:
INSTANCE_NAME
:实例的名称ZONE
:在其中创建实例的可用区,例如europe-west1-b
。实例的区域是根据地区推断出来的。MACHINE_TYPE
(可选):新实例使用的机器类型(预定义或自定义)。例如n4-standard-2
。IMAGE_PROJECT
(可选):映像所在的映像项目。IMAGE
(可选):指定以下其中一项:SIZE
(可选):新磁盘的大小。 该值必须是整数。默认的计量单位为 GiB。SUBNET_INTERNAL_NAME
:为与实例搭配使用的内部 IP 地址配置的子网的名称。SUBNET_EXTERNAL_NAME
:为实例配置的外部 IP 地址的子网名称。
REST
- 选择一个映像。请记下映像或映像系列的名称以及包含该映像的项目的名称。
使用
instances.insert
方法,根据映像系列或特定版本的操作系统映像创建实例。如需指定自定义 IPv6 地址,请添加networkInterfaces[].ipv6Address
和networkInterfaces[].ipv6AccessConfigs[].externalIpv6
字段。如果未指定, Google Cloud会自动为该实例分配临时 IPv6 地址。在使用任何请求数据之前,请先进行以下替换:
PROJECT_ID
:要创建实例的项目的 ID。ZONE
:要创建实例的可用区。MACHINE_TYPE_ZONE
:如果使用自定义机器类型,请指定包含该类型的可用区以供新实例使用;否则,请指定要创建实例的可用区。MACHINE_TYPE
:新实例使用的机器类型(预定义或自定义),例如n4-standard-2
INSTANCE_NAME
:新实例的名称REGION
:子网所在的区域SUBNET_INTERNAL
:仅限 IPv6 的子网。此子网所属的网络必须设置为INTERNAL
访问类型,并启用 IPv6 ULA。SUBNET_EXTERNAL
:仅限 IPv6 的子网。此子网所属的网络必须设置为INTERNAL
访问类型。IMAGE_PROJECT
(可选):映像所在的映像项目。IMAGE
(可选):指定以下其中一项:
HTTP 方法和网址:
POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/instances
请求 JSON 正文:
{ "machineType": "zones/MACHINE_TYPE_ZONE/machineTypes/MACHINE_TYPE", "name": "INSTANCE_NAME", "networkInterfaces": [ { "subnetwork": "regions/REGION/subnetworks/SUBNET_INTERNAL", "stackType": "IPV6_ONLY" }, { "subnetwork": "regions/REGION/subnetworks/SUBNET_EXTERNAL", "stackType": "IPV6_ONLY" } ], "disks": [ { "initializeParams": { "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE" }, "boot": true } ] }
如需发送您的请求,请展开以下选项之一:
您应该收到类似以下内容的 JSON 响应:
{ "kind": "compute#operation", "id": "9216044482154695709", "name": "operation-1739207409646-62dccc7d7bc58-d1350b42-64fdb7f7", "zone": "https://www.googleapis.com/compute/beta/projects/`PROJECT_ID`/zones/`ZONE`", "operationType": "insert", "targetLink": "https://www.googleapis.com/compute/beta/projects/`PROJECT_ID`/zones/`ZONE`/instances/`INSTANCE_NAME`", "targetId": "2679381553616227357", "status": "RUNNING", "user": "USER_ID", "progress": 0, "insertTime": "2025-02-10T09:10:10.551-08:00", "startTime": "2025-02-10T09:10:10.551-08:00", "selfLink": "https://www.googleapis.com/compute/beta/projects/`PROJECT_ID`/zones/`ZONE`/operations/operation-1565289606387-58f9f62f5989c-e582f586-6d22f38" "kind": "compute#operation" }
后续步骤
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2025-08-30。
-