

# Amazon EC2 AMI 복사
<a name="CopyingAMIs"></a>

여러 리전에 일관된 Amazon EC2 인스턴스 구성이 필요한 경우 단일 Amazon Machine Image(AMI)를 템플릿으로 사용하여 모든 인스턴스를 시작할 수 있습니다. 그러나 AMI는 리전별 리소스입니다. 특정 AWS 리전에서 인스턴스를 시작하려면 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의 사본을 생성합니다. 이 복사 방법은 이 주제에 설명되어 있습니다.

리전 간 및 계정 간 AMI 복사의 복사 작업은 가능한 한 신속하게 처리됩니다. 완료 시간을 제어해야 하는 경우 AMI가 필요한 기간 내에 복사되도록 15분\~48시간 범위로 완료 기간을 지정할 수 있습니다. 시간 기반 AMI 복사 작업에 대해서는 추가 요금이 부과됩니다. 자세한 내용은 *Amazon EBS 사용 설명서*의 [Time-based copies](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에서는 소스 AMI의 시작 권한 또는 Amazon S3 버킷 권한을 새 AMI로 복사하지 않습니다. 복사 작업이 완료된 후 시작 권한 및 Amazon S3 버킷 권한을 새 AMI에 적용할 수 있습니다.
+ **태그** - 소스 AMI에 연결한 사용자 정의 AMI 태그만 복사할 수 있습니다. 다른 AWS 계정이 첨부한 시스템 태그(접두사 `aws:` 포함) 및 사용자 정의 태그는 복사되지 않습니다. AMI를 복사할 때 새 AMI 및 해당 지원 스냅샷에 새 태그를 연결할 수 있습니다.
+ **시간 기반 AMI 복사 할당량** - *누적 스냅샷 복사 처리량 할당량*에 도달하면 후속 시간 기반 AMI 복사 요청이 실패합니다. 자세한 내용은 *Amazon EBS 사용 설명서*의 [Quotas for time-based copies](https://docs.aws.amazon.com/ebs/latest/userguide/time-based-copies.html#time-based-copies-quota)를 참조하세요.
+ **지원되는 소스 대상 복사본** - 소스 AMI의 위치에 따라 복사 가능 여부와 새 AMI에 허용되는 대상이 결정됩니다.
  + 소스 AMI가 리전에 있는 경우 해당 리전 내, 다른 리전 또는 해당 리전과 연결된 Outpost 또는 해당 리전의 로컬 영역으로 복사할 수 있습니다.
  + 소스 AMI가 로컬 영역에 있는 경우 해당 로컬 영역 내, 해당 로컬 영역의 상위 리전 또는 상위 리전이 동일한 다른 로컬 영역에 복사할 수 있습니다.
  + 소스 AMI가 Outpost에 있는 경우 복사할 수 없습니다.
+ **소스 및 대상에 대한 CLI 파라미터** - CLI를 사용하는 경우 복사할 AMI의 소스 위치와 새 AMI의 대상을 지정하는 데 다음 파라미터가 지원됩니다. 복사 작업은 대상 리전에서 시작해야 합니다. `--region` 파라미터를 생략하면 대상은 AWS CLI 설정에 구성된 기본 리전을 따릅니다.    
[See the AWS documentation website for more details](http://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/CopyingAMIs.html)

## 비용
<a name="copy-ami-costs"></a>

완료 시간이 지정되지 않은 경우 AMI 복사 요금이 부과되지 않습니다. 그러나 시간 기반 AMI 복사 작업에는 추가 요금이 적용됩니다. 자세한 내용은 *Amazon EBS 사용 설명서*의 [Time-based copies](https://docs.aws.amazon.com/ebs/latest/userguide/time-based-copies.html#time-based-copies-pricing)를 참조하세요.

표준 스토리지 및 데이터 전송 요금이 적용됩니다. EBS 지원 AMI를 복사하면 추가 EBS 스냅샷의 스토리지에 대한 요금이 발생합니다.

## AMI 복사
<a name="ami-copy-steps"></a>

본인이 소유하는 AMI 또는 다른 계정에서 본인과 공유한 AMI를 복사할 수 있습니다. 지원되는 소스 및 대상 조합은 [고려 사항](#copy-ami-considerations) 섹션을 참조하세요.

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

**AMI 복사**

1. [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)에서 Amazon EC2 콘솔을 엽니다.

1. 콘솔 탐색 모음에서 AMI가 들어 있는 리전을 선택합니다.

1. 탐색 창에서 **AMI**를 선택하여 리전에서 사용할 수 있는 AMI 목록을 표시합니다.

1. 복사하려는 AMI가 없으면 다른 필터를 선택합니다. **내 소유** AMI, **프라이빗 이미지**, **퍼블릭 이미지**, **비활성화된 이미지**로 필터링할 수 있습니다.

1. 복사할 AMI를 선택하고 **작업**, **AMI 복사**를 선택합니다.

1. **Amazon Machine Image(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 사용 설명서*의 [Time-based copies](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 지원 AMI만 해당) **KMS 키**: 대상 스냅샷을 암호화하는 데 사용하는 KMS 키입니다.

   1. **태그**: 새 AMI 및 새 스냅샷에 동일한 태그를 지정하거나 다른 태그를 지정할 수 있습니다.
      + 새 AMI 및 새 스냅샷에 *동일한* 태그를 지정하려면 **이미지와 스냅샷을 함께 태그 지정**을 선택합니다. 새 AMI 및 생성된 모든 스냅샷에 동일한 태그가 적용됩니다.
      + 새 AMI 및 새 스냅샷에 *다른* 태그를 지정하려면 **이미지와 스냅샷을 별도로 태그 지정**을 선택합니다. 새 AMI 및 생성된 스냅샷에 서로 다른 태그가 적용됩니다. 그러나 생성된 모든 스냅샷의 태그는 동일하며 각 스냅샷에 다른 태그를 지정할 수 없습니다.

      태그를 추가하려면 [**태그 추가(Add tag)**]를 선택하고 해당 태그에 대한 키와 값을 입력합니다. 각 태그에 대해 반복합니다.

   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) cmdlet을 사용합니다. 원본 리전과 대상 리전을 모두 지정해야 합니다. `-SourceRegion` 파라미터를 사용하여 원본 리전을 지정합니다. `-Region` 파라미터 또는 [Set-AWSDefaultRegion](https://docs.aws.amazon.com/powershell/latest/userguide/pstools-installing-specifying-region.html) cmdlet을 사용하여 대상 리전을 지정할 수 있습니다.

```
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) cmdlet을 사용합니다. 소스와 대상을 모두 지정해야 합니다. `-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) cmdlet을 사용합니다. 소스와 대상을 모두 지정해야 합니다. `-SourceRegion` 파라미터를 사용하여 원본 리전을 지정합니다. `-Region` 파라미터 또는 [Set-AWSDefaultRegion](https://docs.aws.amazon.com/powershell/latest/userguide/pstools-installing-specifying-region.html) cmdlet을 사용하여 대상 리전을 지정합니다. 소스 로컬 영역은 지정된 소스 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) cmdlet을 사용합니다. 소스와 대상을 모두 지정해야 합니다. `-SourceRegion` 파라미터를 사용하여 로컬 영역의 소스 리전을 지정합니다. `-DestinationAvailabilityZone` 파라미터를 사용하여 대상 로컬 영역을 지정합니다(`-DestinationAvailabilityZoneId`를 대신 사용할 수 있음). 소스 로컬 영역은 지정된 소스 AMI ID의 위치에서 수임됩니다. `-Region` 파라미터 또는 [Set-AWSDefaultRegion](https://docs.aws.amazon.com/powershell/latest/userguide/pstools-installing-specifying-region.html) cmdlet을 사용하여 대상 로컬 영역의 상위 리전을 지정합니다.

```
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. [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)에서 Amazon EC2 콘솔을 엽니다.

1. 탐색 모음의 리전 선택기에서 대상 리전을 선택합니다.

1. 탐색 창에서 **AMI**를 선택합니다.

1. 복사를 중지할 AMI를 선택하고 **작업**, **AMI 등록 해제**를 차례로 선택합니다.

1. 확인을 요청하면 **AMI 등록 취소(Deregister 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) cmdlet을 사용합니다.

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

------