You're viewing documentation for a prior version of Migrate for Compute Engine (formerly Velostrata). You can continue using this version, or use the current version.

為 Migrate for Compute Engine 設定 GCP

使用 Google Cloud Migrate for Compute Engine (舊稱「Velostrata」) 遷移應用程式之前,您必須設定 GCP 機構。設定完成之後,Migrate for Compute Engine 就能管理遷移作業,並與其他相關元件進行通訊。

GCP 的設定包括:

  1. 設定 GCP 帳戶、機構和專案,包括機構層級權限和 Migrate for Compute Engine 用來當做基礎架構的專案。
  2. 在 GCP 中設定網路,讓遷移作業中的元件 (例如 Migrate for Compute Engine、GCP,以及遷移作業的來源環境) 透過防火牆在 GCP 虛擬私人雲端中相互通訊。
  3. 透過 Cloud Shell 建立 GCP 角色和服務帳戶來設定權限,讓 Migrate for Compute Engine 建立資源及管理遷移期間使用的 API。

事前準備

  • 您必須找出 GCP 機構管理員帳戶,以便執行 Migrate for Compute Engine 指令碼來設定 GCP。
  • 您必須設定 Google Cloud Platform 虛擬私人雲端。Migrate for Compute Engine 會使用虛擬私人雲端來支援 GCP 和來源環境之間的通訊。
  • GCP 機構是遷移作業中的多項元件之一,您必須為各項元件執行設定工作。如需更完整的資訊,請務必詳閱 Migrate for Compute Engine 架構說明

設定 GCP 帳戶、機構與專案

您必須建立 GCP 機構,才能將資料遷移至 GCP。您必須在建立機構後指派權限,允許 Migrate for Compute Engine 指令碼為 GCP 設定角色和服務帳戶。您會建立 Migrate for Compute Engine 基礎架構專案,藉此保存 Velostrata 管理員

  1. 前往 Google Cloud Platform Console 並登入帳戶。如果您沒有帳戶,請申請建立帳戶
  2. 如要設定機構,請參閱建立及管理機構。詳情請參閱企業組織的最佳做法一文。
  3. 將下列權限指派給執行帳戶和角色建立指令碼的管理員:

    • 機構角色管理員
    • 機構管理員
    • Compute 管理員
    • (專案) 擁有者

    如要進一步瞭解身分與存取權管理的概念 (例如 GCP 帳戶、服務帳戶和角色),請參閱 IAM 總覽

  4. 建立 GCP 專案,在 GCP 中託管 Migrate for Compute Engine 基礎架構。在這份說明文件的後續段落中,我們將其稱為「基礎架構專案」。

在 GCP 中設定網路

Migrate for Compute Engine 會使用 GCP 虛擬私人雲端網路和 VPN 連線至您的來源環境,您必須設定特定的網路規則才能完成遷移作業。如要進一步瞭解部署作業的防火牆、轉送機制和網路標記,請參閱網路存取需求一文。

網路設定工作是假設您具備 GCP 虛擬私人雲端,您也相當熟悉虛擬私人雲端防火牆規則。詳情請參閱 Google Cloud Platform 虛擬私人雲端

透過 Cloud Shell 建立 GCP 角色和服務帳戶

您必須建立 Migrate for Compute Engine 可以使用的 GCP 角色服務帳戶,以便建立 GCP 資源及管理 Cloud Storage API。Migrate for Compute Engine 中包含用來進行這類變更的 Cloud Shell 指令碼。

這個指令碼會在基礎架構專案中建立角色和服務帳戶,如果遷移作業的目標位置為多項 GCP 專案則不適用。在這種情況下,這個指令碼會在機構層級建立 Velostrata 管理員角色,並在基礎架構專案中建立其他角色和服務帳戶。

下表列出 Cloud Shell 指令碼建立的角色和服務帳戶。

角色 服務帳戶 已啟用的權限
Velostrata 管理員 (velos_manager_deployment-name) velos-manager-deployment-name 可以建立遷移作業所需的各項資源 (VM、Cloud Storage 值區等)。
Migrate for Compute Engine Cloud Extension (velos_ce_deployment-name) velos-cloud-extension-deployment-name 可以管理遷移作業所需的 Cloud Storage API。

如要建立所需的服務帳戶,最簡單的方式就是使用適用於 Migrate for Compute Engine 的 Cloud Shell 指令碼。如要搜尋這個指令碼,請開啟 Cloud Shell 並 cd/google/velostrata/

這個指令碼會啟用下列 GCP API:

  • Cloud Resource Manager API
  • Identity and Access Management (IAM) API
  • Compute Engine API
  • Google Cloud Storage API
  • Stackdriver Logging API
  • Stackdriver Monitoring API

儘管我們不建議這麼做,但您可以選擇手動設定 GCP

先決條件

如果遷移作業的目標位置為貴機構中的多項專案,您必須輸入機構 ID (數值)。

執行設定指令碼

如要執行設定指令碼,請按照下列指示操作:

  1. 開啟 Cloud Shell
  2. 變更為含有 Migrate for Compute Engine 指令碼的目錄:
    cd /google/migrate/gce
    
  3. 選擇要附加至服務帳戶和角色 ID 的部署作業名稱,例如 main
  4. 執行指令碼:

      python3 velostrata_sa_roles.py -p project-ID -d deployment-name [-o organization]
    

    詳情請參閱下方的設定指令碼參考資料

單一專案的設定範例

在這個範例中,您會為 GCP 設定 velostrata 基礎架構專案中的角色和服務帳戶,以及部署作業名稱 main

python3 velostrata_sa_roles.py -p velostrata -d main

這個指令會建立下列項目:

  • velostrata 專案中的 velos_manager_mainvelos_ce_main 角色。
  • velostrata 專案中的 velos-manager-main@velostrata.iam.gserviceaccount.comvelos-cloud-extension-main@velostrata.iam.gserviceaccount.com 服務帳戶。

多項專案的設定範例

在這個範例中,您會為 GCP 設定角色和服務帳戶,藉此處理目標位置為多項專案的遷移作業。這個指令碼會使用 velostrata 基礎架構專案。

在您執行含有 -o 旗標的指令碼之後,系統會在機構層級建立管理者角色,方便您將 VM 遷移至多項專案。

python3 velostrata_sa_roles.py -p velostrata -d main -o 12345678

這個指令會建立下列項目:

  • 機構 (ID 為 12345678) 中的 velos_manager_main 角色。
  • velostrata 專案中的 velos_ce_main 角色。
  • velostrata 專案中的 velos-manager-main@velostrata.iam.gserviceaccount.comvelos-cloud-extension-main@velostrata.iam.gserviceaccount.com 服務帳戶。

設定指令碼參考資料

您可以使用 velostrata_sa_roles.py 指令碼建立 GCP 角色和服務帳戶,藉此授予 Migrate for Compute Engine 建立資源及管理 Cloud Storage API 的權限。

這個指令碼會在基礎架構專案中建立角色和服務帳戶,如果遷移作業的目標位置為多項 GCP 專案則不適用。在這種情況下,這個指令碼會在機構層級建立 Velostrata 管理員角色,並在基礎架構專案中建立其他角色和服務帳戶。

請注意,為了讓這個指令碼順利完成作業,您必須為執行指令碼的管理員指派相關角色,如設定 GCP 帳戶、機構與專案中所述。

python3 velostrata_sa_roles.py -p project-ID -d deployment-name [-o organization-ID]

參數

參數 說明 是否為必要參數
-d--deployment-name 可指定部署作業名稱。這項資訊會附加至服務帳戶和角色名稱。長度不得超過 8 個字元,而且只能使用小寫英文字母和數字。 是。
-p--project-id 可指定要用來保存遷移作業的 GCP 專案 ID。 是。
-o--org-id 可指定 GCP 機構 ID (數值)。如果遷移作業的目標位置為多項 GCP 專案,請使用這項參數。 否。

後續步驟