Migrate for Compute Engine の Google Cloud の構成

Google Cloud Migrate for Compute Engine(旧称 Velostrata)を使用してアプリケーションを移行する前に、Google Cloud 組織を構成する必要があります。この構成により、Migrate for Compute Engine が移行を管理し、関連する他のコンポーネントと通信できるようになります。

Google Cloud の構成には、次に挙げるものが含まれます。

  1. Google Cloud アカウント、組織、プロジェクトの設定。組織レベルの権限と、Migrate for Compute Engine が独自のインフラストラクチャに使用するプロジェクトも含まれます。
  2. Google Cloud でのネットワークの設定。移行に含まれるコンポーネント(Migrate for Compute Engine、Google Cloud、移行元の環境など)が Google Cloud Virtual Private Cloud 上のファイアウォールを介して相互に通信できるようにします。
  3. Cloud Shell を使用した Google Cloud のロールとサービス アカウントの作成。Migrate for Compute Engine がリソースを作成し、移行の際に使用される API を管理できるように権限を設定します。

始める前に

  • Google Cloud を構成する Migrate for Compute Engine スクリプトを実行する Google Cloud 組織管理者アカウントを指定しておく必要があります。
  • Google Cloud Virtual Private Cloud を設定しておく必要があります。Migrate for Compute Engine は Virtual Private Cloud を使用して Google Cloud とソース環境間の通信をサポートします。
  • Google Cloud 組織は、移行の構成するコンポーネントの一つです。それぞれに対して構成タスクを実行します。詳しくは、Migrate for Compute Engine アーキテクチャの説明をご覧ください。

Google Cloud アカウント、組織、プロジェクトの設定

Google Cloud に移行するには、Google Cloud 組織が必要です。組織ができたら、Migrate for Compute Engine スクリプトにロールとサービス アカウントで Google Cloud を構成する権限を割り当てます。Migrate for Compute Engine Manager をホストする Migrate for Compute Engine インフラストラクチャ プロジェクトを作成します。

  1. Google Cloud Console に移動してログインします。まだアカウントをお持ちでない場合は、登録してアカウントを作成してください。
  2. 組織を設定するには、組織の作成と管理をご覧ください。詳細については、Google Cloud ランディング ゾーンのリソース階層を決定するをご覧ください。
  3. アカウントとロールを作成するスクリプトを実行する管理者に、次の権限を割り当てます。

    • 組織のロールの管理者
    • 組織管理者
    • Compute 管理者
    • プロジェクト所有者

    Google Cloud アカウント、サービス アカウント、ロールなどの IAM のコンセプトについては、IAM の概要をご覧ください。

  4. Google Cloud に Migrate for Compute Engine インフラストラクチャをホストする Google Cloud プロジェクトを作成します。このドキュメントの残りの部分では、これをインフラストラクチャ プロジェクトとします。

Google Cloud でのネットワークの設定

Migrate for Compute Engine は、Google Cloud Virtual Private Cloud ネットワークと移行元環境への VPN 接続を使用します。また、移行が完了する前に特定のネットワーキング ルールを設定する必要があります。デプロイのファイアウォール、ルーティング、ネットワーク タグの詳細については、ネットワーク アクセスの要件をご覧ください。

ネットワーク構成タスクでは、Google Cloud Virtual Private Cloud がすでにあり、ユーザーが Virtual Private Cloud ファイアウォール ルールに精通していることを前提としています。詳細については、Google Cloud Virtual Private Cloud をご覧ください。

Cloud Shell を使用した Google Cloud のロールとサービス アカウントの作成

Migrate for Compute Engine が Google Cloud リソースの作成と Cloud Storage API の管理に使用できる Google Cloud のロールサービス アカウントを作成する必要があります。Migrate for Compute Engine には、これらの変更を行うための Cloud Shell スクリプトが含まれています。

複数の Google Cloud プロジェクトに移行する場合を除き、このスクリプトにより、インフラストラクチャ プロジェクトにロールとサービス アカウントが作成されます。その場合、組織レベルで Migrate for Compute Engine Manager のロールが作成され、インフラストラクチャ プロジェクトで他のロール アカウントとサービスアカウントが作成されます。

次の表に、Cloud Shell スクリプトによって作成されるロールとサービス アカウントを示します。

ロール サービス アカウント 有効な権限
Migrate for Compute Engine Manager(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 スクリプトを使用すると、必要なサービス アカウントを簡単に作成できます。

スクリプトで次の Google Cloud APIs を有効にします。

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

おすすめはしませんが、Google Cloud を手動で構成することもできます。

前提条件

組織内の複数のプロジェクトへと移行する場合は、数字の組織 ID が必要です。

構成スクリプトの実行

構成スクリプトを実行するには:

  1. Cloud Shell を開く
  2. Migrate for Compute Engine スクリプトが含まれているディレクトリに移動します。

    cd /google/migrate/gce/previous-versions/4.9
    

  3. サービス アカウントに追加するデプロイメント名とロール ID(例: main)を選択します。

  4. スクリプトを実行します。

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

    詳細については、下に記載の構成スクリプトのリファレンスをご覧ください。

単一プロジェクトの構成の例

この例では、velostrata インフラストラクチャ プロジェクトで、デプロイメント名 main で Google Cloud にロールとサービス アカウントを設定します。

python3 velostrata_sa_roles.py -p velostrata -d main

このコマンドを実行すると、次のものが作成されます。

  • velostrata プロジェクトの velos_manager_main および velos_ce_main ロール。
  • velostrata プロジェクトの velos-manager-main@velostrata.iam.gserviceaccount.com および velos-cloud-extension-main@velostrata.iam.gserviceaccount.com サービス アカウント。

複数プロジェクトの構成の例

この例では、Google Cloud を複数のプロジェクトへの移行に対応するロールとサービス アカウントで設定します。このスクリプトは、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.com および velos-cloud-extension-main@velostrata.iam.gserviceaccount.com サービス アカウント。

構成スクリプトのリファレンス

velostrata_sa_roles.py スクリプトを使用して Migrate for Compute Engine にリソースの作成と Cloud Storage API の管理権限を付与する Google Cloud のロールとサービス アカウントを作成します。

複数の Google Cloud プロジェクトに移行する場合を除き、このスクリプトにより、インフラストラクチャ プロジェクトにロールとサービス アカウントが作成されます。その場合、組織レベルで Migrate for Compute Engine Manager のロールが作成され、インフラストラクチャ プロジェクトで他のロールとサービスアカウントが作成されます。

このスクリプトを正常に完了させるためには、Google Cloud アカウント、組織、プロジェクトの設定で説明されているロールを、スクリプトを実行する管理者に割り当てておく必要があります。

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

パラメータ

パラメータ 説明 必須
-d または --deployment-name デプロイメント名を指定します。これはサービス アカウントとロール名に追加されます。8 文字未満で、小文字と数字のみ使用できます。 はい。
-p または --project-id 移行をホストする Google Cloud プロジェクトの ID を指定します。 はい。
-o または --org-id Google Cloud 組織の ID を数字で指定します。複数の Google Cloud プロジェクトに移行する場合に使用します。 いいえ。

次のステップ