

# Amazon EC2 AMI のコピー
<a name="CopyingAMIs"></a>

複数のリージョンを横断する、一貫性のある Amazon EC2 インスタンス設定が必要な場合は、すべてのインスタンスを起動するための単一の Amazon マシンイメージ (AMI) をテンプレートとして使用します。ただし、AMI はリージョンに固有のリソースであるため、特定の AWS リージョンでインスタンスを起動するときは、そのリージョンに AMI を配置する必要があります。したがって複数のリージョンで同じ AMI を使用するときは、その AMI をソースのリージョンからターゲットとなる各リージョンにコピーする必要があります。

AMI をコピーする方法は、*同じ[パーティション](https://docs.aws.amazon.com/glossary/latest/reference/glos-chap.html#partition)内*のリージョン間でコピーするか、*異なるパーティション*のリージョン間でコピーするかによって異なります。
+ **クロスリージョンコピー** – AMI を*同じパーティション内*のリージョン間でコピーします。例えば、商用パーティション内のリージョン間でコピーするなどです。この方法については本トピックで説明します。
+ **クロスパーティションコピー** – AMI を*特定のパーティションから別のパーティション*にコピーします。例えば、商用パーティションから AWS GovCloud (US) パーティションにコピーするなどです。この方法の詳細については「[AMI を保存および復元する許可された AMI](ami-store-restore.md)」を参照してください。
+ **クロスアカウントコピー** – 別の AWS アカウントが[お使いの AWS アカウントと共有している](sharingamis-explicit.md) AMI のコピーを作成します。この方法については本トピックで説明します。

クロスリージョンコピーとクロスアカウンコピーの完了までに要する時間は、ベストエフォートベースとなります。完了時間をコントロールする必要がある場合は、15 分から 48 時間までの範囲で完了時間を指定して、AMI が所定の時間内にコピーされるようにすることができます。時間ベースの AMI コピー操作には追加料金が適用されます。詳細については、「*Amazon EBS ユーザーガイド*」の「[料金と請求](https://docs.aws.amazon.com/ebs/latest/userguide/time-based-copies.html)」を参照してください。

**Topics**
+ [考慮事項](#copy-ami-considerations)
+ [コスト](#copy-ami-costs)
+ [Amazon EC2 AMI をコピーするための権限を付与する](copy-ami-permissions.md)
+ [AMI のコピー](#ami-copy-steps)
+ [保留中の AMI コピー操作の中止](#ami-copy-stop)
+ [Amazon EC2 AMI コピーの仕組み](how-ami-copy-works.md)

## 考慮事項
<a name="copy-ami-considerations"></a>
+ **AMI をコピーするためのアクセス許可** – IAM ポリシーを使用すると、AMI をコピーするためのアクセス許可をユーザーに付与したり、それを拒否したりできます。2024 年 10 月 28 日以降、ソース AMI の `CopyImage` アクションにリソースレベルのアクセス許可を指定できます。新しい AMI のリソースレベルのアクセス許可は以前と同様に利用できます。
+ **起動許可と Amazon S3 バケット許可** – AWS は、起動許可と Amazon S3 バケット許可をソース AMI から新しい AMI にコピーしません。コピー操作が完了したら、新しいAMIに起動パーミッションと Amazon S3バケットパーミッションが適用できます。
+ **タグ** – コピーできるのは、ソース AMI にアタッチされているユーザー定義の AMI タグだけです。システムタグ (`aws:` プレフィックスが付いている) や、他の AWS アカウント がアタッチしたユーザー定義タグはコピーされません。AMI をコピーするときに、新しい AMI とそのバックアップスナップショットに新しいタグをアタッチできます。
+ **時間ベースの AMI コピーのクォータ** – *累積スナップショットコピースループットクォータ*に達すると、それ以降の時間ベースの AMI コピーリクエストは失敗します。詳細については「*Amazon EBS ユーザーガイド*」の「[クォータ](https://docs.aws.amazon.com/ebs/latest/userguide/time-based-copies.html#time-based-copies-quota)」を参照してください。
+ **サポートされている送信元と送信先のコピー** – コピーできるかどうか、および新しい AMI で許可される送信先はソース AMI の場所によって決まります。
  + 1 つのリージョンにあるソース AMI は、そのリージョン内、別のリージョン、そのリージョンに関連付けられた Outpost、またはそのリージョン内のローカルゾーンにコピーできます。
  + 1 つのローカルゾーンにあるソース AMI は、そのローカルゾーン内、そのローカルゾーンの親リージョン、または同じ親リージョンを持つ他の特定のローカルゾーンにコピーできます。
  + Outpost にあるソース AMI はコピーできません。
+ **送信元と送信先の CLI パラメータ** – CLI を使用する場合、次のパラメータを使用して、コピーする AMI の送信元の場所と新しい AMI の送信先を指定できます。コピーオペレーションはコピー先リージョンで開始する必要があります。`--region` パラメータを省略すると、AWS CLI 設定で構成されているデフォルトのリージョンがコピー先になります。    
[See the AWS documentation website for more details](http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/CopyingAMIs.html)

## コスト
<a name="copy-ami-costs"></a>

完了時間を指定しない場合、AMI のコピーに料金はかかりません。ただし、時間を指定して AMI をコピーした場合は、追加料金がかかります。詳細については、「*Amazon EBS ユーザーガイド*」の「[料金と請求](https://docs.aws.amazon.com/ebs/latest/userguide/time-based-copies.html#time-based-copies-pricing)」を参照してください。

標準のストレージ料金とデータ転送料金が適用されます。EBS-backed AMI をコピーする場合は、追加の EBS スナップショットのストレージに対して料金が発生します。

## AMI のコピー
<a name="ami-copy-steps"></a>

コピーできるのは、自分が所有している AMI、または別のアカウントから共有された AMI です。サポートされている送信元と送信先の組み合わせについては、「[考慮事項](#copy-ami-considerations)」を参照してください。

------
#### [ Console ]

**AMI をコピーするには**

1. Amazon EC2 コンソール ([https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)) を開きます。

1. コンソールのナビゲーションバーから、AMI を含むリージョンを選択してください。

1. ナビゲーションペインで、**[AMI]** を選択し、リージョンで利用できる AMI のリストを表示します。

1. コピーする AMI が表示されない場合は、別のフィルターを選択してください。AMI は、**[自己所有]**、**[プライベートイメージ]**、**[パブリックイメージ]**、および **[無効化されたイメージ]** でフィルタリングできます。

1. コピーする AMI を選択して、**[アクション]**、**[AMI のコピー]** の順に選択してください。

1. **[Amazon マシンイメージ (AMI) をコピー]** のページで、次の情報を指定します。

   1. **[AMI コピー名]** : 新しい AMI の名前。この名前にはオペレーティングシステム情報を含めることができます (Amazon EC2 は AMI の詳細を表示するときにこの情報を提供しません)。

   1. **[AMI コピーの説明]** : デフォルトでは、オリジナルからコピーを見分けられるように、ソース AMI に関する情報が説明に含まれています。この説明は必要に応じて変更できます。

   1. **[送信先リージョン]** : AMI をコピーするリージョン。詳細については、「[リージョン間のコピー](how-ami-copy-works.md#copy-amis-across-regions)」および「[アカウント間のコピー](how-ami-copy-works.md#copy-ami-across-accounts)」を参照してください。

   1. **[タグのコピー]**: このチェックボックスをオンにし、AMI のコピー時にユーザー定義の AMI タグを含めます。システムタグ (`aws:` プレフィックスが付いている) や、他の AWS アカウント がアタッチしたユーザー定義タグはコピーされません。

   1. **時間ベースのコピー**: 次のように、指定した時間内にコピーを完了させるか、ベストエフォートベースで完了させるかを指定できます。
      + 指定した時間内にコピーを完了させるには:
        + **[時間ベースのコピーを有効にする]** を選択します。
        + **[完了時間]** に、コピーに割り当てる時間 (分) を 15 分単位で入力します。完了期間は、AMI に関連付けられているすべてのスナップショットに適用されます。

          詳細については、「*Amazon EBS ユーザーガイド*」の「[料金と請求](https://docs.aws.amazon.com/ebs/latest/userguide/time-based-copies.html)」を参照してください。
      + ベストエフォートベースでコピーを完了するには:
        + **[時間ベースのコピーを有効にする]** の選択を外したままにします。

   1. (EBS バックされた AMI のみ) **[AMI コピーの EBS スナップショットを暗号化]**: ターゲットスナップショットを暗号化するか、別のキーを使用して再暗号化する場合、このチェックボックスを選択してください。デフォルトで暗号化を有効にしている場合、**[AMI コピーの EBS スナップショットを暗号化]** チェックボックスがオンになり、オフにできません。詳細については、「[暗号化とコピー](how-ami-copy-works.md#ami-copy-encryption)」を参照してください。

   1. (EBS-backed AMI のみ) **[KMS キー]**: ターゲットスナップショットを暗号化するための KMS キー。

   1. **[タグ]**: 新しい AMI と新しいスナップショットに同じタグを付けることも、異なるタグでタグ付けすることもできます。
      + 新しい AMI と新しいスナップショットに*同じタグ*を付けるには、**[イメージとスナップショットに対し一緒にタグを付けます]** を選択してください。新しい AMI と作成されるすべてのスナップショットには、同じタグが適用されます。
      + 新しい AMI と新しいスナップショットに*異なる*タグを付けるには、**[イメージとスナップショットに対し個別にタグを付けます]** を選択してください。新しい AMI と作成されるスナップショットには、異なるタグが適用されます。ただし、作成されるすべての新しいスナップショットには同じタグが付けられることに注意してください。新しいそれぞれのスナップショットに異なるタグを付けることはできません。

      (オプション) タグを追加するには、[**タグ追加**] を選択し、そのタグのキーと値を入力してください。各タグについて、これを繰り返します。

   1. AMI をコピーする準備ができたら、**[AMI のコピー]** を選択してください。

      新しい AMI の初期ステータスは `Pending` です。ステータスが `Available` になると、AMI のコピー操作は完了です。

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

**リージョン間で AMI をコピーするには**  
[copy-image](https://docs.aws.amazon.com/cli/latest/reference/ec2/copy-image.html) コマンドを使用します。コピー元リージョンおよび送信先リージョンの両方を指定する必要があります。コピー元のリージョンは、`--source-region` パラメータを使用して指定します。`--region` パラメータを使用して送信先リージョンを指定できます (このパラメータを省略すると AWS CLI 設定で構成されているデフォルトのリージョンが使用されます)。

```
aws ec2 copy-image \
    --source-image-id {{ami-0abcdef1234567890}} \
    --source-region {{us-west-2}} \
    --name {{my-ami}} \
    --region {{us-east-1}}
```

AMI のコピー時にターゲットスナップショットを暗号化する場合は、追加のパラメータを (`--encrypted` および `--kms-key-id`) を指定する必要があります。

**リージョンからローカルゾーンに AMI をコピーするには**  
[copy-image](https://docs.aws.amazon.com/cli/latest/reference/ec2/copy-image.html) コマンドを使用します。送信元と送信先の両方を指定する必要があります。コピー元のリージョンは、`--source-region` パラメータを使用して指定します。送信先のローカルゾーンは、`--destination-availability-zone` パラメータを使用して指定します (`--destination-availability-zone-id` を使用することもできます)。リージョン内の AMI は、同じリージョン内のローカルゾーンにのみコピーできます。

```
aws ec2 copy-image \
    --source-image-id {{ami-0abcdef1234567890}} \
    --source-region {{cn-north-1}} \
    --destination-availability-zone {{cn-north-1-pkx-1a}} \
    --name {{my-ami}} \
    --region {{cn-north-1}}
```

**ローカルゾーンからリージョンに AMI をコピーするには**  
[copy-image](https://docs.aws.amazon.com/cli/latest/reference/ec2/copy-image.html) コマンドを使用します。送信元と送信先の両方を指定する必要があります。コピー元のリージョンは、`--source-region` パラメータを使用して指定します。`--region` パラメータを使用して送信先リージョンを指定します (このパラメータを省略すると AWS CLI 設定で構成されているデフォルトのリージョンが使用されます)。送信元のローカルゾーンは、指定されたソース AMI ID の場所から継承されます。ローカルゾーンの AMI は、そのローカルゾーンの親リージョンにのみコピーできます。

```
aws ec2 copy-image \
    --source-image-id {{ami-0abcdef1234567890}} \
    --source-region {{cn-north-1}} \
    --name {{my-ami}} \
    --region {{cn-north-1}}
```

**ローカルゾーン間で AMI をコピーするには**  
[copy-image](https://docs.aws.amazon.com/cli/latest/reference/ec2/copy-image.html) コマンドを使用します。送信元と送信先の両方を指定する必要があります。送信元のローカルゾーンのリージョンは、`--source-region` パラメータを使用して指定します。送信先のローカルゾーンは、`--destination-availability-zone` パラメータを使用して指定します (`--destination-availability-zone-id` を使用することもできます)。送信元のローカルゾーンは、指定されたソース AMI ID の場所から継承されます。`--region` パラメータを使用して送信先ローカルゾーンの親リージョンを指定します (このパラメータを省略すると AWS CLI 設定で構成されているデフォルトのリージョンが使用されます)。

```
aws ec2 copy-image \
    --source-image-id {{ami-0abcdef1234567890}} \
    --source-region {{cn-north-1}} \
    --destination-availability-zone {{cn-north-1-pkx-1a}} \
    --name {{my-ami}} \
    --region {{cn-north-1}}
```

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

**リージョン間で AMI をコピーするには**  
[Copy-EC2Image](https://docs.aws.amazon.com/powershell/latest/reference/items/Copy-EC2Image.html) コマンドレットを使用します。コピー元リージョンおよび送信先リージョンの両方を指定する必要があります。コピー元のリージョンは、`-SourceRegion` パラメータを使用して指定します。送信先リージョンは、`-Region` パラメータ、または [Set-AWSDefaultRegion](https://docs.aws.amazon.com/powershell/latest/userguide/pstools-installing-specifying-region.html) コマンドレットを使用して指定できます。

```
Copy-EC2Image `
    -SourceImageId {{ami-0abcdef1234567890}} `
    -SourceRegion {{us-west-2}} `
    -Name {{my-ami}} `
    -Region {{us-east-1}}
```

AMI のコピー時にターゲットスナップショットを暗号化する場合は、追加のパラメータを (`-Encrypted` および `-KmsKeyId`) を指定する必要があります。

**リージョンからローカルゾーンに AMI をコピーするには**  
[Copy-EC2Image](https://docs.aws.amazon.com/powershell/latest/reference/items/Copy-EC2Image.html) コマンドレットを使用します。送信元と送信先の両方を指定する必要があります。コピー元のリージョンは、`-SourceRegion` パラメータを使用して指定します。送信先のローカルゾーンは、`-DestinationAvailabilityZone` パラメータを使用して指定します (`-DestinationAvailabilityZoneId` を使用することもできます)。リージョン内の AMI は、同じリージョン内のローカルゾーンにのみコピーできます。

```
Copy-EC2Image `
    -SourceImageId {{ami-0abcdef1234567890}} `
    -SourceRegion {{cn-north-1}} `
    -DestinationAvailabilityZone {{cn-north-1-pkx-1a}} `
    -Name {{my-ami}} `
    -Region {{cn-north-1}}
```

**ローカルゾーンからリージョンに AMI をコピーするには**  
[Copy-EC2Image](https://docs.aws.amazon.com/powershell/latest/reference/items/Copy-EC2Image.html) コマンドレットを使用します。送信元と送信先の両方を指定する必要があります。コピー元のリージョンは、`-SourceRegion` パラメータを使用して指定します。送信先リージョンは、`-Region` パラメータ、または [Set-AWSDefaultRegion](https://docs.aws.amazon.com/powershell/latest/userguide/pstools-installing-specifying-region.html) コマンドレットを使用して指定します。送信元のローカルゾーンは、指定されたソース AMI ID の場所から継承されます。ローカルゾーンの AMI は、そのローカルゾーンの親リージョンにのみコピーできます。

```
Copy-EC2Image `
    -SourceImageId {{ami-0abcdef1234567890}} `
    -SourceRegion {{cn-north-1}} `
    -Name {{my-ami}} `
    -Region {{cn-north-1}}
```

**ローカルゾーン間で AMI をコピーするには**  
[Copy-EC2Image](https://docs.aws.amazon.com/powershell/latest/reference/items/Copy-EC2Image.html) コマンドレットを使用します。送信元と送信先の両方を指定する必要があります。送信元のローカルゾーンのリージョンは、`-SourceRegion` パラメータを使用して指定します。送信先のローカルゾーンは、`-DestinationAvailabilityZone` パラメータを使用して指定します (`-DestinationAvailabilityZoneId` を使用することもできます)。送信元のローカルゾーンは、指定されたソース AMI ID の場所から継承されます。送信先のローカルゾーンの親リージョンは、`-Region` パラメータ、または [Set-AWSDefaultRegion](https://docs.aws.amazon.com/powershell/latest/userguide/pstools-installing-specifying-region.html) コマンドレットを使用して指定できます。

```
Copy-EC2Image `
    -SourceImageId {{ami-0abcdef1234567890}} `
    -SourceRegion {{cn-north-1}} `
    -DestinationAvailabilityZone {{cn-north-1-pkx-1a}} `
    -Name {{my-ami}} `
    -Region {{cn-north-1}}
```

------

## 保留中の AMI コピー操作の中止
<a name="ami-copy-stop"></a>

次の手順を使用して、保留中の AMI コピーを停止できます。

------
#### [ Console ]

**AMI のコピー操作を中止するには**

1. Amazon EC2 コンソールの [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) を開いてください。

1. ナビゲーションバーのリージョンセレクターから対象のリージョンを選択してください。

1. ナビゲーションペインで [**AMI**] を選択してください。

1. コピーを中止する AMI を選択し、**[アクション]**、**[AMI を登録解除]** を選択してください。

1. 確認を求めるメッセージが表示されたら、**[AMI の登録解除]** を選択してください。

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

**AMI のコピー操作を中止するには**  
[deregister-image](https://docs.aws.amazon.com/cli/latest/reference/ec2/deregister-image.html) コマンドを使用します。

```
aws ec2 deregister-image --image-id {{ami-0abcdef1234567890}}
```

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

**を使用して AMI のコピー操作を中止するには**  
[Unregister-EC2Image](https://docs.aws.amazon.com/powershell/latest/reference/items/Unregister-EC2Image.html) コマンドレットを使用します。

```
Unregister-EC2Image -ImageId {{ami-0abcdef1234567890}}
```

------