ホスト プロジェクト。ホスト プロジェクトを使用して移行を行い、移行したワークロードを実行する Compute Engine インスタンスをホストします。ホスト プロジェクトを作成して構成する必要があります。詳細については、Migrate to Virtual Machines サービスを有効にするをご覧ください。
ターゲット プロジェクト
ターゲット プロジェクトは、移行した VM を実行する Compute Engine インスタンスの宛先プロジェクトを定義します。ホスト プロジェクトはターゲット プロジェクトとして使用できます。VM を他のプロジェクトに移行する場合は、これらの VM をターゲット プロジェクトとして Migrate to Virtual Machines に追加する必要があります。
通常は、移行したワークロードのデプロイの準備が整うまで、ターゲット プロジェクトを Migrate to Virtual Machines に追加しません。
次の手順で、ターゲット プロジェクトを Migrate to Virtual Machines に追加します。
必要に応じて、後でターゲット プロジェクトを削除できます。
ターゲット プロジェクトを特定して構成する
ターゲット プロジェクトとして使用する Google Cloud プロジェクトを特定する必要があります。
Google Cloud コンソールのプロジェクト セレクタページで、ターゲット プロジェクトとして使用する 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 コンソールで操作を実行するため、これらの権限を必要とするユーザー アカウントは、Google Cloud コンソールへのログインに使用するアカウントになります。
ターゲット プロジェクトを Migrate to Virtual Machines に追加するには、Google Cloud コンソールへのログインに使用するユーザー アカウントには、ターゲット プロジェクトを追加するための権限を設定するで説明されている権限が必要です。
ターゲット プロジェクトで実行されている Compute Engine インスタンスのターゲットの詳細を構成するには、Google Cloud コンソールへのログインに使用するユーザー アカウントに、ネットワーク、インスタンス タイプなど、ターゲット プロジェクトのデータにアクセスする権限が必要です。詳細については、ターゲット インスタンスを構成するための権限を設定するをご覧ください。
環境の IAM の構成方法に応じて、1 人のユーザーが両方の操作を実行できるようにするか、2 人のユーザーを別々に構成します。
ターゲット プロジェクトを追加するための権限を設定する
ターゲット プロジェクトを追加するには、Google Cloud コンソールで使用するユーザー アカウントに以下のロールが必要です。
ホスト プロジェクトでのロール
vmmigration.admin
ターゲット プロジェクトでのロール
resourcemanager.projectIamAdmin
これらのロールを追加するには:
ユーザー アカウントのメールアドレスを特定します。Google Cloud コンソールの [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 コンソールの [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
(共有 VPC 環境のみ)ユーザー アカウントに、共有 VPC ホスト プロジェクトの
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 に追加できます。
ターゲット プロジェクトを Migrate to Virtual Machines に追加するには:
Google Cloud コンソールで [Migrate to Virtual Machines] ページを開きます。
[ターゲット] タブを選択します。追加済みのプロジェクトのリストが表示されます。
[プロジェクトの追加] を選択します。
パネルが開き、使用可能なプロジェクトのリストが表示されます。
プロジェクトを選択してください。
[追加] を選択します。
新しいプロジェクトがプロジェクト テーブルに表示されます。
ターゲット プロジェクトを削除する
ターゲット プロジェクトは Migrate to Virtual Machines から削除できます。ターゲット プロジェクトを削除すると、Compute Engine インスタンスをホストするためにターゲット プロジェクトを使用するテストクローンやカットオーバー オペレーションを実行できなくなります。
ターゲット プロジェクトを Migrate to Virtual Machines に追加すると、Migrate to Virtual Machines によってホスト プロジェクトのデフォルトの Migrate to Virtual Machines サービス アカウントに権限が自動的に追加され、ホスト プロジェクトはターゲット プロジェクトで操作が行えるようになります。
後でターゲット プロジェクトを削除すると、Migrate to Virtual Machines ではサービス アカウントの権限の削除が試みられます。ただし、こうした権限が削除されないように変更されている場合でも、ターゲット プロジェクトは Migrate to Virtual Machines から削除されます。このような権限は、必要に応じて手動でサービス アカウントを更新して削除できます。
Migrate to Virtual Machines からターゲット プロジェクトを削除するには:
Google Cloud コンソールで [Migrate to Virtual Machines] ページを開きます。
[ターゲット] タブを選択します。追加済みのプロジェクトのリストが表示されます。
プロジェクトを選択してください。
[プロジェクトを削除] を選択します。
プロジェクトの削除を確定します。