本文說明如何從其他專案共用的自訂映像檔建立 Compute Engine 執行個體。 執行個體包含啟動載入程式、開機檔案系統和 OS 映像檔。您可以從來源磁碟、映像檔、快照或儲存在 Cloud Storage 中的映像檔建立自訂映像檔,並使用這些映像檔建立執行個體。根據預設,自訂映像檔只屬於建立該映像檔的專案。如果其他使用者與您共用映像檔,您可以使用該映像檔建立執行個體。
事前準備
- 使用 Google Cloud CLI 或 Compute Engine API 從映像檔建立執行個體時,每秒最多只能建立 20 個執行個體。如果需要每秒建立更多執行個體,請 要求調整 Images 資源的配額。
-
如果尚未設定驗證,請先完成設定。
「驗證」是指驗證身分的程序,確認您有權存取 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 驗證說明文件中的「Authenticate for using REST」。
必要的角色
如要取得從共用映像檔建立執行個體所需的權限,請要求管理員授予您專案的Compute 執行個體管理員 (v1) (
roles/compute.instanceAdmin.v1
) IAM 角色。如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和機構的存取權」。這個預先定義的角色具備從共用映像檔建立執行個體所需的權限。如要查看確切的必要權限,請展開「必要權限」部分:
所需權限
如要透過共用映像檔建立執行個體,必須具備下列權限:
-
專案的
compute.instances.create
-
如要使用共用映像檔建立執行個體:
compute.images.useReadOnly
在映像檔上
透過共用映像檔建立執行個體
如要透過共用映像檔建立執行個體,請按照下列步驟操作:
主控台
前往 Google Cloud 控制台的「建立執行個體」頁面。
如果出現系統提示,請選取您的專案,然後按一下 [Continue] (繼續)。
「建立執行個體」頁面隨即顯示,並顯示「機器設定」窗格。
在「機器設定」窗格中,執行下列操作:
- 在「Name」(名稱) 欄位中,指定執行個體的名稱。詳情請參閱資源命名慣例。
選用:在「Zone」(區域) 欄位中,選取這個執行個體的區域。
預設選取項為「任何」。如果沒有變更這項預設選項,Google 會根據機器類型和可用性,自動為您選擇可用區。
選取執行個體的機器系列。Google Cloud 控制台隨即會顯示所選機器家族適用的機器系列。可用的機器系列選項如下:
- 一般用途
- 運算最佳化
- 記憶體最佳化
- 儲存空間最佳化
- GPU
在「系列」欄中,選取執行個體的機器系列。
如果您在上一個步驟中選取「GPU」做為機器系列,請選取所需的 GPU 類型。系統會根據所選 GPU 類型,自動選取機器系列。
在「Machine type」(機器類型) 部分中,選取執行個體的機器類型。
在導覽選單中,按一下「OS 和儲存空間」。在隨即顯示的「作業系統和儲存空間」窗格中,完成下列步驟來設定開機磁碟:
- 點選「變更」。系統會顯示「Boot disk」(開機磁碟) 窗格,並顯示「Public images」(公開映像檔) 分頁。
- 按一下「自訂圖片」。系統會顯示「自訂圖片」分頁。
- 如要選取圖片專案,請按一下「變更」,然後選取含有圖片的專案。
- 在「圖片」清單中,選取要匯入的圖片。
- 在「Boot disk type」(開機磁碟類型) 清單中,選取開機磁碟類型。
- 在「Size (GB)」(大小 (GB)) 欄位中,指定開機磁碟的大小。
- 選用:如果是 Hyperdisk Balanced 開機磁碟,請指定「佈建 IOPS」和「佈建處理量」欄位的值。
- 選用:如需進階設定選項,請展開「Show advanced configurations」(顯示進階設定) 部分。
- 如要確認開機磁碟選項並返回「作業系統和儲存空間」窗格,請按一下「選取」。
在導覽選單中,按一下「Networking」(網路)。在隨即顯示的「Networking」(網路) 窗格中,執行下列操作:
- 前往「防火牆」部分。
如要允許執行個體接收 HTTP 或 HTTPS 流量,請選取「Allow HTTP traffic」(允許 HTTP 流量) 或「Allow HTTPS traffic」(允許 HTTPS 流量)。
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 command
建立執行個體,並使用--image
和--image-project
旗標指定映像檔名稱與映像檔所在的專案:gcloud compute instances create INSTANCE_NAME \ --image=IMAGE \ --image-project=IMAGE_PROJECT
更改下列內容:
INSTANCE_NAME
:新執行個體的名稱IMAGE
:圖片名稱IMAGE_PROJECT
:映像檔所屬的專案
如果指令成功,
gcloud
會傳回新執行個體的屬性,如下列範例所示:Created [https://compute.googleapis.com/compute/v1/projects/myproject/zones/us-central1-b/instances/example-instance]. NAME ZONE MACHINE_TYPE PREEMPTIBLE INTERNAL_IP EXTERNAL_IP STATUS example-instance us-central1-b e2-standard-2 10.240.0.4 104.198.53.60 RUNNING
- 前往 Google Cloud 控制台的「VM instances」(VM 執行個體) 頁面。
- 點選「建立執行個體」。
- 指定所需參數。
- 按一下頁面頂端或底部的「對等程式碼」,然後點選「Terraform」分頁標籤,即可查看 Terraform 程式碼。
PROJECT_ID
:要在其中建立 VM 的專案 IDZONE
:要在哪個可用區建立 VMMACHINE_TYPE_ZONE
:包含新 VM 所用機器類型的可用區MACHINE_TYPE
:機器類型,預先定義 或自訂, 適用於新 VMVM_NAME
:新 VM 的名稱IMAGE_PROJECT
:包含共用映像檔的專案名稱IMAGE
:指定下列其中一項:IMAGE
:共用映像檔的名稱。 例如:"sourceImage": "projects/finance-project-1234/global/images/finance-debian-image-v2"
。IMAGE_FAMILY
:如果共用映像檔是做為自訂映像檔系列的一部分建立,請指定該自訂映像檔系列。這會使用自訂映像檔系列中未淘汰的最新 OS 映像檔建立 VM。舉例來說,如果您指定
"sourceImage": "projects/finance-project-1234/global/images/family/finance-debian-family"
,Compute Engine 會從自訂finance-debian-family
映像檔系列中,使用最新版本的 OS 映像檔建立 VM。
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。
Terraform
在 Terraform 中使用共用映像檔建立執行個體的過程,其實與使用公開映像檔建立執行個體的過程相同。
REST
在 API 中使用共用映像檔建立執行個體的過程,其實與使用公開映像檔建立執行個體的過程相同。
如要透過共用映像檔建立執行個體,請使用
instances.insert
方法。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 } ], "networkInterfaces":[ { "network":"global/networks/NETWORK_NAME" } ], "shieldedInstanceConfig":{ "enableSecureBoot":"ENABLE_SECURE_BOOT" } }更改下列內容:
後續步驟
除非另有註明,否則本頁面中的內容是採用創用 CC 姓名標示 4.0 授權,程式碼範例則為阿帕契 2.0 授權。詳情請參閱《Google Developers 網站政策》。Java 是 Oracle 和/或其關聯企業的註冊商標。
上次更新時間:2025-07-31 (世界標準時間)。
-