메뉴
Amazon Elastic Compute Cloud
User Guide for Linux Instances

AMI 복사

AWS Management Console, AWS 명령줄 도구 또는 SDK, Amazon EC2 API(모두 CopyImage 작업을 지원함)를 사용하여 AWS 리전 내부 또는 전체에서 Amazon 머신 이미지(AMI)를 복사할 수 있습니다. Amazon EBS 지원 AMI 및 인스턴스 스토어 지원 AMI를 모두 복사할 수 있습니다. 암호화된 AMI 및 암호화된 스냅샷을 포함하는 AMI를 복사할 수 있습니다.

원본 AMI를 복사하면 동일하지만 고유의 식별자로 구별되는 대상 AMI가 생성됩니다. Amazon EBS 지원 AMI의 경우, 동일하지만 구분된 대상 스냅샷으로 각 지원 스냅샷이 복사되도록 기본 설정되어 있습니다. (한 가지 예외는 스냅샷을 암호화하도록 선택하는 경우입니다.) 대상 AMI에 영향을 미치지 않고 원본 AMI를 변경하거나 다시 등록할 수 있습니다. 반대의 경우도 마찬가지입니다.

AMI 복사 시 부과되는 요금은 없습니다. 그러나 표준 스토리지 및 데이터 전송 요금은 적용됩니다.

AWS에서는 시작 권한, 사용자 정의 태그 또는 Amazon S3 버킷 권한이 원본 AMI에서 새 AMI로 복사되지 않습니다. 복사 작업이 완료된 후 시작 권한, 사용자 정의 태그 및 Amazon S3 버킷 권한을 새 AMI에 적용할 수 있습니다.

권한

IAM 사용자를 사용하여 인스턴스 스토어 지원 AMI를 복사하려면 사용자에게 s3:CreateBucket, s3:GetBucketAcl, s3:ListAllMyBuckets, s3:GetObject, s3:PutObject, s3:PutObjectAcl라는 Amazon S3 권한이 있어야 합니다.

다음 예시 정책을 통해 사용자는 지정된 버킷의 AMI 원본을 지정된 리전에 복사할 수 있습니다.

Copy
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "s3:ListAllMyBuckets", "Resource": [ "arn:aws:s3:::*" ] }, { "Effect": "Allow", "Action": "s3:GetObject", "Resource": [ "arn:aws:s3:::ami-source-bucket/*" ] }, { "Effect": "Allow", "Action": [ "s3:CreateBucket", "s3:GetBucketAcl", "s3:PutObjectAcl", "s3:PutObject" ], "Resource": [ "arn:aws:s3:::amis-for-123456789012-in-us-east-1*" ] } ] }

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

리전 간 AMI 복사

지리적으로 다른 리전 간에 AMI를 복사하면 다음과 같은 이점이 제공됩니다.

  • 일관적인 글로벌 배포: 한 리전에서 다른 리전으로 AMI를 복사하면 동일한 AMI를 기반으로 하는 일관적인 인스턴스를 여러 리전에서 시작할 수 있습니다.

  • 확장성: 사용자의 지역에 관계없이 요구 사항에 대응하는 글로벌 애플리케이션을 보다 손쉽게 설계하고 구축할 수 있습니다.

  • 성능: 애플리케이션을 분산하여 성능을 높이고 애플리케이션의 핵심 구성 요소를 사용자에게 보다 가까이 둘 수 있습니다. 또한 인스턴스 유형이나 여타 AWS 서비스와 같은 리전별 기능을 활용할 수 있습니다.

  • 고가용성: 여러 AWS 리전을 포괄하는 애플리케이션을 설계하고 배포하여 가용성을 높일 수 있습니다.

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

 서로 다른 리전에 복사된 AMI

먼저 인스턴스 스토어 지원 AMI를 리전에 복사하는 경우 해당 리전에 복사된 AMI에 대한 Amazon S3 버킷이 생성됩니다. 해당 리전에 복사하는 인스턴스 스토어 지원 AMI는 모두 이 버킷에 저장됩니다. 버킷 이름 형식은 amis-for-account-in-region-hash를 따릅니다. 예: amis-for-123456789012-in-us-east-2-yhjmxvp6.

필수 조건

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

한도

대상 리전은 동시에 복사할 수 있는 AMI 수가 50개로 제한되며, 이중 단일 원본 리전에서 복사할 수 있는 사본 수도 25개를 넘지 못합니다.

교차 계정 AMI 복사

AMI를 다른 AWS 계정과 공유할 수 있습니다. AMI 공유는 AMI 소유권에 영향을 미치지 않습니다. 계정 소유에는 리전의 스토리지에 대한 요금이 부과됩니다. 자세한 내용은 지정한 AWS 계정과 AMI 공유 단원을 참조하십시오.

계정과 공유된 AMI를 복사하는 경우 계정에 있는 대상 AMI의 소유자가 됩니다. 원본 AMI 소유자에게는 표준 Amazon EBS 또는 Amazon S3 전송 요금이 청구되고 사용자에게는 대상 리전의 대상 AMI 스토리지에 대한 요금이 부과됩니다.

리소스 권한

사용자가 다른 계정에서 공유한 AMI를 복사하려면 원본 AMI 소유자는 AMI를 연결된 EBS 스냅샷이든(Amazon EBS 지원 AMI의 경우) 연결된 S3 버킷이든(인스턴스 스토어 지원 AMI의 경우)든 지원하는 스토리지에 대한 읽기 권한을 사용자에게 부여해야 합니다.

제한

  • 다른 계정에서 공유한 암호화된 AMI는 복사할 수 없습니다. 대신, 기본 스냅샷 및 암호화 키가 공유된 경우 자신의 키를 사용하여 스냅샷을 재암호화하는 동시에 복사할 수 있습니다. 복사된 스냅샷을 소유하게 되며 이것을 새로운 AMI로 등록할 수 있습니다.

  • 다른 계정에서 공유한 암호화된 billingProduct 코드와 연결된 AMI는 복사할 수 없습니다. 여기에는 Windows AMI 및 AWS Marketplace의 AMI가 포함됩니다. billingProduct 코드로 공유 AMI를 복사하려면, 공유 AMI를 사용하여 계정에서 EC2 인스턴스를 시작한 다음 해당 인스턴스에서 AMI를 생성합니다. 자세한 내용은 Amazon EBS 지원 Linux AMI 생성 단원을 참조하십시오.

암호화 및 AMI 복사

AMI 복사를 수행할 때 암호화는 Amazon EBS 지원 AMI에만 적용됩니다. 인스턴스 스토어 지원 AMI는 스냅샷을 사용하지 않기 때문에 AMI 복사를 사용하여 암호화 상태를 변경할 수 없습니다.

AMI 복사를 사용하여 암호화된 Amazon EBS 스냅샷에서 지원되는 새로운 AMI를 생성할 수 있습니다. AMI를 복사하는 동안 암호화를 호출하면 연결된 Amazon EBS 볼륨(루트 볼륨 포함)에서 찍힌 각 스냅샷은 지정한 키를 사용하여 암호화됩니다. 암호화된 스냅샷이 있는 AMI 사용에 대한 자세한 내용은 암호화된 스냅샷이 있는 AMI 단원을 참조하십시오.

기본적으로 AMI의 지원 스냅샷은 원래 암호화 상태로 복사됩니다. 암호화되지 않은 스냅샷에서 지원되는 AMI를 복사하면 역시 암호화되지 않은 동일한 대상 스냅샷이 생성됩니다. 원본 AMI가 암호화된 스냅샷에서 지원되는 경우 원본을 복사하면 지정된 키로 암호화된 대상 스냅샷이 생성됩니다. 여러 스냅샷에서 지원되는 AMI를 복사하면 각 대상 스냅샷에서 원본 암호화 상태가 유지됩니다. 암호화된 스냅샷이 있는 AMI 복사에 대한 자세한 내용은 암호화된 스냅샷이 있는 AMI 단원을 참조하십시오.

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

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

암호화되지 않은 원본 AMI를 암호화되지 않은 대상 AMI로 복사

이 시나리오에서 암호화되지 않은 단일 지원 스냅샷이 있는 AMI 복사본이 지정된 지리적 리전에 생성됩니다(표시되지 않음). 이 다이어그램은 단일 지원 스냅샷이 있는 AMI를 보여 주지만 사용자는 여러 스냅샷이 있는 AMI도 복사할 수 있습니다. 각 스냅샷의 암호화 상태가 유지됩니다. 따라서 원본 AMI에 암호화되지 않은 스냅샷은 대상 AMI에 암호화되지 않은 스냅샷으로 이어지고, 원본 AMI에 암호화된 스냅샷이 있으면 대상 AMI에 암호화된 스냅샷으로 이어집니다.

 암호화되지 않은 원본 AMI 복사

암호화된 원본 AMI를 암호화된 대상 AMI로 복사

이 시나리오는 암호화된 스냅샷을 포함하지만 이전 시나리오와 기능적으로 동등합니다. 다중 스냅샷 AMI를 복사하는 동안 암호화를 적용하면 모든 대상 스냅샷은 지정된 키 또는 키가 지정되지 않은 경우 기본 키를 사용하여 암호화됩니다.

 암호화된 원본 AMI 복사

암호화되지 않은 원본 AMI를 암호화된 대상 AMI로 복사

이 시나리오에서 AMI 복사는 예를 들어 암호화되지 않은 스냅샷을 암호화하거나 암호화된 스냅샷을 다른 키로 다시 암호화하여 대상 이미지의 암호화 상태를 변경합니다. 복사 중 암호화를 적용하려면 암호화 파라미터인 암호화 플래그와 키를 제공해야 합니다. 이 키를 사용하는 경우에만 대상 스냅샷에서 생성된 볼륨에 액세스할 수 있습니다.

암호화되지 않은 원본 AMI를 암호화된 대상 AMI로 복사

AMI 복사

다음과 같이 AMI를 복사할 수 있습니다.

필수 조건

Amazon EBS 스냅샷에서 지원되는 AMI를 생성하거나 가져옵니다. Amazon EC2 콘솔을 사용하여 AWS가 제공하는 광범위한 AMI를 검색할 수 있다는 점을 유의하십시오. 자세한 내용은 Amazon EBS 지원 Linux AMI 생성Linux AMI 찾기 단원을 참조하십시오.

콘솔을 사용하여 AMI를 복사하려면

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

  2. 콘솔 탐색 모음에서 AMI가 들어 있는 리전을 선택합니다. 탐색 창에서 Images, AMIs를 선택하여 리전에서 사용할 수 있는 AMI 목록을 표시합니다.

  3. 복사할 AMI를 선택하고 ActionsCopy AMI를 선택합니다.

  4. [Copy AMI] 대화 상자에서 다음 정보를 지정하고 [Copy AMI]를 지정합니다.

    • Destination region: AMI를 복사할 리전.

    • Name: 새 AMI의 이름. AMI에 대한 세부 정보를 표시할 때 운영 체제 정보가 제공되지 않으므로, 이름에 운영 체제 정보를 넣을 수 있습니다.

    • [Description]: 원본과 사본을 구분할 수 있도록 설명에는 기본적으로 원본 AMI에 대한 정보가 포함됩니다. 필요에 따라 이 설명을 수정할 수 있습니다.

    • Encryption: 대상 스냅샷을 암호화하거나 다른 키를 사용하여 다시 암호화하려면 이 필드를 선택합니다.

    • Master Key: 대상 스냅샷을 암호화하기 위해 사용하는 KMS 키.

  5. 복사 작업이 시작되었음을 알리는 확인 페이지가 표시되고 새 AMI의 ID가 제공됩니다.

    복사 작업의 진행 상황을 즉시 확인하려면 제공된 링크를 따라갑니다. 진행 상황을 나중에 확인하려면 [Done]을 선택한 다음, 준비가 되면 탐색 모음을 사용하여 대상 리전으로 전환하고(해당하는 경우) AMI 목록에서 해당 AMI를 찾습니다.

    대상 AMI의 초기 상태는 pending이고 작업이 완료되면 상태가 available이 됩니다.

AWS CLI를 사용하여 AMI를 복사하려면

copy-image 명령을 사용하여 AMI를 복사할 수 있습니다. 원본 리전과 대상 리전을 모두 지정해야 합니다. --source-region 파라미터를 사용하여 원본 리전을 지정합니다. --region 파라미터 또는 환경 변수를 사용하여 대상 리전을 지정할 수 있습니다. 자세한 내용은 AWS 명령줄 인터페이스 구성을 참조하십시오.

복사 중에 대상 스냅샷을 암호화하는 경우, --encrypted--kms-key-id 파라미터를 추가로 지정해야 합니다.

Windows PowerShell용 도구를 사용하여 AMI를 복사하려면

Copy-EC2Image 명령을 사용하여 AMI를 복사할 수 있습니다. 원본 리전과 대상 리전을 모두 지정해야 합니다. -SourceRegion 파라미터를 사용하여 원본 리전을 지정합니다. -Region 파라미터 또는 Set-AWSDefaultRegion 명령을 사용하여 대상 리전을 지정할 수 있습니다. 자세한 내용은 AWS 리전 지정을 참조하십시오.

복사 중에 대상 스냅샷을 암호화하는 경우, -Encrypted-KmsKeyId 파라미터를 추가로 지정해야 합니다.

대기 중인 AMI 복사 작업 중지

다음과 같이 대기 중인 AMI 복사를 중지할 수 있습니다.

콘솔을 사용하여 AMI 복사 작업을 중지하려면 다음을 수행합니다.

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

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

  3. 탐색 창에서 [AMIs]를 선택합니다.

  4. 복사를 중지할 AMI를 선택하고 [Actions], [Deregister]를 차례대로 선택합니다.

  5. 확인 메시지가 표시되면 [Continue]를 선택합니다.

명령줄을 사용하여 AMI 복사 작업을 중지하려면 다음을 수행합니다.

다음 명령 중 하나를 사용할 수 있습니다. 다음 명령줄 인터페이스에 대한 자세한 내용은 Amazon EC2에 액세스 단원을 참조하십시오.