

# 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분\$148시간 범위로 완료 기간을 지정할 수 있습니다. 시간 기반 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 스냅샷의 스토리지에 대한 요금이 발생합니다.

# Amazon EC2 AMI를 복사할 수 있는 권한 부여
<a name="copy-ami-permissions"></a>

EBS 지원 AMI 또는 Amazon S3 지원 AMI를 복사하려면 다음 IAM 권한이 필요합니다.
+ `ec2:CopyImage` - AMI를 복사합니다. EBS 지원 AMI의 경우 AMI의 지원 스냅샷을 복사할 권한도 부여합니다.
+ `ec2:CreateTags` - 대상 AMI에 태그를 지정합니다. EBS 지원 AMI의 경우 대상 AMI의 지원 스냅샷에 태그를 지정할 권한도 부여합니다.

인스턴스 저장소 지원 AMI를 복사하는 경우 다음과 같은 *추가* IAM 권한이 필요합니다.
+ `s3:CreateBucket` - 새 AMI의 대상 리전에 S3 버킷 생성
+ `s3:PutBucketOwnershipControls` - `aws-exec-read`[미리 준비된 ACL](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html#canned-acl)로 객체를 쓸 수 있도록 새로 생성된 S3 버킷에 대해 ACL 활성화
+ `s3:GetBucketAcl` - 소스 버킷의 ACL 읽기
+ `s3:ListAllMyBuckets` - 대상 리전에서 AMI용 기존 S3 버킷 찾기
+ `s3:GetObject` - 소스 버킷에서 객체 읽기
+ `s3:PutObject` - 대상 버킷에 객체 쓰기
+ `s3:PutObjectAcl` - 대상 버킷에서 새 객체에 대한 권한 쓰기

**참고**  
2024년 10월 28일부터 소스 AMI에 대한 `CopyImage` 작업을 위한 리소스 수준 권한을 지정할 수 있습니다. 대상 AMI에 대한 리소스 수준 권한은 이전처럼 사용할 수 있습니다. 자세한 내용은 *서비스 승인 참조*의 [Amazon EC2에서 정의한 작업](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonec2.html#amazonec2-actions-as-permissions) 아래 테이블의 **CopyImage**를 참조하세요.

## EBS 지원 AMI를 복사하고 대상 AMI 및 스냅샷에 태그를 지정하기 위한 IAM 정책 예제
<a name="permissions-to-copy-ebs-backed-ami"></a>

다음 정책 예제에서는 EBS 지원 AMI를 복사하고 대상 AMI 및 지원 스냅샷에 태그를 지정할 수 있는 권한을 부여합니다.

**참고**  
2024년 10월 28일부터 `Resource` 요소에 스냅샷을 지정할 수 있습니다. 자세한 내용은 *서비스 승인 참조*의 [Amazon EC2에서 정의한 작업](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonec2.html#amazonec2-actions-as-permissions) 아래 테이블의 **CopyImage**를 참조하세요.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [{
        "Sid": "PermissionToCopyAllImages",
        "Effect": "Allow",
        "Action": [
            "ec2:CopyImage",
            "ec2:CreateTags"
        ],
        "Resource": [
            "arn:aws:ec2:*::image/*",
            "arn:aws:ec2:*::snapshot/*"
        ]
    }]
}
```

------

## EBS 지원 AMI를 복사하지만 새 스냅샷에 태그 지정을 거부하는 IAM 정책 예제
<a name="permissions-to-copy-ebs-backed-ami-but-deny-tagging-new-snapshots"></a>

`ec2:CopySnapshot` 권한은 `ec2:CopyImage` 권한을 받을 때 자동으로 부여됩니다. 새 백업 스냅샷에 태그를 지정할 수 있는 권한을 명시적으로 거부하여 `ec2:CreateTags` 작업의 `Allow` 효과를 재정의할 수 있습니다.

다음 정책 예제에서는 EBS 지원 AMI를 복사할 수 있는 권한은 부여하지만 대상 AMI의 새 지원 스냅샷에 태그 지정을 거부합니다.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [{
            "Effect": "Allow",
            "Action": [
                "ec2:CopyImage",
                "ec2:CreateTags"
            ],
            "Resource": [
                "arn:aws:ec2:*::image/*",
                "arn:aws:ec2:*::snapshot/*"
            ]
        },
        {
            "Effect": "Deny",
            "Action": "ec2:CreateTags",
            "Resource": "arn:aws:ec2:::snapshot/*"
        }
    ]
}
```

------

## Amazon S3 지원 AMI를 복사하고 대상 AMI에 태그를 지정하는 IAM 정책 예제
<a name="permissions-to-copy-instance-store-backed-ami"></a>

다음 정책 예제에서는 지정된 소스 버킷의 모든 Amazon S3 지원 AMI를 지정된 리전에 복사하고 대상 AMI에 태그를 지정할 수 있는 권한을 부여합니다.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [{
            "Sid": "PermissionToCopyAllImages",
            "Effect": "Allow",
            "Action": [
                "ec2:CopyImage",
                "ec2:CreateTags"
            ],
            "Resource": "arn:aws:ec2:*::image/*"
        },
        {
            "Effect": "Allow",
            "Action": "s3:ListAllMyBuckets",
            "Resource": [
                "arn:aws:s3:::*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": "s3:GetObject",
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-source-bucket/*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:CreateBucket",
                "s3:GetBucketAcl",
                "s3:PutObjectAcl",
                "s3:PutObject"
            ],
            "Resource": [
                "arn:aws:s3:::amis-for-111122223333-in-us-east-2-hash"
            ]
        }
    ]
}
```

------

AMI 소스 버킷의 Amazon 리소스 이름(ARN)을 찾으려면 Amazon EC2 콘솔([https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/))을 열고 탐색 창에서 [**AMI(AMIs)**]를 선택한 다음 [**소스(Source)**] 열에서 버킷 이름을 찾습니다.

**참고**  
`s3:CreateBucket` 권한은 Amazon S3 지원 AMI를 개별 리전에 처음 복사할 때만 필요합니다. 이후 리전에 이미 생성된 Amazon S3 버킷은 향후 해당 리전에 복사하는 모든 AMI를 저장하는 데 사용됩니다.

## 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
```

------

# Amazon EC2 AMI 복사 작동 방식
<a name="how-ami-copy-works"></a>

소스 AMI를 복사하면 *대상* AMI라고 하는 동일하지만 별개의 새 AMI가 생성됩니다. 대상 AMI에는 고유한 AMI ID가 있습니다. 대상 AMI에 영향을 미치지 않고 원본 AMI를 변경하거나 다시 등록할 수 있습니다. 반대의 경우도 마찬가지입니다.

EBS 지원 AMI의 경우 각 지원 스냅샷이 동일하지만 별개의 대상 스냅샷으로 복사됩니다. AMI를 새 리전으로 복사하는 경우 스냅샷은 증분이 아닌 전체 복사본이 됩니다. 암호화되지 않은 백업 스냅샷을 암호화하거나 새 KMS 키로 암호화하는 경우 스냅샷은 전체(비증분) 복사본입니다. 이후에 AMI 복사 작업을 수행하면 백업 스냅샷의 증분 복사본이 생성됩니다.

**Topics**
+ [리전 간 복사](#copy-amis-across-regions)
+ [교차 계정 복사](#copy-ami-across-accounts)
+ [시간 기반 AMI 복사 작업](#ami-time-based)
+ [암호화 및 복사](#ami-copy-encryption)

## 리전 간 복사
<a name="copy-amis-across-regions"></a>

지리적으로 다른 리전 간에 AMI를 복사하면 다음과 같은 이점이 제공됩니다.
+ 일관적인 글로벌 배포: 한 리전에서 다른 리전으로 AMI를 복사하면 동일한 AMI를 기반으로 하는 일관적인 인스턴스를 여러 리전에서 시작할 수 있습니다.
+ 확장성: 사용자의 리전에 관계없이 요구 사항에 대응하는 글로벌 애플리케이션을 보다 손쉽게 설계하고 구축할 수 있습니다.
+ 성능: 애플리케이션을 분산하여 성능을 높이고 애플리케이션의 핵심 구성 요소를 사용자에게 보다 가까이 둘 수 있습니다. 또한 인스턴스 유형이나 여타 AWS 서비스와 같은 리전별 기능을 활용할 수 있습니다.
+ 고가용성: 여러 AWS 리전을 포괄하는 애플리케이션을 설계하고 배포하여 가용성을 높일 수 있습니다.

다음 다이어그램은 소스 AMI 및 다른 리전에 복사된 2개의 AMI 간 관계와 각각에서 시작된 EC2 인스턴스를 보여줍니다. AMI에서 인스턴스를 시작하는 경우 인스턴스는 AMI가 상주하는 동일한 리전에 상주합니다. 원본 AMI를 변경한 후 대상 리전의 AMI에 변경 내용을 반영하려면 원본 AMI를 대상 리전으로 다시 복사해야 합니다.

![\[서로 다른 리전에 복사된 AMI\]](http://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/images/ami_copy.png)


Amazon S3 지원 AMI를 리전에 처음 복사하면 해당 리전에 복사된 AMI에 대한 Amazon S3 버킷이 생성됩니다. 해당 리전에 복사하는 Amazon S3 지원 AMI는 모두 이 버킷에 저장됩니다. 버킷 이름 형식은 amis-for-*account*-in-*region*-*hash*를 따릅니다. 예를 들면 `amis-for-123456789012-in-us-east-2-yhjmxvp6`입니다.

**사전 조건**  
AMI를 복사하기 전에 원본 AMI의 내용이 다른 리전에서 실행이 가능하도록 업데이트되었는지 확인해야 합니다. 예를 들어 데이터베이스 연결 문자열 등의 애플리케이션 구성 데이터가 적절한 리소스를 가리키도록 업데이트해야 합니다. 그렇게 하지 않으면 대상 리전의 새 AMI에서 시작된 인스턴스가 여전히 소스 리전의 리소스를 사용하여 성능과 비용에 영향을 줄 수 있습니다.

**제한 사항**
+ 대상 리전은 300개의 동시 AMI 복사 작업으로 제한됩니다. 이는 시간 기반 AMI 복사 작업에도 적용됩니다.
+ 반가상화(PV) AMI를 지원하지 않는 리전으로 PV AMI를 복사할 수 없습니다. 자세한 내용은 [가상화 유형](ComponentsAMIs.md#virtualization_types) 섹션을 참조하세요.

## 교차 계정 복사
<a name="copy-ami-across-accounts"></a>

다른 AWS 계정의 AMI이 [자신의 AWS 계정과 공유](sharingamis-explicit.md)되는 경우 해당 공유 AMI를 복사할 수 있습니다. 이것을 교차 계정 액세스라고 합니다. 공유되는 AMI가 소스 AMI입니다. 소스 AMI를 복사할 때 새 AMI를 생성합니다. 새 AMI를 종종 대상 AMI라고 합니다.

**AMI 비용**
+ 공유 AMI의 경우 공유 AMI의 계정에 리전의 스토리지 비용이 청구됩니다.
+ 자신의 계정과 공유된 AMI를 복사하는 경우 계정에 생성된 대상 AMI의 소유자가 됩니다.
  + 소스 AMI의 소유자에게는 표준 Amazon EBS 또는 Amazon S3 전송 요금이 청구됩니다.
  + 대상 리전의 대상 AMI에 대한 스토리지 요금이 청구됩니다.

**리소스 권한**  
다른 계정에서 공유된 AMI를 복사하려면 AMI 자체가 아니라 AMI를 지원하는 스토리지에 대한 읽기 권한을 소스 AMI 소유자가 부여해야 합니다. 스토리지는 연결된 EBS 스냅샷(Amazon EBS 지원 AMI의 경우) 또는 연결된 S3 버킷(Amazon S3 지원 AMI) 중 하나입니다. 공유 AMI에 암호화된 스냅샷이 있는 경우, 소유자는 해당 키를 사용자와 공유해야 합니다. 리소스 권한 부여에 대한 자세한 내용은 EBS 스냅샷의 경우 *Amazon EBS 사용 설명서*의 [Amazon EBS 스냅샷을 다른 AWS 계정와 공유](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-modifying-snapshot-permissions.html), S3 버킷의 경우 *Amazon S3 사용 설명서*의 [Amazon S3의 Identity and Access Management](https://docs.aws.amazon.com/AmazonS3/latest/userguide/security-iam.html)를 참조하세요.

**참고**  
소스 AMI에 연결된 태그는 계정 간에 대상 AMI로 복사되지 않습니다.

## 시간 기반 AMI 복사 작업
<a name="ami-time-based"></a>

연결된 단일 스냅샷이 있는 EBS 지원 AMI에 대해 시간 기반 AMI 복사 작업을 시작하는 경우 **개별 시간 기반 스냅샷 복사 작업**과 동일한 방식으로 작동하며 동일한 처리량 제한이 적용됩니다.

연결된 여러 스냅샷이 있는 EBS 지원 AMI에 대해 시간 기반 AMI 복사 작업을 시작하는 경우 **동시 시간 기반 스냅샷 복사 작업**과 동일한 방식으로 작동하며 동일한 처리량 제한이 적용됩니다. 연결된 각 스냅샷은 별도의 스냅샷 복사 요청을 생성하며, 각 요청은 누적 스냅샷 복사 처리량 할당량에 포함됩니다. 사용자가 지정한 완료 기간은 연결된 각 스냅샷에 적용됩니다.

자세한 내용은 *Amazon EBS 사용 설명서*의 [Time-based copies](https://docs.aws.amazon.com/ebs/latest/userguide/time-based-copies.html)를 참조하세요.

## 암호화 및 복사
<a name="ami-copy-encryption"></a>

다음 표는 다양한 AMI 복사 시나리오에 대한 암호화 지원을 보여 줍니다. 암호화되지 않은 스냅샷을 복사하여 암호화된 스냅샷을 생성할 수 있지만, 암호화된 스냅샷을 복사하여 암호화되지 않은 스냅샷을 생성할 수는 없습니다.


| 시나리오 | 설명 | 지원 | 
| --- | --- | --- | 
| 1 | 암호화되지 않음-암호화되지 않음 | 예 | 
| 2 | 암호화됨-암호화됨 | 예 | 
| 3 | 암호화되지 않음-암호화됨 | 예 | 
| 4 | 암호화됨-암호화되지 않음 | 아니요 | 

**참고**  
`CopyImage` 작업 중 암호화는 Amazon EBS 지원 AMI에만 적용됩니다. Amazon S3 지원 AMI는 스냅샷을 사용하지 않기 때문에 복사를 사용하여 암호화 상태를 변경할 수 없습니다.

암호화 파라미터를 지정하지 않고 AMI를 복사하면 지원 스냅샷은 기본적으로 원래 암호화 상태로 복사됩니다. 따라서 소스 AMI가 암호화되지 않은 스냅샷으로 지원되는 경우 결과 대상 스냅샷도 암호화되지 않습니다. 마찬가지로 소스 AMI의 스냅샷이 암호화된 경우 결과 대상 스냅샷도 동일한 AWS KMS 키로 암호화됩니다. 여러 스냅샷이 지원하는 AMI의 경우, 각 대상 스냅샷에서 해당 소스 스냅샷의 암호화 상태가 유지됩니다.

AMI 복사 중에 대상 지원 스냅샷의 암호화 상태를 변경하려면 암호화 파라미터를 지정할 수 있습니다. 다음 예제는 대상 AMI의 암호화 상태를 변경하기 위해 `CopyImage` 작업으로 암호화 파라미터가 지정되는 기본이 아닌 사례를 보여줍니다.

**암호화되지 않은 원본 AMI을(를) 암호화된 대상 AMI(으)로 복사**

이 시나리오에서는 암호화되지 않은 루트 스냅샷으로 지원되는 AMI가 암호화된 루트 스냅샷이 있는 AMI로 복사됩니다. `CopyImage` 작업은 고객 관리형 키를 포함하여 2개의 암호화 파라미터를 사용하여 호출됩니다. 따라서 루트 스냅샷의 암호화 상태가 변경되므로 대상 AMI는 소스 스냅샷과 동일한 데이터를 포함하는 루트 스냅샷에 의해 지원되지만 지정된 키를 사용하여 암호화됩니다. 두 AMI 모두의 스냅샷에 대한 스토리지 비용과 각 AMI에서 시작되는 인스턴스에 대한 비용이 발생합니다.

**참고**  
기본적으로 암호화를 활성화하는 경우 AMI의 모든 스냅샷에서 `Encrypted` 파라미터를 `true`로 설정하는 것과 효과가 동일합니다.

![\[AMI 복사 후 즉시 스냅샷 암호화\]](http://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/images/ami-to-ami-convert.png)


`Encrypted` 파라미터를 설정하면 이 인스턴스에 대한 단일 스냅샷이 암호화됩니다. `KmsKeyId` 파라미터를 지정하지 않으면 스냅샷 복사본을 암호화하는 데 기본 고객 관리형 키가 사용됩니다.

암호화된 스냅샷을 포함하는 AMI 복사에 대한 자세한 내용은 [EBS-backed AMI에서 암호화 사용](AMIEncryption.md) 섹션을 참조하세요.