匯入 OVF 虛擬設備

虛擬設備是包含虛擬機器的磁碟映像檔和硬體配置的套件。

OVF 格式是一種廣為使用的主流虛擬設備格式。以 OVF 格式封裝虛擬設備時會產生 OVF 套件。OVF 套件是一個包含 .ovf 描述元檔案的資料夾,及其他資源 (如磁碟) 的集合。OVF 套件封存至單一檔案時稱為 OVA 檔案。

您可以將 OVF 格式的虛擬機器 (無論是 OVF 套件OVA 單一檔案) 匯入 Compute Engine。要確定使用虛擬設備是否是符合您用途的最佳選擇,請查看選擇匯入方式

在匯入虛擬設備時,匯入過程會使用儲存在描述元檔案中的資訊,在 Compute Engine 上建立並啟動 VM 執行個體。

事前準備

啟用 Cloud Build API

匯入虛擬設備使用的工具是 Cloud Build。請在專案中啟用 Cloud Build 服務,並授予 Cloud Build 服務帳戶建立及管理運算資源的權限。

主控台

啟用 Cloud Build API。

啟用 Cloud Build API

當您在主控台啟用 Cloud Build API 時,Compute Engine 會將下列角色授予 Cloud Build 服務帳戶,以便 Cloud Build 服務將執行個體匯入 Compute Engine:

  • roles/iam.serviceAccountTokenCreator
  • roles/compute.admin
  • roles/iam.serviceAccountUser

gcloud

要使用 gcloud 設定 Cloud Build 服務,請完成下列步驟:

  1. 啟用 Cloud Build。

    gcloud services enable cloudbuild.googleapis.com
    
  2. compute.admin 角色新增至 Cloud Build API 的服務帳戶。

    gcloud projects add-iam-policy-binding [PROJECT_ID] \
      --member serviceAccount:[PROJECT_NUM]@cloudbuild.gserviceaccount.com \
      --role roles/compute.admin
    
  3. iam.serviceAccountUser 角色新增至 Cloud Build API 的服務帳戶。

    gcloud projects add-iam-policy-binding [PROJECT_ID] \
      --member serviceAccount:[PROJECT_NUM]@cloudbuild.gserviceaccount.com \
      --role roles/iam.serviceAccountUser
    
  4. iam.serviceAccountTokenCreator 角色新增至 Cloud Build API 的服務帳戶。

    gcloud projects add-iam-policy-binding [PROJECT_ID] \
      --member serviceAccount:[PROJECT_NUM]@cloudbuild.gserviceaccount.com \
      --role roles/iam.serviceAccountTokenCreator
    

    其中:

需求

來源虛擬機器需求條件

用來建立 OVF 檔案的虛擬機器必須符合下列需求:

  • 虛擬磁碟必須採用 VMDK 或 VHD 格式。
  • 虛擬磁碟必須設定以 MBR 啟動。不支援 UEFI。
  • 虛擬磁碟不可加密。

要驗證虛擬機器是否符合需求,可以執行預先檢查工具

OVF 檔案需求條件

OVF 檔案必須符合下列需求:

  • OVF 檔案必須提供 Level 1 可攜權,如 OVF 規格說明文件中所述。符合 Level 2 可攜權的虛擬設備可以匯入,但在匯入過程中會忽略任何自訂擴充功能,例如來源管理程序的特定細節。
  • OVF 檔案只能包含一個虛擬機器。如有多個虛擬機器存在,則僅匯入第一個虛擬機器。
  • OVF 檔案中的第一個磁碟必須是可開機的磁碟。

匯入工具所匯入的配置

OVF 標準所指定的虛擬設備封包過程不須仰賴虛擬化供應商。OVF 虛擬設備套件包含一個 .ovf 描述元檔案和其他資源的集合,如虛擬磁碟。

將 OVF 虛擬設備匯入 Compute Engine 時,會從描述元檔案處理並匯入下列配置:

  • 從 OVF 套件的 DiskSection 元素所擷取的虛擬磁碟資訊。
  • 從 OVF 套件的 ResourceAllocationSection 所擷取的 CPU 與記憶體資訊。

    如果 CPU 或記憶體配置超出 Compute Engine 支援範圍的限制,則匯入過程會將此值設定為 Compute Engine 所支援的最大值。

  • 從 OVF 套件的 BootDeviceSection 元素所擷取的開機磁碟詳細資料。

  • 從 OVF 套件的 OperatingSystemSection 元素所擷取的客體 OS 詳細資料。

    客體 OS 資訊是用來在匯入的執行個體上安裝正確的驅動程式和訪客虛擬機器環境套件。如果在 OVF 中找到的客體 OS 資訊有誤,則會導致匯入失敗。您可以使用 --os 標記來覆寫客體 OS 的資訊。

匯入的執行個體一律以單一網路介面卡來建立,而不使用外部 IP。無論 OVF 檔案中指定的網路配置為何,都使用此單一網路介面卡。

限制

在匯入虛擬設備時,會忽略描述元檔案中的下列區段 (不匯入):

  • NetworkSection
  • AnnotationSection
  • ProductSection
  • EulaSection
  • StartupSection
  • DeploymentOptionSection
  • InstallSection
  • EnvironmentFilesSection
  • SharedDiskSection
  • ScaleOutSection
  • PlacementGroupSection
  • PlacementSection
  • EncryptionSection

支援的作業系統

描述元檔案OperatingSystemSection 中指定下列作業系統之一:

Linux 發行版和各種版本

  • CentOS 6、CentOS 7
  • Debian 8、Debian 9
  • Red Hat Enterprise Linux 6、Red Hat Enterprise Linux 7
  • Ubuntu 14.04 LTS、Ubuntu 16.04 LTS

對於所有的 Linux 發行版,開機磁碟必須安裝 GRUB。

Windows 版本

  • Windows Server 2008 R2
  • Windows Server 2012、Windows Server 2012 R2、Windows Server 2012 R2 Core
  • Windows Server 2016、Windows Server 2016 Core
  • Windows 7 SP1 x64 (僅適用於 BYOL)
  • Windows 10 Enterprise x64 (僅適用於 BYOL)

對於所有 Windows 作業系統,都必須安裝 PowerShell Version 3 或更高的版本。PowerShell 在 3.0 之前的版本可能會導致匯入過程中使用的啟動和關閉指令碼出現問題。

支援 BYOL (自備授權)

根據預設,系統會匯入使用 Windows 和 Red Hat Enterprise Linux (RHEL) 作業系統的 OVF 檔案,並將其設定為使用須支付額外費用的進階級作業系統,依用量付費。

如果您想要針對 RHEL 使用您自己的軟體訂閱項目,可將虛擬設備匯入為 BYOL 授權設備。

如要將設備匯入為 BYOL 授權設備,請在執行匯入指令時,為 [--os] 標記指定下列其中一個 BYOL 值。

  • rhel-6-byol
  • rhel-7-byol
  • windows-2008r2-byol
  • windows-2012-byol
  • windows-2012r2-byol
  • windows-2016-byol
  • windows-7-byol
  • windows-10-byol

匯入 OVA 檔案

  1. 將虛擬設備新增至 Cloud Storage
  2. 如要將 OVA 檔案從 Cloud Storage 匯入 Compute Engine,請使用 gcloud beta compute instances import 指令。

    gcloud beta compute instances import [INSTANCE_NAME] \
      --source-uri=gs:[PATH_TO_OVA_FILE]
    

    其中:

    • [INSTANCE_NAME] 是您想要建立的執行個體的名稱。
    • [PATH_TO_OVA_FILE] 是 Cloud Storage 上 OVA 檔案的路徑。

    例如,要匯入 OVA 檔案 Ubuntu.ova 並建立名為 my-instance 的執行個體,請執行下列指令:

    gcloud beta compute instances import my-instance \
      --source-uri=gs://my-bucket/Ubuntu.ova
    

    在某些情況下,系統可能會提示您提供作業系統的值。如要指定作業系統,請加入 --os 標記。舉例來說,要匯入 OVA 檔案 Ubuntu.ova,並建立執行 Ubuntu 16.04 且名為 my-instance 的執行個體,請執行下列指令:

    gcloud beta compute instances import my-instance \
     --os=ubuntu-1604
     --source-uri=gs://my-bucket/Ubuntu.ova
    

匯入 OVF 檔案

  1. 將虛擬設備新增至 Cloud Storage
  2. 如要將 OVF 檔案從 Cloud Storage 匯入 Compute Engine,請使用 gcloud beta compute instances import 指令。

    如果您的目錄只包含一個 OVF 檔案,則可以提供描述元檔案的路徑或包含 OVF 檔案目錄的路徑。

    • 要使用描述元檔案的路徑匯入 OVF 檔案,請執行下列指令:

      gcloud beta compute instances import [INSTANCE_NAME] \
        --source-uri=gs:[PATH_TO_OVF_FILE]
      
    • 要使用目錄路徑匯入 OVF 檔案,請執行下列指令:

      gcloud beta compute instances import [INSTANCE_NAME] \
        --source-uri=gs:[PATH_TO_OVF_DIRECTORY]
      

    其中:

    • [INSTANCE_NAME] 是您想要建立的執行個體的名稱。
    • [PATH_TO_OVF_FILE] 是 Cloud Storage 上 OVF 檔案的路徑。
    • [PATH_TO_OVF_DIRECTORY] 是包含 Cloud Storage 中 OVF 檔案的目錄路徑。

    舉例來說,如要匯入 my-bucket 目錄中的 OVF 檔案 Ubuntu.ovf,並建立名為 my-instance 的執行個體,請執行下列指令:

    gcloud beta compute instances import my-instance \
      --source-uri=gs://my-bucket/
    

    在某些情況下,系統可能會提示您提供作業系統的值。如要指定作業系統,請加入 --os 標記。舉例來說,如要匯入 OVF 檔案 Ubuntu.ovf,並建立執行 Ubuntu 16.04 且名為 my-instance 的執行個體,請執行下列指令:

    gcloud beta compute instances import my-instance \
     --os=ubuntu-1604 \
     --source-uri=gs://my-bucket/
    

使用自訂設定匯入

自訂 CPU 和記憶體

如要覆寫 OVF 檔案中指定的 CPU 或記憶體配置,請指定 --custom-cpu--custom-memory 標記。

舉例來說,要匯入名為 my-instance 且執行 Ubuntu 16.04 的執行個體,請執行下列指令:

gcloud beta compute instances import my-instance \
  --os=ubuntu-1404 --source-uri=gs://my-bucket/Ubuntu.ova \
  --custom-cpu=2 --custom-memory=2048MB

自訂網路

如果您的專案設定為使用自訂網路,則需要指定 --network 標記。如果網路設定為自訂子網路模式,也須指定 --subnet--zone 標記。

舉例來說,如要匯入具有以下屬性的執行個體:

  • 執行個體名稱:my-instance
  • 作業系統:Ubuntu 1404
  • 網路:custom-vpc network
  • 子網路:company-vpc-us-east1-c
  • 區域:us-east1-c

執行下列指令:

gcloud beta compute instances import my-instance --os ubuntu-1404 \
  --source-uri=gs://my-bucket/Ubuntu.ova \
  --network company-vpc \
  --subnet company-vpc-us-east1-c \
  --zone us-east1-c

後續步驟

本頁內容對您是否有任何幫助?請提供意見:

傳送您對下列選項的寶貴意見...

這個網頁
Compute Engine 說明文件