Amazon マシンイメージ (AMI) のコピーを仮想マシン (VM) としてエクスポートして、オンサイトの仮想化環境にデプロイしたいと考えています。
簡単な説明
AWS コマンドラインインターフェイス (AWS CLI) と VM Import/Export を使用して、イメージエクスポートタスクを開始します。これにより、AMI のコピーが VM ファイルとしてエクスポートされ、Amazon Simple Storage Service (Amazon S3) バケットに書き込まれます。エクスポートした VM を使用して、標準化された新しいインスタンスをオンサイトの仮想化環境にデプロイします。ほとんどの AMI は、Citrix Xen、Microsoft Hyper-V、または VMware vSphere にエクスポートできます。
前提条件:
- VM エクスポートの制限を確認して、VM Import/Export が AMI をサポートしていることを確認してください。
- AWS Identity and Access Management (IAM) ユーザーとしてサインインする場合は、ポリシーに必要な IAM ユーザー権限があることを確認してください。
解決策
注: AWS CLI コマンドの実行中にエラーが発生した場合は、AWS CLI の最新バージョンを使用していることを確認してください。
1. エクスポートする Amazon Elastic Compute Cloud (EC2) インスタンスから Amazon Elastic Block Store (Amazon EBS) でバックアップされた AMI を作成します。
2. AWS CLI をクライアントマシンにインストールします。次に、IAM ユーザーの AWS 認証情報を使用して AWS CLI を設定します。
3. エクスポートする予定の AMI と同じ AWS リージョンに新しい S3 バケットを作成します。
4. VM Import/Export に使用しているリージョンで、AWS Security Token Service (AWS STS) を有効にします。次に、必要なサービスロールを作成します。
5. AWS CLI をインストールしたクライアント マシンから export-image コマンドを実行して、イメージのエクスポートタスクを開始します。
aws ec2 export-image --image-id example-ami-id --disk-image-format example-disk-image-format --s3-export-location S3Bucket=example-export-bucket,S3Prefix=exports/
**注:**前の例では、Amazon S3 キー prefixexport-ami-id.format を使用して、エクスポートされたファイルを指定の Amazon S3 バケットに書き込みます。エクスポートしたファイルにはプレフィックスを追加できます。
export-image コマンドの出力例:
{
"DiskImageFormat": "vmdk",
"ExportImageTaskId": "export-ami-1234567890abcdef0"
"ImageId": "example-ami-id",
"RoleName": "vmimport",
"Progress": "0",
"S3ExportLocation": {
"S3Bucket": "example-export-bucket",
"S3Prefix": "exports/"
},
"Status": "active",
"StatusMessage": "validating"
}
6. イメージのエクスポート タスクのステータスを確認するには、describe-export-image-tasks コマンドを実行します。
aws ec2 describe-export-image-tasks --example-image-task-id example-ami-id
describe-export-image-tasks コマンドの出力例:
{
"ExportImageTasks": [
{
"ExportImageTaskId": "export-ami-1234567890abcdef0"
"Progress": "21",
"S3ExportLocation": {
"S3Bucket": "my-export-bucket",
"S3Prefix": "exports/"
},
"Status": "active",
"StatusMessage": "updating"
}
]
}
7. イメージのエクスポート タスクのステータスが [完了済み] に変わることを確認します。これは、エクスポートされたファイルが Amazon S3 バケットのオブジェクトとして準備完了したことを示しています。
[完了済み] ステータスの出力例:
{
"ExportImageTasks": [
{
"ExportImageTaskId": "example-export-ami-id"
"S3ExportLocation": {
"S3Bucket": "example-export-bucket",
"S3Prefix": "exports/"
},
"Status": "completed"
}
]
}
8. Amazon S3 コンソールを使用して Amazon S3 バケットにアクセスします。次に、オブジェクトを見つけてダウンロードします。
関連情報
Amazon マシンイメージ (AMI) から VM を直接エクスポートする
AWS アカウントでの IAM ユーザーの作成
AWS セキュリティ認証情報
Amazon マシンイメージ (AMI)
VM Import/Export のトラブルシューティング