Google サービスの有効化とサービス アカウントの構成
移行を開始する前に、このセクションの以下の手順を行う必要があります。
Google Cloud CLI と必要なサービスの有効化
すべての Migrate to Containers ユーザーは、Google Cloud CLI を構成し、必要な Google サービスを有効にする必要があります。
Google Cloud CLI の準備
gcloud
を準備するには:
- gcloud CLI をインストールして初期化します。
- gcloud CLI を更新します。
gcloud components update
- gcloud CLI に、データとサービスへのアクセスが許可されていることを確認します。
gcloud auth login
新しいブラウザタブが開き、アカウントの選択を求めるプロンプトが表示されます。
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 つのサービス アカウントを作成します。
Container Registry と Cloud Storage にアクセスするために、Migrate to Containers が使用するサービス アカウント。このサービス アカウントは、Migrate to Containers コンポーネントが Container Registry にアクセスし、Cloud Storage バケットにアクセスするために必要です。これらのデータ リポジトリを使用していない場合は、このサービス アカウントを定義する必要はありません。詳細については、データ リポジトリの定義をご覧ください。
Compute Engine を移行元として使用するサービス アカウント。このサービス アカウントは、Compute Engine VM の移行時に Compute Engine リソースにアクセスするために使用されます。移行元として Compute Engine を使用しない場合は、このサービス アカウントを省略できます。
サービス アカウントを使用する場合のベスト プラクティス
Migrate to Containers に使用しているプロジェクトで、別のサービス アカウントを作成することをおすすめします。次に、必要なオペレーションを実行するために必要な権限のみをサービス アカウントに割り当てます。これにより、サービス アカウントに関連付けられる権限を制限できます。
Container Registry と Cloud Storage にアクセスするためのサービス アカウントの作成
storage.admin ロールを持つサービス アカウントを作成し、Migrate for Containers コンポーネントをインストールするときにそれを渡します。
m4a-install
サービス アカウントを作成します。gcloud iam service-accounts create m4a-install \ --project=PROJECT_ID
サービス アカウントに
storage.admin
ロールを付与します。gcloud projects add-iam-policy-binding PROJECT_ID \ --member="serviceAccount:m4a-install@PROJECT_ID.iam.gserviceaccount.com" \ --role="roles/storage.admin"
サービス アカウント用のキーファイルをダウンロードします。
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.viewer と compute.storageAdmin のロールを持つサービス アカウントを作成します。
m4a-ce-src
サービス アカウントを作成します。gcloud iam service-accounts create m4a-ce-src \ --project=PROJECT_ID
サービス アカウントに
compute.viewer
ロールを付与します。gcloud projects add-iam-policy-binding PROJECT_ID \ --member="serviceAccount:m4a-ce-src@PROJECT_ID.iam.gserviceaccount.com" \ --role="roles/compute.viewer"
サービス アカウントに
compute.storageAdmin
ロールを付与します。gcloud projects add-iam-policy-binding PROJECT_ID \ --member="serviceAccount:m4a-ce-src@PROJECT_ID.iam.gserviceaccount.com" \ --role="roles/compute.storageAdmin"
サービス アカウント用のキーファイルをダウンロードします。
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 サービスを有効にし、コネクタをインストールする必要があります。
Migrate to Virtual Machines サービス アカウントを指定する
移行元として Migrate to Virtual Machines を使用するには、サービス プロジェクトにバインドされた vmmigration.admin
ロールを持つサービス アカウントを作成します。
m2c-m2vm-src-service
サービス アカウントを作成します。gcloud iam service-accounts create m2c-m2vm-src-service --project=PROJECT_ID
サービス アカウントに
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"
サービス アカウント用のキーファイルをダウンロードします。
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.v1
と compute.storageAdmin
のロールを持つサービス アカウントを作成します。
m2c-m2vm-src-gce
サービス アカウントを作成します。gcloud iam service-accounts create m2c-m2vm-src-gce --project=PROJECT_ID
サービス アカウントに
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"
サービス アカウントに
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"
サービス アカウント用のキーファイルをダウンロードします。
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 ワークロードへの移行に使用するソースを作成できます。移行元の追加をご覧ください。
次のステップ
- Linux または Windows 用の処理クラスタとして、Google Cloud に Google Kubernetes Engine(GKE)または GKE Enterprise クラスタを構成する。
- Linux 用 Google Distributed Cloud Virtual for Bare Metal クラスタを構成する。
- 従業員 ID や他のクラウド ID を使用して Google Cloud サービスにアクセスする方法について学ぶ。