VM Import/Export を使用して、AMI 上の VM ベースのインスタンスをエクスポートする方法を教えてください。

所要時間2分
0

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 にエクスポートできます。

解決策

前提条件

**注:**AWS CLI のコマンドの実行時にエラーが発生する場合は、「AWS CLI エラーのトラブルシューティング」を参照してください。また、必ず AWS CLI の最新バージョンを使用するようにしてください。

AMI のコピーをイメージとしてエクスポートする

イメージをエクスポートするには、次の操作を行います。

  1. エクスポートする Amazon Elastic Compute Cloud (EC2) インスタンスから Amazon Elastic Block Store (Amazon EBS) -backed AMI を作成します。
    Linux の場合は、「Amazon EBS-backed AMI を作成する」を参照してください。
    Windows の場合は、「Create a custom Windows 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 により、指定された 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 --export-image-task-ids export-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 コンソールを使用して S3 バケットにアクセスし、オブジェクトを見つけてダウンロードします。

関連情報

Amazon マシンイメージ (AMI) から VM を直接エクスポートする

AWS アカウントでの IAM ユーザーの作成

AWS セキュリティ認証情報

Amazon マシンイメージ (AMI)

VM Import/Export のトラブルシューティング

AWS公式
AWS公式更新しました 1年前
コメントはありません

関連するコンテンツ