ターゲット プロジェクトを追加する

Migrate to Virtual Machines では、次の 2 種類のプロジェクトを使用します。

  • ホスト プロジェクト。ホスト プロジェクトを使用して移行を行い、移行したワークロードを実行する Compute Engine インスタンスをホストします。ホスト プロジェクトを作成して構成する必要があります。詳細については、Migrate to Virtual Machines サービスを有効にするをご覧ください。

  • ターゲット プロジェクト

    ターゲット プロジェクトは、移行した VM を実行する Compute Engine インスタンスの宛先プロジェクトを定義します。ホスト プロジェクトはターゲット プロジェクトとして使用できます。VM を他のプロジェクトに移行する場合は、これらの VM をターゲット プロジェクトとして Migrate to Virtual Machines に追加する必要があります。

    通常は、移行したワークロードのデプロイの準備が整うまで、ターゲット プロジェクトを Migrate to Virtual Machines に追加しません。

次の手順で、ターゲット プロジェクトを Migrate to Virtual Machines に追加します。

  1. ターゲット プロジェクトを特定して構成します
  2. 必要な権限を設定します
  3. ターゲット プロジェクトを追加します

必要に応じて、後でターゲット プロジェクトを削除できます。

ターゲット プロジェクトを特定して構成する

ターゲット プロジェクトとして使用する Google Cloud プロジェクトを特定する必要があります。

  1. Google Cloud コンソールのプロジェクト セレクタページで、ターゲット プロジェクトとして使用する Google Cloud プロジェクトを選択または作成します。

    プロジェクトの選択ページに移動

  2. 選択したプロジェクトの名前と ID をメモします。

  3. ターゲット プロジェクトで次のサービスを有効にします。

    名前 タイトル
    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

    必要なサービスを有効にするには:

    1. デフォルト プロジェクトをターゲット プロジェクトに設定していることを確認します。PROJECT_ID は、ターゲット プロジェクトのプロジェクト ID に置き換えます。

      gcloud config set project PROJECT_ID
    2. すでに有効になっているサービスのリストを表示します。

      gcloud services list
    3. 必要なサービスがすべて表示されない場合は、それらのサービスを有効にします。

      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

これらのロールを追加するには:

  1. ユーザー アカウントのメールアドレスを特定します。Google Cloud コンソールの [IAM] ページで、プロジェクトのすべてのユーザーを確認できます。

    プロジェクトの選択ページに移動

  2. ユーザー アカウントに、ホスト プロジェクトの vmmigration.admin ロールを付与します。

    gcloud projects add-iam-policy-binding HOST_PROJECT_ID --member=user:USER_EMAIL_ADDRESS --role=roles/vmmigration.admin
  3. ターゲット プロジェクトの 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 のデフォルト サービス アカウントに割り当てることができます。

このロールを追加するには:

  1. Google Cloud コンソールで [Migrate to Virtual Machines] ページを開きます。

    [Migrate to Virtual Machines] ページに移動

  2. [ターゲット] タブを選択します。

    ページの上部に情報ボックスがあり、Migrate to Virtual Machines のデフォルト サービス アカウントのメールアドレスが次の形式で表示されます。

    service-HOST_PROJECT_NUMBER@gcp-sa-vmmigration.iam.gserviceaccount.com

  3. そのメールアドレスをコピーします。

  4. そのメールアドレスを使用して、ターゲット プロジェクトの 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

このロールを追加するには:

  1. ユーザー アカウントのメールアドレスを特定します。Google Cloud コンソールの [IAM] ページで、プロジェクトのすべてのユーザーを確認できます。

    [プロジェクトの選択] ページに移動

  2. ユーザー アカウントに、ターゲットプロジェクトの 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
  3. 共有 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 に追加するには:

  1. Google Cloud コンソールで [Migrate to Virtual Machines] ページを開きます。

    [Migrate to Virtual Machines] ページに移動

  2. [ターゲット] タブを選択します。追加済みのプロジェクトのリストが表示されます。

  3. [プロジェクトの追加] を選択します。

    パネルが開き、使用可能なプロジェクトのリストが表示されます。

  4. プロジェクトを選択してください。

  5. [追加] を選択します。

    新しいプロジェクトがプロジェクト テーブルに表示されます。

ターゲット プロジェクトを削除する

ターゲット プロジェクトは 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 からターゲット プロジェクトを削除するには:

  1. Google Cloud コンソールで [Migrate to Virtual Machines] ページを開きます。

    [Migrate to Virtual Machines] ページに移動

  2. [ターゲット] タブを選択します。追加済みのプロジェクトのリストが表示されます。

  3. プロジェクトを選択してください。

  4. [プロジェクトを削除] を選択します。

  5. プロジェクトの削除を確定します。

次のステップ