根據預設,Compute Engine 執行個體會使用 IPv4 位址建立。您可以選擇建立使用 IPv6 位址的運算執行個體。同時具備 IPv4 和 IPv6 設定的 Compute 執行個體稱為雙重堆疊執行個體。除了在網路介面上設定的任何 IPv4 位址之外,還會使用 IPv6 位址。
如果執行個體連線的子網路已設定 IPv6 範圍,您就可以在 Compute Engine 執行個體上設定 IPv6 位址。
您可以為運算執行個體的任何網路介面設定 IPv6 位址。如要進一步瞭解如何設定多個網路介面,請參閱「多個網路介面」。
執行個體網路介面的堆疊類型會決定可連線的子網路類型:
- 僅支援 IPv4 的網路介面可連線至雙重堆疊和僅限 IPv4 的子網路。
- 雙重堆疊網路介面可連線至雙重堆疊子網路。
- 僅限 IPv6 網路介面可連線至雙重堆疊和僅限 IPv6 的子網路 (預先發布版)。
此外,子網路的 IPv6 存取權類型設定會決定子網路是否具有內部或外部 IPv6 範圍。已連線的執行個體會繼承子網路的 IPv6 存取權類型。
您可以建立使用Google Cloud 自動指派的 IPv6 位址,或是使用您指定的 IPv6 位址建立執行個體:
- 針對內部 IPv6,您可以指定靜態內部 IPv6 位址或自訂臨時內部 IPv6 位址。
- 針對外部 IPv6,您可以指定靜態外部 IPv6 位址。
如要進一步瞭解 IPv6 位址,請參閱 IPv6 簡介。
限制
- 僅支援 Ubuntu 和 Debian 作業系統的 IPv6 專用執行個體 (預先發布版)。
事前準備
- 您必須先建立網路和子網路,才能建立運算執行個體。
-
如果尚未設定,請先設定驗證機制。驗證是指驗證身分,以便存取 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
-
After installing the Google Cloud CLI, initialize it by running the following command:
gcloud init
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
- Set a default region and zone.
REST
To use the REST API samples on this page in a local development environment, you use the credentials you provide to the gcloud CLI.
After installing the Google Cloud CLI, initialize it by running the following command:
gcloud init
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
For more information, see Authenticate for using REST in the Google Cloud authentication documentation.
-
必要的角色
如要取得建立含有 IPv6 位址的執行個體所需的權限,請要求管理員為您授予專案的 Compute 執行個體管理員 (v1) (roles/compute.instanceAdmin.v1
) 身分與存取權管理角色。如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和機構的存取權」。
建立雙堆疊執行個體
如要建立內部 IPv4 位址和外部 IPv6 位址的執行個體,請將運算執行個體連結至雙重堆疊子網路。
如果您使用共用虛擬私有雲,且想要建立與共用子網路連線的雙重堆疊執行個體,請參閱共用虛擬私有雲說明文件中的「建立執行個體」一節。
主控台
前往「Create an instance」(建立執行個體) 頁面。
如果出現系統提示,請選取您的專案,然後按一下「Continue」。系統隨即會顯示「Create an instance」頁面,並顯示「Machine configuration」窗格。
在「機器設定」窗格中,執行下列操作:
- 在「Name」欄位中,指定執行個體的名稱。詳情請參閱「命名資源」。
- 選用:在「Zone」(可用區) 欄位中,選取這個執行個體的可用區。在區域中選擇一個含有已設定 IPv6 範圍的子網路的可用區。
選取執行個體的機器系列。Google Cloud Console 隨後會顯示可用於所選機器系列的機器系列。可用的機器系列選項如下:
- 一般用途
- 運算最佳化
- 記憶體最佳化
- 儲存空間最佳化
- GPU
在「系列」欄中,選取執行個體的機器系列。
在「Machine type」(機器類型) 部分中,選取執行個體的機器類型。
在導覽選單中,按一下「Networking」。在隨即顯示的「Networking」窗格中,執行下列操作:
在「Network interfaces」部分,按一下網路介面展開並編輯。
在「Network」(網路) 和「Subnetwork」(子網路) 中,選取已設定 IPv6 範圍的網路和子網路。
在「IP 堆疊類型」中,選取「IPv4 和 IPv6 (雙重堆疊)」。
在「主要內部 IPv4 位址」中,選取下列任一選項:
- 如要指派新的臨時 IPv4 內部位址,請選擇「臨時」。
- 如要指派現有的靜態外部 IP 位址,請從清單中選擇已保留的 IPv4 位址名稱。
- 如要建立及指派新的靜態內部 IPv4 位址,請選擇「保留靜態內部 IPv4 位址」。
選用:在「外部 IPv4 位址」中,選取下列任一選項:
- 如要指派臨時外部 IPv4 位址,請選擇「臨時」。
- 如要建立沒有外部 IPv4 位址的執行個體,請選擇「無」。
- 如要指派現有的靜態外部 IP 位址,請從清單中選擇已保留的 IPv4 位址名稱。
- 如要建立及指派新的靜態外部 IPv4 位址,請選擇「保留靜態外部 IPv4 位址」。
選用:如要設定外部 IPv6 位址,請在「外部 IPv6 位址」中選取下列任一選項:
- 如要指派新的臨時外部 IPv6 位址,請選擇「自動分配」。
- 如要指派現有的靜態外部 IP 位址,請從清單中選擇已保留的 IPv6 位址名稱。
- 如要建立及指派新的靜態外部 IPv6 位址,請選擇「保留靜態外部 IPv6 位址」。
如要完成修改網路介面,請按一下「Done」。
選用:如要設定其他網路介面,請按一下「Add a network interface」(新增網路介面),然後重複「Networking」窗格中的前幾個步驟。
選用:指定其他設定選項。詳情請參閱「建立執行個體時的設定選項」。
如要建立並啟動執行個體,請按一下「建立」。
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
方法,即可從映像檔系列或特定版本的 OS 映像檔建立執行個體。如要指定自訂 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 位址的多 NIC VM 執行個體,您必須先建立下列項目:
- 內部網路和子網路:啟用 IPv6 ULA 的自訂模式虛擬私有雲網路、具有 IPv6 位址範圍的子網路,以及將存取類型設為
internal
。 - 外部網路和子網路:第二個自訂模式虛擬私有雲網路、第二個具有 IPv6 位址範圍的子網路,以及設為
external
的存取類型。
建立執行個體時,您需要設定兩個網路介面,一個是使用內部 IPv6 位址範圍連線至子網路,另一個則是使用外部位址範圍連線至子網路。
如果您使用共用虛擬私有雲,且想要建立與共用子網路連線的 IPv6 專屬執行個體,請參閱共用虛擬私有雲說明文件中的「建立執行個體」一節。
主控台
前往「Create an instance」(建立執行個體) 頁面。
如果出現系統提示,請選取您的專案,然後按一下「Continue」。系統隨即會顯示「Create an instance」頁面,並顯示「Machine configuration」窗格。
在「機器設定」窗格中,執行下列操作:
- 在「Name」欄位中,指定執行個體的名稱。詳情請參閱「命名資源」。
- 選用:在「Zone」(可用區) 欄位中,選取這個執行個體的可用區。在區域中選擇一個含有已設定 IPv6 範圍的子網路的可用區。
選取執行個體的機器系列。Google Cloud 控制台會顯示所選機器系列可用的機器系列。可用的機器系列選項如下:
- 一般用途
- 運算最佳化
- 記憶體最佳化
- 儲存空間最佳化
- GPU
在「系列」欄中,選取執行個體的機器系列。
在「Machine type」(機器類型) 部分中,選取執行個體的機器類型。
在導覽選單中,按一下「Networking」。在隨即顯示的「Networking」窗格中,執行下列操作:
在「Network interfaces」部分,按一下網路介面展開並編輯。
在「Network」(網路) 和「Subnetwork」(子網路) 中,選取已設定 IPv6 範圍的網路和子網路。
子網路的 IPv6 存取類型會決定執行個體是接收內部 IPv6 位址或外部 IPv6 位址。如要指派內部 IPv6 位址,您必須選取使用「Configure a ULA internal IPv6 range for this VPC Network」選項建立的網路。否則,您只能設定外部 IPv6 位址。
針對「IP 堆疊類型」,選取「IPv6 (單一堆疊)」。
如果您選取的子網路存取類型為
Internal
,請選取下列任一項做為「主要內部 IPv6 位址」:- 如要指派新的臨時 IPv6 位址,請選擇「自動分配 (/96)」
- 如要指派現有的靜態內部 IP 位址,請從清單中選擇預留的 IPv6 位址名稱。
- 如要建立及指派新的靜態內部 IPv6 位址,請選擇「保留靜態內部 IPv6 位址」。
如果您選取的子網路存取類型為
External
,請在「外部 IPv6 位址」中選取下列任一選項:- 如要指派新的臨時外部 IPv6 位址,請選擇「自動分配」。
- 如要指派現有的靜態外部 IP 位址,請從清單中選擇已保留的 IPv6 位址名稱。
- 如要建立及指派新的靜態外部 IPv6 位址,請選擇「保留靜態外部 IPv6 位址」。
如要完成修改網路介面,請按一下「Done」。
選用:如要新增其他 IPv6 位址,請按照下列步驟操作:
- 選取「新增網路介面」。
- 針對「Networking」窗格重複執行本任務中的先前步驟。
選用:指定其他設定選項。詳情請參閱「建立執行個體時的設定選項」。
如要建立並啟動執行個體,請按一下「建立」。
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
方法,即可從映像檔系列或特定版本的 OS 映像檔建立執行個體。如要指定自訂 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" }