主機專案:使用主機專案執行遷移作業,並託管執行已遷移工作負載的 Compute Engine 執行個體。您必須建立及設定主機專案,如「啟用 Migrate to Virtual Machines 服務」所述。
目標專案
目標專案會為執行已遷移 VM 的 Compute Engine 執行個體定義目標專案。主機專案可用做為目標專案。如果您想將 VM 遷移至其他專案,請將這些專案新增為「目標」專案,以便執行「遷移至虛擬機器」作業。
通常,您會在準備好部署已遷移的工作負載時,才會將目標專案新增至 Migrate to Virtual Machines。
如要將目標專案新增至「遷移至虛擬機器」功能,請按照下列步驟操作:
日後您可以視需要移除目標專案。
找出並設定目標專案
您必須指出要用來做為目標專案的 Google Cloud 專案:
在 Google Cloud console的專案選取器頁面中,選取或建立要用做目標專案的Google Cloud 專案:
記下所選專案的名稱和 ID。
在目標專案中啟用下列服務:
名稱 標題 servicemanagement.googleapis.com
Service Management API servicecontrol.googleapis.com
Service Control API iam.googleapis.com
Identity and Access Management (IAM) API cloudresourcemanager.googleapis.com
Cloud Resource Manager API compute.googleapis.com
Compute Engine API 如要啟用必要服務,請按照下列步驟操作:
請確認您已將預設專案設為目標專案。請將 PROJECT_ID 替換為目標專案的專案 ID:
gcloud config set project PROJECT_ID
查看已啟用的服務清單:
gcloud services list
如果必要的服務並未列出,請執行下列指令加以啟用:
gcloud services enable servicemanagement.googleapis.com servicecontrol.googleapis.com iam.googleapis.com cloudresourcemanager.googleapis.com compute.googleapis.com
設定必要權限
如要讓使用者能夠新增目標專案,並在目標專案中設定 Compute Engine 執行個體的詳細資料,該使用者必須具備必要的 IAM 角色和權限。
由於您是在 Google Cloud console中執行這些動作,因此需要這些權限的使用者帳戶,就是您用來登入 Google Cloud 控制台的帳戶:
如要新增目標專案至「遷移至虛擬機器」功能,您用來登入 Google Cloud 控制台的使用者帳戶必須具備「設定新增目標專案的權限」一文所述的權限。
如要設定目標專案中執行的 Compute Engine 執行個體的目標詳細資料,您用來登入Google Cloud 控制台的使用者帳戶必須具備存取目標專案資料的權限,例如網路、執行個體類型等。詳情請參閱「設定權限以設定目標執行個體」。
視您為環境設定 IAM 的方式而定,您可以設定單一使用者執行這兩項操作,或是設定兩個不同的使用者。
設定權限,以便新增目標專案
如要新增目標專案,您在 Google Cloud 控制台使用的使用者帳戶必須具備下列權限:
主機專案中的
vmmigration.admin
角色目標專案中的
resourcemanager.projectIamAdmin
角色
如要新增這些角色,請按照下列步驟操作:
確認使用者帳戶的電子郵件地址。在 Google Cloud console中,您可以在「IAM」頁面中查看專案中的所有使用者:
在主機專案中,將
vmmigration.admin
角色授予使用者帳戶:gcloud projects add-iam-policy-binding HOST_PROJECT_ID --member=user:USER_EMAIL_ADDRESS --role=roles/vmmigration.admin
將 目標專案的
resourcemanager.projectIamAdmin
角色授予使用者帳戶:gcloud projects add-iam-policy-binding TARGET_PROJECT_ID --member=user:USER_EMAIL_ADDRESS --role=roles/resourcemanager.projectIamAdmin
如果無法將目標專案的 resourcemanager.projectIamAdmin
角色指派給使用者帳戶,您可以將目標專案的 vmmigration.serviceAgent
角色指派給 Migrate to Virtual Machines 預設服務帳戶。
如要新增這個角色,請按照下列步驟操作:
在 Google Cloud 控制台中開啟「Migrate to Virtual Machines」(遷移至虛擬機器) 頁面:
選取「目標」分頁標籤。
頁面頂端有資訊方塊,顯示 Migrate to Virtual Machines 預設服務帳戶的電子郵件地址,格式如下:
service-HOST_PROJECT_NUMBER@gcp-sa-vmmigration.iam.gserviceaccount.com
複製電子郵件地址。
使用該電子郵件地址,將目標專案的
vmmigration.serviceAgent
角色授予 Migrate to Virtual Machines 預設服務帳戶:gcloud projects add-iam-policy-binding TARGET_PROJECT_ID \ --member=serviceAccount:service-HOST_PROJECT_NUMBER@gcp-sa-vmmigration.iam.gserviceaccount.com \ --role=roles/vmmigration.serviceAgent
設定權限以設定目標詳細資料
如要在目標專案中設定 Compute Engine 執行個體的目標詳細資料,您在 Google Cloud 控制台上使用的使用者帳戶必須具備下列權限:
目標專案中的
compute.viewer
角色和iam.serviceAccountUser
角色
如要新增這個角色,請按照下列步驟操作:
確認使用者帳戶的電子郵件地址。在 Google Cloud console中,您可以在「IAM」頁面中查看專案中的所有使用者:
將
compute.viewer
角色和iam.serviceAccountUser
角色授予目標專案的使用者帳戶:gcloud projects add-iam-policy-binding TARGET_PROJECT_ID --member=user:USER_EMAIL_ADDRESS --role=roles/compute.viewer
gcloud projects add-iam-policy-binding TARGET_PROJECT_ID --member=user:USER_EMAIL_ADDRESS --role=roles/iam.serviceAccountUser
(僅限共用虛擬私有雲環境) 在共用虛擬私有雲主機專案中,授予使用者帳戶
compute.viewer
角色:gcloud projects add-iam-policy-binding VPC_HOST_PROJECT_ID --member=user:USER_EMAIL_ADDRESS --role=roles/compute.viewer
新增目標專案
設定目標專案並將必要角色指派給使用者帳戶後,即可將該帳戶新增至「遷移至虛擬機器」功能。
如要將目標專案新增至 Migrate to Virtual Machines:
在 Google Cloud 控制台中開啟「Migrate to Virtual Machines」(遷移至虛擬機器) 頁面:
選取「指定目標」分頁標籤。畫面上會顯示已新增的專案清單。
選取「新增專案」。
系統會開啟面板,列出可用的專案。
選取一或多項專案。
選取 [新增]。
新專案會顯示在專案表格中。
移除目標專案
您可以從「遷移至虛擬機器」中移除目標專案。移除目標專案後,您就無法再執行使用目標專案主機 Compute Engine 執行個體的測試複製或截承作業。
將目標專案新增至 Migrate to Virtual Machines 後,Migrate to Virtual Machines 會自動為主機專案的預設 Migrate to Virtual Machines 服務帳戶新增權限,讓主機專案可在目標專案上執行作業。
日後移除目標專案時,「Migrate to Virtual Machines」會嘗試移除服務帳戶的這些權限。不過,如果發生變更而導致無法移除這些權限,目標專案仍會從「遷移至虛擬機器」中移除。如有需要,您可以手動更新服務帳戶,移除這些權限。
如要從「遷移至虛擬機器」中移除目標專案,請按照下列步驟操作:
在 Google Cloud 控制台中開啟「Migrate to Virtual Machines」(遷移至虛擬機器) 頁面:
選取「目標」分頁標籤。畫面上會顯示已新增的專案清單。
選取一或多項專案。
選取「移除專案」。
確認要移除專案。