はじめに
Migrate to Virtual Machines では、EC2 インスタンスを AWS アカウントから Google Compute Engine インスタンスに移行できます。
前提条件
- Migrate to Virtual Machines による VM の移行: スタートガイドを確認してください。このドキュメントには、Migrate to Virtual Machines の全体的な構造、重要な用語、コンセプト、リファレンス情報など、ワークロードを効率的かつ効果的に移行するために役立つ情報が記載されています。
- https://console.cloud.google.com/apis/library/vmmigration.googleapis.com にアクセスして、ホスト プロジェクトで VM Migration API を有効にしてください。
- 移行元の AWS から Google Cloud への VM の移行をサポートしているオペレーティング システムを確認してください。
AWS ソースからワークロードを移行する
AWS からの移行を開始する前に、次の作業を完了して AWS 環境を設定します。
- AWS IAM ポリシーを作成する。
- Migrate to Virtual Machines サービスからアクセスする IAM ユーザーを作成する。
- 省略可: 移行する EC2 インスタンスにタグを付ける。
- Google Cloud でソースを作成する。
AWS IAM ポリシーを作成する
IAM ユーザーを作成する前に、目的のワークロードの権限を記述するポリシーを作成します。ポリシーを作成する方法については、AWS IAM ドキュメントで IAM ポリシーの作成方法をご覧ください。
提供された JSON テンプレートを使用して、ポリシーに移行権限を付与します。
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"ec2:DescribeInstances",
"ec2:DescribeVolumes",
"ec2:DescribeInstanceTypes",
"ec2:DescribeSnapshots",
"ec2:CreateTags",
"ec2:CreateSnapshots",
"ec2:StopInstances"
],
"Resource": "*"
},
{
"Effect": "Allow",
"Action": [
"ebs:ListSnapshotBlocks",
"ebs:ListChangedBlocks",
"ebs:GetSnapshotBlock",
"ec2:DeleteSnapshot",
"ec2:DeleteTags"
],
"Resource": "*",
"Condition": {
"StringEquals": {
"aws:ResourceTag/m2vm-resource": "snapshot"
}
}
}
]
}
EC2 インスタンスが、AWS 以外で管理されている鍵で暗号化されたボリュームを使用している場合は、前述のポリシーに次のステートメントを追加して、作成したユーザーに暗号鍵へのアクセス権を付与する必要があります。
{
"Effect": "Allow",
"Action": [
"kms:Decrypt",
"kms:DescribeKey"
],
"Resource": "<<KMS key ARN>>"
}
JSON テンプレート フィールドの権限の内訳については、権限の内訳をご覧ください。
IAM ユーザーを作成する
AWS ワークロードを移行するには、Migrate to Virtual Machines で使用する IAM ユーザーを作成します。IAM ユーザーにより、Migrate to Virtual Machines が AWS の公開 API を使用してアカウントとやり取りできるようになります。
AWS を移行元として使用するように IAM ユーザー権限を構成するには、AWS IAM で API ユーザーを作成します。
ユーザーを作成する際に、次のことを行います。
- プログラムによるアクセス権を持つユーザーを作成します。
- 前のセクションで作成した IAM ポリシーを新しいユーザーに関連付けます。
- この手順で生成されたアクセスキー ID とシークレット アクセスキーを保存します。これらは Migrate to Virtual Machines でソースを作成するときに必要になります。
省略可: 移行する EC2 インスタンスにタグを付ける
推奨: 移行するインスタンスにタグを付けます。以下の画像にある wantToMigrate
タグと true
タグはサンプルです。
EC2 インスタンスのタグ付けの詳細については、AWS IAM のドキュメントをご覧ください。
AWS ソースを作成する
IAM ユーザーを作成して Migrate to Virtual Machines の新しい IAM ポリシーに追加したら、移行プロセスを開始する前に AWS ソースを作成する必要があります。
AWS ソースを作成するには:
- Google Cloud コンソールで、[Migrate to Virtual Machines] ページに移動します。
- [ソース] タブを選択します。
- [ソースを追加] プルダウンを開き、[+AWS ソースを追加] を選択します。
[AWS ソースの作成] パネルにソースの詳細を入力します。
次の表に、AWS ソースの詳細に使用されるパラメータを示します。
詳細 説明 名前(必須) ソースを識別する文字列。この文字列は、Compute Engine の命名規則に従う必要があります。ソースの作成後にこのフィールドを更新することはできません。 GCP リージョン(必須) インスタンスの移行先となる Google Cloud のリージョン。ソースの作成後にこのフィールドを更新することはできません。
詳細については、ロケーションをご覧ください。AWS リージョン(必須) 移行する EC2 インスタンスのある AWS のリージョン(例: eu-west-1)。Migrate to Virtual Machines コンソールのインベントリでは、この AWS リージョンの EC2 インスタンスのみが表示されます。ソースの作成後にこのフィールドを更新することはできません。
注: 入力ミスを防ぐため、AWS コンソールからリージョンをコピーしてソースの詳細フィールドに貼り付けることをおすすめします。入力ミスがあるとソースがアクティブにならず、入力ミスがコンソールに表示されます。この場合は、新しいソースを作成する必要があります。アクセスキー ID(必須) IAM ユーザー認証情報の一部。 シークレット アクセスキー(必須) IAM ユーザー認証情報の一部。 顧客管理の暗号鍵 Google Cloud でデータを保護するために使用する鍵。Google Cloud のデフォルトでは、Google 管理の暗号鍵を使用して、自動的に保存データが暗号化されます。データを保護する鍵について特定のコンプライアンスや規制の要件がある場合、顧客管理の暗号鍵(CMEK)を使用して保存データの暗号化と復号を行うことができます。これらの暗号鍵は、ユーザーによって作成、管理、所有されます。 省略可: セキュリティ グループでインベントリをフィルタリングする Migrate to Virtual Machines インベントリで、表示された EC2 インスタンスをフィルタできます。
複数のグループ名を指定できます。この場合、Migrate to Virtual Machines には、これらのセキュリティ グループに属するインスタンスが表示されます。省略可: VM タグでインベントリをフィルタリングする(推奨) インベントリをフィルタするタグを指定します。移行対象の EC2 インスタンスのサブセットをマークできるように、タグを指定することを強くおすすめします。
複数の VM タグを指定すると、これらのタグをすべて持つインスタンスのみが Migrate to Virtual Machines に表示されます。省略可: 移行リソースのユーザータグ Migrate to Virtual Machines は、Google Cloud に移行する EC2 ボリュームのスナップショットを作成します。
これらのリソースにカスタムタグを関連付ける場合は、ここで指定します。これにより、AWS 環境で Migrate to Virtual Machines によって作成されたすべてのリソースを識別できるようになります。スナップショットには、スナップショットで詳しく説明したタグがすでに含まれています。[作成] ボタンを押します。新しいソースに関する情報が表示されます。
[ソースのステータス] が「アクティブ」に変わるまで待ちます(最大で 15 分ですが、通常はそれほどかかりません)。
インベントリを検証して、ソースの作成時に指定したタグ(またはセキュリティ グループ)に対応するインスタンスがあることを確認します。
プロジェクトは、ソースを作成するときにターゲット プロジェクトとして自動的に追加されます。
クラウドソースの制限事項
1 つのホスト プロジェクトで一度にホストできるクラウドソース(AWS ソース、Azure ソース、または両方のソースの組み合わせ)は最大 15 個です。たとえば、1 つのホスト プロジェクトで一度に 10 個の AWS ソースと 5 個の Azure ソースをホストできます。また、1 つのホスト プロジェクトで一度に 7 個の AWS ソースと 8 個の Azure ソースをホストすることもできます。すでに 15 個のクラウドソースがホストされているプロジェクトに新しいクラウドソースを追加する場合は、既存のソースを削除してから、新しいソースを追加する必要があります。既存のソースを削除しない場合は、別のプロジェクトを使用して新しいクラウドソースをホストすることもできます。
次のステップ: 移行を開始する
AWS ソースを作成したら、移行を開始できます。AWS ソースからワークロードを移行する残りのプロセスは、Migrate to Virtual Machines で他のソースから移行する場合と同じです。
移行プロセスを始める方法については、個々の VM の移行をご覧ください。
ソースとして Azure を使用する場合との違い
使用方法は、Azure をソースとして使用する場合とほぼ同じです。