移行元の追加
移行を開始する前に、移行を実施する対象のソース プラットフォームを表す移行元を作成します。このソースは移行計画に追加されます。
このトピックでは、サポートされている各ソースプラットフォームのソースを作成する方法について説明します。
始める前に
Migrate to Containers には、コンテナに移行する VM ワークロードの適合性を判定するために、VM ワークロード上で実行するツールが用意されています。詳細については、適合性評価ツールの使用をご覧ください。
移行環境に固有の移行の前提条件を完了します。
移行環境に固有の処理クラスタを作成します。
移行元の命名要件
Migrate to Containers に移行元を追加するときに、移行元に名前を割り当てます。この名前は次の要件を満たす必要があります。
- 最大文字数は 63 文字とする。
- 小文字の英数字またはハイフン(-)のみを使用する。
- 先頭が英数字である。
- 末尾が英数字である。
移行元の追加
migctl source create
コマンドを実行するか、Google Cloud コンソールを使用して、移行元を定義します。このプロセスは、指定した移行元(VMware または Compute Engine)からの移行に必要な詳細情報を追加します。
Google Cloud の migctl
Compute Engine
移行元として Compute Engine を使用するためサービス アカウントを作成します。サービス アカウントの構成の説明に従って、JSON キーファイルをダウンロードします。
サービス アカウントを使用して移行元を作成します。
migctl source create ce SOURCE_NAME --project PROJECT_ID --json-key=COMPUTE_KEY.json
次のように置き換えます。
- SOURCE_NAME: 移行元に付ける名前
- PROJECT_ID: プロジェクト ID
- COMPUTE_KEY.json: Compute Engine サービスに使用されるサービス アカウントの JSON キーのパス
VMware
Migrate to Virtual Machines のターゲット プロジェクトのサービス アカウントを指定するの説明に沿って、サービス アカウントを作成し、Compute Engine JSON キーファイルをダウンロードします。
Migrate to Virtual Machines サービス アカウントを指定するの説明に沿って、サービス アカウントを作成し、Migrate to Virtual Machines の JSON キーファイルをダウンロードします。
移行元を作成するには、次のコマンドを実行します。
migctl source create m2vm SOURCE_NAME --project PROJECT_ID --json-key M2VM_KEY.json --target-json-key COMPUTE_KEY.json --location LOCATION --m2vm-source M2VM_SOURCE
次のように置き換えます。
- SOURCE_NAME: 移行元に付ける名前
- PROJECT_ID: Migrate to Virtual Machines プロジェクトの ID。
- M2VM_KEY.json: Migrate to Virtual Machines サービスに使用されるサービス アカウントの JSON キーのパス。
- COMPUTE_KEY.json: Compute Engine サービスに使用されるサービス アカウントの JSON キーのパス
- LOCATION: Migrate to Virtual Machines サービスのロケーション。例:
us-central1
- M2VM_SOURCE: Migrate to Virtual Machines のソース名
Google Distributed Cloud Virtual for Bare Metal の migctl
VMware
migctl source create local-vmware local-vmware-src --vc 'VC' --username 'USERNAME' --dc VM_DC
次のように置き換えます。
- VC: vCenter の DNS 名または vCenter の IP アドレス。例:
1.2.3.4
- USERNAME: vCenter へのアクセス権限を持つユーザー。例:
admin
ユーザーのパスワードの入力を求められます。 - VM_DC:
local-vmware
ソースの vSphere データセンター。マルチ DC 環境では必須です。
CRD
Compute Engine
Compute Engine を使用したサービス アカウントの作成の説明に従って、サービス アカウントを作成し、JSON キーファイルをダウンロードします。
次のコマンドを使用してシークレットを作成します。
kubectl create secret generic COMPUTE_SECRET -n v2k-system --from-file=cloud-platform-service-account-key=COMPUTE_KEY.json
次のように置き換えます。
- COMPUTE_SECRET: Compute Engine のシークレットに付ける名前
- COMPUTE_KEY.json: Compute Engine JSON ファイルの名前
移行元を作成するには、
my-source-provider.yaml
という SourceProvider ファイルを作成します。apiVersion: anthos-migrate.cloud.google.com/v1beta2 kind: SourceProvider metadata: name: SOURCE_NAME spec: gce: project: PROJECT_ID serviceAccount: secretRef: name: COMPUTE_SECRET namespace: v2k-system
次のように置き換えます。
- SOURCE_NAME: 移行元に付ける名前
- PROJECT_ID: プロジェクト ID
- COMPUTE_SECRET: シークレットの名前。
ファイルを適用します。
kubectl apply -f my-source-provider.yaml
VMware
Compute Engine を使用したサービス アカウントの作成の説明に従って、サービス アカウントを作成し、Compute Engine JSON キーファイルをダウンロードします。
次のコマンドを使用して Compute Engine のシークレットを作成します。
kubectl create secret generic COMPUTE_SECRET -n v2k-system --from-file=cloud-platform-service-account-key=COMPUTE_KEY.json
次のように置き換えます。
- COMPUTE_SECRET: Compute Engine のシークレットに付ける名前
- COMPUTE_KEY.json: Compute Engine JSON ファイルの名前
Migrate to Virtual Machines サービス アカウントを指定するの説明に沿って、サービス アカウントを作成し、Migrate to Virtual Machines の JSON キーファイルをダウンロードします。
次のコマンドを使用して Migrate to Virtual Machines のシークレットを作成します。
kubectl create secret generic M2VM_SECRET -n v2k-system --from-file=cloud-platform-service-account-key=M2VM_KEY.json
次のように置き換えます。
- M2VM_SECRET: Migrate to Virtual Machines のシークレットに付ける名前
- M2VM_KEY.json: Migrate to Virtual Machines の JSON ファイルの名前
移行元を作成するには、
my-source-provider.yaml
という SourceProvider ファイルを作成します。apiVersion: anthos-migrate.cloud.google.com/v1beta2 kind: SourceProvider metadata: name: SOURCE_NAME spec: gce: project: PROJECT_ID serviceAccount: secretRef: name: COMPUTE_SECRET namespace: v2k-system remoteSourceSpec: migrateForCEService: location: LOCATION project: PROJECT_ID serviceAccount: secretRef: name: M2VM_SECRET namespace: v2k-system sourceName: M2VM_SOURCE
次のように置き換えます。
- SOURCE_NAME: 移行元に付ける名前
- PROJECT_ID: プロジェクト ID
- COMPUTE_SECRET: Compute Engine のシークレットの名前
- LOCATION: プロジェクトのロケーション
- M2VM_SECRET: Migrate to Virtual Machines のシークレットの名前
- M2VM_SOURCE: Migrate to Virtual Machines のソース名
ファイルを適用します。
kubectl apply -f my-source-provider.yaml
コンソール
Google Cloud コンソールで [Migrate to Containers] ページを開きます。
リモート GKE Enterprise クラスタを使用している場合、つまり Bare Metal 向け Google Distributed Cloud Virtual を使用していて、まだクラスタにログインしていない場合は、ここでログインします。
リモート クラスタへのアクセスの詳細については、Google Cloud コンソールからクラスタへのログインをご覧ください。
[ソース] タブをクリックして、使用可能なソースを含むテーブルを表示します。
[ソースを追加] をクリックします。
プルダウン リストから、Migrate to Containers コンポーネントをすでにインストールしているクラスタを選択します。
[次へ] をクリックします。
移行元の名前を指定します。
[ソースタイプ] を選択します。
[次へ] をクリックします。
[ソースの種類] での選択に基づいてソースを構成します。
Compute Engine の場合:
移行する VM が含まれているプロジェクトを選択します。
サービス アカウントを選択します。次のいずれかを行います。
- 新しいサービス アカウントを作成します。新しいサービス アカウントの名前の入力を求められます。
- Compute Engine を移行元として使用するためのサービス アカウントの作成の説明に沿ってサービス アカウントを作成した場合は、既存のサービス アカウントを使用します。このオプションを選択すると、そのサービス アカウントに関連付けられた JSON キーファイルの内容を入力するように求められます。
[次へ] をクリックします。
[ソースを追加] を選択します。
ソースを追加すると、クラスタに新しい SourceProvider が表示されます。
kubectl get SourceProvider
ソースのリストの表示
移行のソースで環境が正常に構成されたことを確認するために、migctl source list
コマンドまたは Google Cloud コンソールでソースのリストを確認できます。
migctl
migctl source list
移行元が READY
状態でない場合、次のコマンドを使用すると、移行元に関する詳細情報(エラー メッセージを含む)を取得できます。
migctl source status SOURCE_NAME
コンソール
Google Cloud コンソールで [Migrate to Containers] ページを開きます。
使用可能なソースを含むテーブルを表示するには、[ソースを管理] をクリックします。
移行元としての 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
PROJECT_ID は、実際のプロジェクト 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"
PROJECT_ID は、実際のプロジェクト ID に置き換えます。
サービス アカウント用のキーファイルをダウンロードします。
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
PROJECT_ID は、実際のプロジェクト 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
PROJECT_ID は、実際のプロジェクト 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"
PROJECT_ID は、実際のプロジェクト ID に置き換えます。
サービス アカウントに
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"
PROJECT_ID は、実際のプロジェクト ID に置き換えます。
サービス アカウント用のキーファイルをダウンロードします。
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
PROJECT_ID は、実際のプロジェクト ID に置き換えます。
サービス アカウント キーを JSON ファイルとしてダウンロードした後、Migrate to Virtual Machines ワークロードへの移行に使用するソースを作成できます。
次のステップ
- 移行計画の作成方法を確認する。