您也可以選擇要附加的現有磁碟,做為非開機磁碟。
如果您想以多重寫入模式建立磁碟,就無法在建立執行個體時一併建立磁碟。您必須先建立磁碟,才能將磁碟連結至執行個體。
事前準備
-
如果尚未設定,請先設定驗證機制。驗證是指驗證身分,以便存取 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.
-
必要的角色
如要取得建立含有新增非開機磁碟的執行個體所需的權限,請要求管理員為您授予專案的 Compute 執行個體管理員 (v1) (roles/compute.instanceAdmin.v1
) IAM 角色。如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和機構的存取權」。
這個預先定義的角色包含建立含有額外非啟動磁碟的執行個體所需的權限。如要查看確切的必要權限,請展開「必要權限」部分:
所需權限
如要建立含有新增非啟動磁碟的執行個體,您必須具備下列權限:
-
compute.instances.create
專案 -
如要為執行個體建立新磁碟,請按照下列步驟操作:
compute.disks.create
專案
使用新的額外非開機磁碟建立執行個體
如要建立已建立及連結額外非開機磁碟的執行個體,請按照下列步驟操作:
主控台
前往 Google Cloud 控制台的「Create an instance」(建立執行個體) 頁面。
前往「Create an instance」(建立執行個體)
如果出現系統提示,請選取您的專案,然後按一下 [Continue] (繼續)。
系統隨即會顯示「Create an instance」(建立執行個體) 頁面,並顯示「Machine configuration」(機器設定) 窗格。
在「機器設定」窗格中,執行下列操作:
- 在「Name」欄位中,指定執行個體的名稱。詳情請參閱「資源命名慣例」。
選用:在「Zone」(可用區) 欄位中,選取這個執行個體的可用區。
預設選項為「任何」。如果您沒有變更這個預設選項,Google 會根據機器類型和可用性自動為您選擇可用區。
選取執行個體的機器系列。Google Cloud 控制台隨即會顯示所選機器家族可用的機器系列。可用的機器系列選項如下:
- 一般用途
- 運算最佳化
- 記憶體最佳化
- 儲存空間最佳化
- GPU
在「系列」欄中,選取執行個體的機器系列。
如果您在上一個步驟中選取「GPU」做為機器系列,請選取所需的「GPU 類型」。系統會自動為所選 GPU 類型選取機器系列。
在「Machine type」(機器類型) 部分中,選取執行個體的機器類型。
在導覽選單中,按一下「OS 和儲存空間」。在隨即顯示的「Operating system and storage」(作業系統和儲存空間) 窗格中,完成下列步驟。
如要進一步瞭解新增磁碟時可設定的參數,請參閱「關於永久磁碟」和「關於 Google Cloud Hyperdisk」。
如要設定開機磁碟,請按一下「變更」。系統會顯示「Boot disk」窗格,並顯示「Public images」分頁。
使用下列其中一種方式設定開機磁碟的資料來源:
如要選擇公開映像檔做為開機磁碟的資料來源,請在「Public images」(公開映像檔) 分頁中指定下列項目:
- 在「Operating system」(作業系統) 清單中選取 OS 類型。
- 在「Version」清單中,選取 OS 版本。
- 在「Boot disk type」(開機磁碟類型)清單中,選取開機磁碟類型。
- 在「Size (GB)」(大小 (GB)) 欄位中,指定開機磁碟的大小。
如要選擇自訂映像檔做為開機磁碟的資料來源,請按一下「Custom images」,然後在隨即顯示的「Custom images」分頁中指定下列項目:
- 如要選取圖片專案,請按一下「變更」,然後選取含有圖片的專案。
- 在「圖片」清單中選取要匯入的圖片。
- 在「Boot disk type」(開機磁碟類型)清單中,選取開機磁碟類型。
- 在「Size (GB)」(大小 (GB)) 欄位中,指定開機磁碟的大小。
如要選擇標準快照做為啟動磁碟的資料來源,請按一下「快照」,然後在隨即顯示的「快照」分頁中指定下列項目:
- 在「Snapshot」清單中選取快照。
- 在「Boot disk type」(開機磁碟類型)清單中,選取開機磁碟類型。
- 在「Size (GB)」(大小 (GB)) 欄位中,指定開機磁碟的大小。
如要選擇封存快照做為啟動磁碟的資料來源,請按一下「封存快照」,然後在隨即顯示的「封存快照」分頁中指定下列項目:
- 在「封存快照」清單中,選取封存快照。
- 在「Boot disk type」(開機磁碟類型)清單中,選取開機磁碟類型。
- 在「Size (GB)」(大小 (GB)) 欄位中,指定開機磁碟的大小。
如要選擇現有磁碟做為開機磁碟,請按一下「Existing disks」。接著,在隨即顯示的「現有磁碟」分頁中,選取「磁碟」清單中的現有地區性永久磁碟或 Hyperdisk 平衡高可用性磁碟區。
選用步驟:如要查看進階設定選項,請展開「
」顯示進階設定部分。如要確認開機磁碟選項並返回「Operating system and storage」(作業系統和儲存空間) 窗格,請按一下「Select」(選取)。
如要建立新的非開機磁碟並連接至執行個體,請在「額外儲存空間和 VM 備份」區段中,按一下「新增磁碟」。
在隨即顯示的「Add new disk」窗格中,執行下列操作:
- 在「Name」欄位中,指定非開機磁碟的名稱。
- 在「Disk source type」(磁碟來源類型) 清單中,選取非開機磁碟的來源類型。
- 在「磁碟類型」清單中,選取非開機磁碟的類型。
- 在「Size」欄位中,指定非開機磁碟的大小。
- 在「附件設定」專區,執行以下操作:
- 在「Mode」欄位中,選取磁碟連結模式。
- 在「Deletion rule」欄位中,選取一個選項,指定在刪除執行個體時,磁碟會發生什麼事。
針對要建立並連接至執行個體的每個非開機磁碟重複執行這個步驟。
在導覽選單中,按一下「資料保護」。在隨即顯示的「資料保護」窗格中,按照下列步驟指定要如何備份及複製執行個體的資料。
- 如要指定資料的備份方式,請選取「備份資料」的選項。
如要指定資料複製方式,請按照下列步驟操作:
- 如果您想使用地區磁碟類型,讓執行個體的新磁碟在第二個可用區中同步複製,請選取「Regional disks」核取方塊。
- 如果您希望使用 Persistent Disk 非同步複製功能,在第二個區域複製執行個體的磁碟,請選取「非同步複製」核取方塊。
如果您只想在非開機磁碟上使用指定的資料保護選項,請勾選「排除開機磁碟」核取方塊。
在導覽選單中,按一下「Networking」。在隨即顯示的「Networking」窗格中,執行下列操作:
- 前往「防火牆」部分。
如要允許執行個體接收 HTTP 或 HTTPS 流量,請選取「Allow HTTP traffic」或「Allow HTTPS traffic」。
Compute Engine 會將網路標記新增至執行個體,並建立對應輸入防火牆規則,允許所有流量傳入
tcp:80
(HTTP) 或tcp:443
(HTTPS)。網路標記會建立防火牆規則與執行個體之間的關聯。詳情請參閱 Cloud Next Generation Firewall 說明文件中的「防火牆規則總覽」一文。
選用:指定其他設定選項。詳情請參閱「建立執行個體時的設定選項」。
如要建立並啟動執行個體,請按一下「建立」。
gcloud
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
執行
gcloud compute instances create
指令,建立具有額外非開機磁碟的執行個體。建立執行個體時,您最多可以加入 127 個非開機磁碟。請為您建立的每個非開機磁碟指定
--create-disk
旗標。如要透過公開或庫存映像檔建立非開機磁碟,請使用
--create-disk
標記指定image
或image-family
和image-project
屬性。如要建立空白磁碟,請勿加入這些屬性。您可以選擇加入下列屬性:
- 磁碟大小:使用
--size
屬性。 - 磁碟類型:使用
--type
屬性。 - 區域磁碟:納入
replica-zones
屬性。
gcloud compute instances create INSTANCE_NAME \ --zone=ZONE \ --image-project=IMAGE_PROJECT \ IMAGE_FLAG \ --create-disk DISK_IMAGE,image-project=DISK_IMAGE_PROJECT,size=SIZE_GB,type=DISK_TYPE \ --create-disk device-name=DISK_NAME,replica-zones=^:^ZONE:REMOTE-ZONE,boot=false
更改下列內容:
INSTANCE_NAME
:新執行個體的名稱ZONE
:要建立執行個體的可用區IMAGE_PROJECT
:包含圖片的專案IMAGE_FLAG
:指定下列其中一個值:使用
--image IMAGE_NAME
標記指定公開或自訂圖片的特定版本。例如:--image debian-12-bookworm-v20241112
。使用
--image-family IMAGE_FAMILY_NAME
標記指定映像檔系列。這會建立使用映像檔系列中未淘汰的最新 OS 映像檔的執行個體。舉例來說,如果您指定--image-family debian-12
,則 Compute Engine 會在建立執行個體時,使用 Debian 12 映像檔系列中的最新 OS 映像檔。
針對其他磁碟,請替換下列項目:
DISK_IMAGE
:請指定下列其中一個值:image=DISK_IMAGE_NAME
:建立非開機磁碟時要使用的映像檔名稱image-family=DISK_IMAGE_FAMILY
>:建立非開機磁碟時要使用的映像檔系列
DISK_IMAGE_PROJECT
:磁碟映像檔所屬的映像檔專案SIZE_GB
:選用:非開機磁碟的大小DISK_TYPE
:選用:磁碟的類型完整或部分網址例如,
https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/diskTypes/hyperdisk-balanced
。如要查看一或多個區域的可用磁碟類型,請使用gcloud compute disk-types list --zones=ZONE_LIST
指令。將ZONE_LIST
替換為以半形逗號分隔的區域清單。DISK_NAME
:選用:在建立執行個體後,向客體 OS 顯示的磁碟名稱。REMOTE_ZONE
:磁碟應複製至的區域
如果是空白磁碟,請勿指定
image
、image-project
或image-family
參數。如果是區域磁碟,請勿指定磁碟屬性
replica-zones
。
- 磁碟大小:使用
Terraform
如要產生 Terraform 程式碼,您可以使用 Google Cloud 控制台中的「等效程式碼」元件。- 前往 Google Cloud 控制台的「VM instances」(VM 執行個體) 頁面。
- 點選「建立執行個體」。
- 指定所需參數。
- 在頁面頂端或底部,按一下「等效程式碼」,然後點選「Terraform」分頁標籤,即可查看 Terraform 程式碼。
Go
在試用這個範例之前,請先按照 使用用戶端程式庫的 Compute Engine 快速入門中的操作說明設定 Go。詳情請參閱 Compute Engine Go API 參考資料說明文件。
如要向 Compute Engine 進行驗證,請設定應用程式預設憑證。詳情請參閱「為本機開發環境設定驗證機制」。
Java
在試用這個範例之前,請先按照 使用用戶端程式庫的 Compute Engine 快速入門中的操作說明設定 Java。詳情請參閱 Compute Engine Java API 參考資料說明文件。
如要向 Compute Engine 進行驗證,請設定應用程式預設憑證。詳情請參閱「為本機開發環境設定驗證機制」。
Node.js
在試用這個範例之前,請先按照 使用用戶端程式庫的 Compute Engine 快速入門中的操作說明設定 Node.js。詳情請參閱 Compute Engine Node.js API 參考資料說明文件。
如要向 Compute Engine 進行驗證,請設定應用程式預設憑證。詳情請參閱「為本機開發環境設定驗證機制」。
Python
在試用這個範例之前,請先按照 使用用戶端程式庫的 Compute Engine 快速入門中的操作說明設定 Python。詳情請參閱 Compute Engine Python API 參考資料說明文件。
如要向 Compute Engine 進行驗證,請設定應用程式預設憑證。詳情請參閱「為本機開發環境設定驗證機制」。
REST
建立執行個體時,您可以針對每個額外磁碟使用 initializeParams
屬性,最多建立 127 個非開機磁碟。請使用公開或私人映像檔建立額外磁碟。如要新增空白磁碟,請不要使用 sourceImage
值定義 initializeParams
項目。
加入磁碟屬性 replicaZones
即可建立地區磁碟,而非區域磁碟。
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID
/zones/ZONE
/instances { "machineType":"zones/MACHINE_TYPE_ZONE/machineTypes/MACHINE_TYPE", "name":"VM_NAME
", "disks":[ { "initializeParams":{ "sourceImage":"projects/IMAGE_PROJECT/global/images/IMAGE" }, "boot":true }, { "initializeParams":{ "diskSizeGb":"SIZE_GB", "sourceImage":"projects/DISK_IMAGE_PROJECT/global/images/DISK_IMAGE", "diskType":"DISK_TYPE" } }, { "initializeParams":{ "diskSizeGb":"SIZE_GB", "diskType":"DISK_TYPE" }, }, { "boot": false, "deviceName":"DISK_NAME", "initializeParams": { "diskType": "DISK_TYPE", "replicaZones": [ "projects/PROJECT_ID/zones/ZONE", "projects/PROJECT_ID/zones/REMOTE_ZONE" ] } } ], "networkInterfaces":[ { "network":"global/networks/NETWORK_NAME" } ], "shieldedInstanceConfig":{ "enableSecureBoot":"ENABLE_SECURE_BOOT" } }
更改下列內容:
PROJECT_ID
:要建立 VM 的專案 IDZONE
:建立 VM 的可用區MACHINE_TYPE_ZONE
:包含要用於新 VM 的機器類型MACHINE_TYPE
:新 VM 的機器類型,可為預先定義或自訂VM_NAME
:新 VM 的名稱IMAGE_PROJECT
:包含圖片的專案
例如,如果您將debian-10
指定為圖片系列,請將debian-cloud
指定為圖片專案。IMAGE
:請指定下列任一值:IMAGE
:公開映像檔的特定版本例如:
"sourceImage": "projects/debian-cloud/global/images/debian-10-buster-v20200309"
IMAGE_FAMILY
:圖片系列這會根據最新的非淘汰作業系統映像檔建立 VM。舉例來說,如果您指定
"sourceImage": "projects/debian-cloud/global/images/family/debian-10"
,Compute Engine 會使用Debian 10
映像檔系列中的最新 OS 映像檔建立 VM。
-
針對其他磁碟,請替換下列項目:
SIZE_GB
:磁碟大小DISK_IMAGE
或DISK_IMAGE_FAMILY
:為非開機磁碟指定來源映像檔或映像檔系列:DISK_IMAGE
:您要用來做為非開機磁碟的映像檔名稱。例如"sourceImage": "projects/DISK_IMAGE_PROJECT/global/images/DISK_IMAGE"
。DISK_IMAGE_FAMILY
:用來做為非開機磁碟的映像檔系列。例如"sourceImage": "projects/DISK_IMAGE_PROJECT/global/images/family/DISK_IMAGE_FAMILY"
。
DISK_TYPE
:磁碟類型的type 完整或部分網址。例如:https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/diskTypes/hyperdisk-balanced
。DISK_NAME
:選用。在建立 VM 後,向客體作業系統顯示的磁碟名稱。REMOTE_ZONE
:要複製區域磁碟的區域
如果是空白磁碟,請勿指定
sourceImage
屬性。如果是區塊磁碟,請勿指定
replicaZones
屬性。 NETWORK_NAME
:您要用於 VM 的 VPC 網路。您可以指定default
來使用預設網路。ENABLE_SECURE_BOOT
:選用:如果您選擇支援受防護 VM 功能的映像檔,Compute Engine 預設會啟用虛擬信任平台模組 (vTPM) 和完整性監控。Compute Engine 預設不會啟用安全啟動。如果您為
enableSecureBoot
指定true
,Compute Engine 會建立 VM,並啟用所有三種受防護的 VM 功能。在 Compute Engine 啟動 VM 後,您必須停止 VM,才能修改受防護的 VM 選項。
請在使用前先格式化及掛接磁碟。