Google サービスの有効化とサービス アカウントの構成

移行を開始する前に、このセクションの以下の手順を行う必要があります。

Google Cloud CLI と必要なサービスの有効化

すべての Migrate to Containers ユーザーは、Google Cloud CLI を構成し、必要な Google サービスを有効にする必要があります。

Google Cloud CLI の準備

gcloud を準備するには:

  1. gcloud CLI をインストールして初期化します。
  2. gcloud CLI を更新します。
    gcloud components update
  3. gcloud CLI に、データとサービスへのアクセスが許可されていることを確認します。
    gcloud auth login

    新しいブラウザタブが開き、アカウントの選択を求めるプロンプトが表示されます。

  4. Cloud Storage バケットへのアクセスに必要な認証情報を設定します。

    個々のユーザーで、次の gcloud コマンドを使用します。

    gcloud auth application-default login

    新しいブラウザタブが開き、アカウントの選択を求めるプロンプトが表示されます。

    サービス アカウントを使用している場合は、GOOGLE_APPLICATION_CREDENTIALS 環境変数をサービス アカウント キーが含まれる JSON ファイルのパスに設定します。

    export GOOGLE_APPLICATION_CREDENTIALS="[PATH]"

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

Migrate to Containers で、次の Google サービスを有効にする必要があります。

名前 タイトル
servicemanagement.googleapis.com Service Management API
servicecontrol.googleapis.com Service Control API
cloudresourcemanager.googleapis.com Cloud Resource Manager API
compute.googleapis.com Compute Engine API
container.googleapis.com Kubernetes Engine API
containerregistry.googleapis.com Container Registry API
cloudbuild.googleapis.com Cloud Build API

必要なサービスが有効になっていることを確認するには:

gcloud services list

必要なサービスが表示されない場合は、次のコマンドを使用してサービスを有効にします。

gcloud services enable servicemanagement.googleapis.com servicecontrol.googleapis.com cloudresourcemanager.googleapis.com compute.googleapis.com container.googleapis.com containerregistry.googleapis.com cloudbuild.googleapis.com

gcloud サービスの詳細については、gcloud サービスをご覧ください。

サービス アカウントを構成する

サービス アカウントは、ユーザーではなく、アプリケーションや仮想マシン(VM)インスタンスで使用される特別なアカウントです。アプリケーションは、サービス アカウントを使用して、承認された API 呼び出しを行います。

たとえば、あるサービス アカウントで Compute Engine VM が実行される場合、必要なリソースへのアクセス権をそのアカウントに付与できます。こうしてサービス アカウントはサービスの ID となり、サービス アカウントの権限はサービスがアクセスできるリソースを制御します。

Migrate to Containers を使用する場合は、次の 2 つのサービス アカウントを作成します。

サービス アカウントを使用する場合のベスト プラクティス

Migrate to Containers に使用しているプロジェクトで、別のサービス アカウントを作成することをおすすめします。次に、必要なオペレーションを実行するために必要な権限のみをサービス アカウントに割り当てます。これにより、サービス アカウントに関連付けられる権限を制限できます。

Container Registry と Cloud Storage にアクセスするためのサービス アカウントの作成

storage.admin ロールを持つサービス アカウントを作成し、Migrate for Containers コンポーネントをインストールするときにそれを渡します。

  1. m4a-install サービス アカウントを作成します。

    gcloud iam service-accounts create m4a-install \
     --project=PROJECT_ID
  2. サービス アカウントに storage.admin ロールを付与します。

    gcloud projects add-iam-policy-binding PROJECT_ID  \
     --member="serviceAccount:m4a-install@PROJECT_ID.iam.gserviceaccount.com" \
     --role="roles/storage.admin"
  3. サービス アカウント用のキーファイルをダウンロードします。

    gcloud iam service-accounts keys create m4a-install.json \
     --iam-account=m4a-install@PROJECT_ID.iam.gserviceaccount.com \
     --project=PROJECT_ID 

サービス アカウント キーを JSON ファイルとしてダウンロードした後、Migrate to Containers のインストールの手順に沿って、移行先の Google Kubernetes Engine クラスタに Migrate for Containers をインストールできます。

Compute Engine を移行元として使用するサービス アカウントの作成

Compute Engine を移行元として使用するには、compute.viewercompute.storageAdmin のロールを持つサービス アカウントを作成します。

  1. m4a-ce-src サービス アカウントを作成します。

    gcloud iam service-accounts create m4a-ce-src \
     --project=PROJECT_ID
  2. サービス アカウントに compute.viewer ロールを付与します。

    gcloud projects add-iam-policy-binding PROJECT_ID  \
     --member="serviceAccount:m4a-ce-src@PROJECT_ID.iam.gserviceaccount.com" \
     --role="roles/compute.viewer"
  3. サービス アカウントに compute.storageAdmin ロールを付与します。

    gcloud projects add-iam-policy-binding PROJECT_ID  \
     --member="serviceAccount:m4a-ce-src@PROJECT_ID.iam.gserviceaccount.com" \
     --role="roles/compute.storageAdmin"
  4. サービス アカウント用のキーファイルをダウンロードします。

    gcloud iam service-accounts keys create m4a-ce-src.json \
     --iam-account=m4a-ce-src@PROJECT_ID.iam.gserviceaccount.com \
     --project=PROJECT_ID 

サービス アカウント キーを JSON ファイルとしてダウンロードすると、Compute Engine ワークロードを移行するための移行元を作成できます。移行元の追加をご覧ください。

Migrate to Virtual Machines を移行元として使用する

Migrate to Virtual Machines を移行元として準備する

移行元として Migrate for Virtual Machines 5.0 を使用するには、まず次に説明する手順で Migrate for Virtual Machines サービスを有効にし、コネクタをインストールする必要があります。

  1. Migrate to Virtual Machines サービスの有効化
  2. Migrate Connector のインストール

Migrate to Virtual Machines サービス アカウントを指定する

移行元として Migrate to Virtual Machines を使用するには、サービス プロジェクトにバインドされた vmmigration.admin ロールを持つサービス アカウントを作成します。

  1. m2c-m2vm-src-service サービス アカウントを作成します。

    gcloud iam service-accounts create m2c-m2vm-src-service  --project=PROJECT_ID
    
  2. サービス アカウントに vmmigration.admin ロールを付与します。

    gcloud projects add-iam-policy-binding PROJECT_ID  \
    --member="serviceAccount:m2c-m2vm-src-service@PROJECT_ID.iam.gserviceaccount.com" \
    --role="roles/vmmigration.admin"
    
  3. サービス アカウント用のキーファイルをダウンロードします。

    gcloud iam service-accounts keys create m2c-m2vm-src-service.json \
    --iam-account=m2c-m2vm-src-service@PROJECT_ID.iam.gserviceaccount.com \
    --project=PROJECT_ID
    

Migrate to Virtual Machines ターゲット プロジェクトのサービス アカウントを指定する

移行元として Migrate to Virtual Machines を使用するには、ターゲット プロジェクトにバインドされた compute.instanceAdmin.v1compute.storageAdmin のロールを持つサービス アカウントを作成します。

  1. m2c-m2vm-src-gce サービス アカウントを作成します。

    gcloud iam service-accounts create m2c-m2vm-src-gce  --project=PROJECT_ID
    
  2. サービス アカウントに compute.instanceAdmin.v1 ロールを付与します。

    gcloud projects add-iam-policy-binding TARGET_PROJECT_ID  \
    --member="serviceAccount:m2c-m2vm-src-gce@PROJECT_ID.iam.gserviceaccount.com
    --role="roles/compute.instanceAdmin.v1"
    
  3. サービス アカウントに compute.storageAdmin ロールを付与します。

    gcloud projects add-iam-policy-binding TARGET_PROJECT_ID  \
    --member="serviceAccount:m2c-m2vm-src-gce@PROJECT_ID.iam.gserviceaccount.com" \
    --role="roles/compute.storageAdmin"
    
  4. サービス アカウント用のキーファイルをダウンロードします。

    gcloud iam service-accounts keys create m2c-m2vm-src-gce.json \
    --iam-account=m2c-m2vm-src-gce@PROJECT_ID.iam.gserviceaccount.com \
    --project=PROJECT_ID
    

サービス アカウント キーを JSON ファイルとしてダウンロードした後、Migrate for Virtual Machines ワークロードへの移行に使用するソースを作成できます。移行元の追加をご覧ください。

次のステップ