

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# VM Import/Export を使用して Amazon マシンイメージ (AMI) から VM をエクスポートする
<a name="vmexport_image"></a>

Amazon マシンイメージ (AMI) に基づく VM ファイルのエクスポートは、標準化された新しいインスタンスを仮想化環境にデプロイする場合に役立ちます。通常 AMI は、Citrix Xen、Microsoft Hyper-V、および VMware vSphere にエクスポートできます。

イメージをエクスポートする場合、エクスポートされた VM が保存されるバケットに対して、標準的な Amazon S3 料金が請求されます。また、Amazon EBS スナップショットの一時的な使用に対して少額の料金が発生する場合があります。Amazon S3 料金の詳細については、[Amazon Simple Storage Service の料金](https://aws.amazon.com/s3/pricing/)を参照してください。

**Topics**
+ [

# Amazon EC2 からイメージをエクスポートするための前提条件
](prerequisites-image-export.md)
+ [

# イメージのエクスポートに関する検討事項
](limits-image-export.md)
+ [

# イメージのエクスポートタスクの開始
](start-image-export.md)
+ [

# イメージのエクスポートタスクのモニタリング
](monitor-image-export.md)
+ [

# イメージのエクスポートタスクのキャンセル
](cancel-image-export.md)

# Amazon EC2 からイメージをエクスポートするための前提条件
<a name="prerequisites-image-export"></a>

Amazon EC2 から VM をエクスポートするには、まず以下の前提条件を満たしてください。
+ をインストールします AWS CLI。詳細については、「[AWS Command Line Interface ユーザーガイド](https://docs.aws.amazon.com/cli/latest/userguide/)」を参照してください。
**ヒント**  
[サポートされている AWS リージョン](https://docs.aws.amazon.com/cloudshell/latest/userguide/supported-aws-regions.html) では、 AWS マネジメントコンソールから直接起動するブラウザベースの事前認証されたシェルのための [AWS CloudShell](https://docs.aws.amazon.com/cloudshell/latest/userguide/welcome.html) も使用できます。
+ エクスポートされたイメージを保存する Amazon Simple Storage Service (Amazon S3) バケットを作成するか、既存のバケットを選択します。バケットは、VM をエクスポートするリージョンに存在する必要があります。さらに、バケットはエクスポートオペレーションを実行する AWS アカウント に属している必要があります。S3 バケットの詳細については、[Amazon Simple Storage Service ユーザーガイド](https://docs.aws.amazon.com/AmazonS3/latest/userguide/)を参照してください。
+ IAM ロール (`vmimport`) を作成します。詳細については、「[必要なサービスロール](required-permissions.md#vmimport-role)」を参照してください。

# イメージのエクスポートに関する検討事項
<a name="limits-image-export"></a>

イメージとボリュームのエクスポートには、次の制限事項があります。
+ 仮想化環境でサポートされている以下のいずれかのイメージ形式でエクスポートする必要があります。
  + Virtual Hard Disk (VHD)。Citrix Xen および Microsoft Hyper-V 仮想化製品と互換性があります。
  + ストリームに最適化された ESX Virtual Machine Disk (VMDK)。VMware ESX および VMware vSphere バージョン 4、5、6 と互換性があります。
  + raw 形式。
+ インスタンスをエクスポートする際に、インスタンスのエクスポートに使用するベース AMI が存在している必要があります。この AMI を削除した場合、エクスポートは失敗します。
+ VM Import/Export は、エクスポート元と同じ AWS アカウント の S3 バケットへの VM のエクスポートのみをサポートします。
+ エクスポート操作は、ハイブリッド構成をサポートしていません。GRUB2 は、BIOS と UEFI のどちらかで有効にする必要がありますが、両方で有効にすることはできません。
+  AWSによって提供されたサードパーティー製ソフトウェアが含まれている場合、イメージをエクスポートすることはできません。たとえば、VM Export では、Windows または SQL Server イメージや、 AWS Marketplaceのイメージから作成されたイメージをエクスポートすることはできません。
+ ブロックデバイスマッピングで、暗号化された EBS スナップショットを持つイメージをエクスポートすることはできません。
+ エクスポートできるのは、ブロックデバイスマッピングで指定された EBS データボリュームのみです。インスタンスの起動後にアタッチされた EBS ボリュームはエクスポートできません。
+ 別の AWS アカウントからイメージを共有している場合、Amazon EC2 からイメージをエクスポートすることはできません。
+ 同じ AMI に対して複数のイメージエクスポートタスクを同時に実行することはできません。
+ デフォルトでは、リージョンあたり同時に実行できる変換タスクは 最大 5 個です。この制限は最大 20 個まで調整可能です。
+ ボリュームが 1 TiB を超える VM はサポートされていません。
+ ボリュームを、暗号化されていない S3 バケットにエクスポートするか、または SSE-S3 暗号化を使用して暗号化したバケットにエクスポートできます。SSE-KMS 暗号化を使用して暗号化された S3 バケットにエクスポートすることはできません。

# イメージのエクスポートタスクの開始
<a name="start-image-export"></a>

VM Import/Export を使用してイメージをエクスポートすると、エクスポートされたファイルは、次の S3 キーを使用して指定された S3 バケットに書き込まれます。

```
prefixexport-ami-xxxxxxxxxxxxxxxxx.format
```

例えば、バケット名が `amzn-s3-demo-export-bucket`、プレフィックスが `exports/`、形式が VMDK の場合、エクスポートされたイメージは `amzn-s3-demo-export-bucket/exports/export-ami-1234567890abcdef0.vmdk` に書き込まれます。

サポートされる形式については、「[イメージのエクスポートに関する検討事項](limits-image-export.md)」を参照してください。

------
#### [ AWS CLI ]

**イメージをエクスポートするには**  
[export-image](https://docs.aws.amazon.com/cli/latest/reference/ec2/export-image.html) コマンドを使用します。

```
aws ec2 export-image \
    --description "$(date '+%b %d %H:%M') My image export" \
    --image-id ami-1234567890abcdef0 \
    --disk-image-format VMDK \
    --s3-export-location S3Bucket=amzn-s3-demo-export-bucket,S3Prefix=exports/
```

以下は出力の例です。

```
{
    "Description": "Jul 15 16:31 My image export",
    "DiskImageFormat": "VMDK",
    "ExportImageTaskId": "export-ami-36a041c1000000000",
    "ImageId": "ami-1234567890abcdef0",
    "Progress": "0",
    "S3ExportLocation": {
        "S3Bucket": "amzn-s3-demo-export-bucket",
        "S3Prefix": "exports/"
    },
    "Status": "active",
    "StatusMessage": "validating"
}
```

------
#### [ PowerShell ]

**イメージをエクスポートするには**  
[Export-EC2Image](https://docs.aws.amazon.com/powershell/latest/reference/items/Export-EC2Image.html) コマンドレットを使用します。

```
Export-EC2Image `
    -Description ((Get-Date -Format "MMM dd HH:mm ") + "My image export") `
    -ImageId ami-1234567890abcdef0 `
    -DiskImageFormat VMDK `
    -S3ExportLocation_S3Bucket amzn-s3-demo-export-bucket `
    -S3ExportLocation_S3Prefix exports/
```

以下は出力の例です。

```
Description       : Jul 15 16:35 My image export
DiskImageFormat   : VMDK
ExportImageTaskId : export-ami-36a041c1000000000
ImageId           : ami-1234567890abcdef0
Progress          : 0
RoleName          : 
S3ExportLocation  : Amazon.EC2.Model.ExportTaskS3Location
Status            : active
StatusMessage     : validating
Tags              : {}
```

------

# イメージのエクスポートタスクのモニタリング
<a name="monitor-image-export"></a>

VM Import/Export を使用してイメージのエクスポートを開始した後、エクスポート操作をモニタリングできます。

------
#### [ AWS CLI ]

**イメージのエクスポートタスクをモニタリングするには**  
次の [describe-export-image-tasks](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-export-image-tasks.html) コマンドを使用します。

```
aws ec2 describe-export-image-tasks \
    --export-image-task-ids export-ami-1234567890abcdef0
```

以下は出力の例です。`active` ステータスが表示される場合、エクスポートタスクは進行中です。ステータスが `completed` の場合は、イメージが使用可能であることを意味します。

```
{
  "ExportImageTasks": [
      {
          "Description": "Jul 15 16:31 My image export",
          "ExportImageTaskId": "export-ami-1234567890abcdef0",
          "Progress": "21",
          "S3ExportLocation": {
              "S3Bucket": "amzn-s3-demo-export-bucket",
              "S3Prefix": "exports/"
          },
          "Status": "active",
          "StatusMessage": "updating"
      }
  ]
}
```

**イメージのエクスポートタスクすべてをモニタリングするには**  
次の [describe-export-image-tasks](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-export-image-tasks.html) コマンドを使用します。

```
aws ec2 describe-export-image-tasks \
  --query "ExportImageTasks[*].{\
    Description:Description,\
    ExportImageTaskId:ExportImageTaskId,\
    ImageId:ImageId,\
    Status:Status,\
    Progress:Progress,\
    S3Bucket:S3ExportLocation.S3Bucket}" \
  --output table
```

以下は出力の例です。

```
--------------------------------------------------------------------------------------------------------------------------------------------------
|                                                      DescribeExportImageTasks                                                                  |
+------------------------------+-------------------------------+------------------------+-----------+------------------------------+-------------+
|          Description         |       ExportImageTaskId       |        ImageId         | Progress  |          S3Bucket            |   Status    |
+------------------------------+-------------------------------+------------------------+-----------+------------------------------+-------------+
|  Jul 15 16:35 My image export|  export-ami-1234567890abcdef0 |                        |  80       |  amzn-s3-demo-export-bucket  |  active     |
|  Jul 15 16:31 My image export|  export-ami-1234567890abcdef1 |  ami-ab34567890abcdef0 |  None     |  amzn-s3-demo-export-bucket  |  completed  |
+------------------------------+-------------------------------+------------------------+-----------+------------------------------+-------------+
```

------
#### [ PowerShell ]

**イメージのエクスポートタスクをモニタリングするには**  
次のように、[Get-EC2ExportImageTask](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2ExportImageTask.html) コマンドレットを使用します。

```
Get-EC2ExportImageTask `
   -ExportImageTaskId export-ami-1234567890abcdef0 |
      Format-List *, 
         @{Name='S3ExportLocation';Expression={$_.S3ExportLocation | Format-List | Out-String}}
```

以下は出力の例です。`active` ステータスが表示される場合、エクスポートタスクは進行中です。ステータスが `completed` の場合は、イメージが使用可能であることを意味します。

```
Description       : Jul 15 16:35 My image export
ExportImageTaskId : export-ami-1234567890abcdef0
ImageId           : ami-ab34567890abcdeff
Progress          : 80
S3ExportLocation  : Amazon.EC2.Model.ExportTaskS3Location
Status            : active
StatusMessage     : converting
Tags              : {}
S3ExportLocation  : 
                    S3Bucket : amzn-s3-demo-export-bucket
                    S3Prefix : exports/
```

**イメージのエクスポートタスクすべてをモニタリングするには**  
次のように、[Get-EC2ExportImageTask](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2ExportImageTask.html) コマンドレットを使用します。

```
Get-EC2ExportImageTask | 
   Format-Table Description, ExportImageTaskId, ImageId, Status, Progress,  
   @{Name='S3Bucket';Expression={$_.S3ExportLocation.S3Bucket}}
```

以下は出力の例です。

```
Description                  ExportImageTaskId            ImageId               Status    Progress S3Bucket
-----------                  -----------------            -------               ------    -------- --------
Jul 15 16:35 My image export export-ami-1234567890abcdef0                       active    80       amzn-s3-demo-export-bucket
Jul 15 16:31 My image export export-ami-1234567890abcdef1 ami-ab34567890abcdef0 completed          amzn-s3-demo-export-bucket
```

------

# イメージのエクスポートタスクのキャンセル
<a name="cancel-image-export"></a>

VM Import/Export を使用してイメージのエクスポートを開始した後、必要に応じてエクスポート操作をキャンセルできます。エクスポートタスクが完了した後、または最終的なディスクイメージの転送処理中にエクスポートタスクをキャンセルしようとすると、キャンセル操作は失敗し、エラーが返されます。

イメージのエクスポートタスクについては、「[イメージのエクスポートタスクのモニタリング](monitor-image-export.md)」を参照してください。

------
#### [ AWS CLI ]

**イメージのエクスポートタスクをキャンセルするには**  
[cancel-export-task](https://docs.aws.amazon.com/cli/latest/reference/ec2/cancel-export-task.html) コマンドを使用します。コマンドが成功した場合、出力は返りません。

```
aws ec2 cancel-export-task \
    --export-task-id export-ami-1234567890abcdef0
```

------
#### [ PowerShell ]

**イメージのエクスポートタスクをキャンセルするには**  
[Stop-EC2ExportTask](https://docs.aws.amazon.com/powershell/latest/reference/items/Stop-EC2ExportTask.html) コマンドレットを使用します。

```
Stop-EC2ExportTask `
    -ExportTaskId export-ami-1234567890abcdef0
```

------