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

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

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

すべての Migrate for Anthos and GKE ユーザーは、Cloud SDK を構成し、必要な Google サービスを有効にする必要があります。

Cloud SDK を準備する

gcloud を準備するには:

  1. Cloud SDK をインストールし、初期化します。
  2. Cloud SDK を更新します。
    gcloud components update
  3. データとサービスへのアクセスを Cloud SDK に対して承認します。
    gcloud auth login

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

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

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

    gcloud auth application-default login

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

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

    export GOOGLE_APPLICATION_CREDENTIALS="[PATH]"

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

Migrate for Anthos and GKE では、次の 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 Google 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 for Anthos and GKE を使用する場合は、次の 2 つのサービス アカウントを作成します。

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

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

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

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

  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 for Anthos and GKE のインストールの手順に沿って、移行先の Google Kubernetes Engine クラスタに Migrate for Anthos and GKE をインストールします。

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 ワークロードを移行するための移行元を作成できます。移行元の追加をご覧ください。

次のステップ