Amazon EC2 AMI 복사가 동작하는 방식
Amazon EC2 AMI 복사가 동작하는 방식
소스 AMI를 복사하면 동일하지만 개별적인 새 AMI가 생기며, 이를 **타깃 AMI(target AMI)**라고도 해요. 타깃 AMI는 고유한 AMI ID를 가집니다. 소스 AMI를 변경하거나 등록 취소(deregister)해도 타깃 AMI에는 영향이 없으며, 그 반대도 마찬가지예요.
출처: 문서
본문
EBS 기반 AMI의 경우 그 뒷받침 스냅샷 각각이 동일하지만 개별인 타깃 스냅샷으로 복사됩니다. AMI를 새 리전으로 복사하면 스냅샷은 완전(비증분) 복사입니다. 암호화되지 않은 뒷받침 스냅샷을 암호화하거나 새 KMS 키로 암호화하면 스냅샷은 완전(비증분) 복사예요. 이후의 AMI 복사 작업은 뒷받침 스냅샷의 증분 복사로 이어집니다.
이 문서는 다음 주제를 다룹니다.
- Cross-Region copying (교차 리전 복사)
- Cross-account copying (교차 계정 복사)
- Time-based AMI copy operations (시간 기반 AMI 복사 작업)
- Encryption and copying (암호화와 복사)
교차 리전 복사
지리적으로 다양한 리전 간에 AMI를 복사하면 다음 이점이 있어요.
- 일관된 전역 배포 — 한 리전에서 다른 리전으로 AMI를 복사하면 같은 AMI를 기준으로 서로 다른 리전에서 일관된 인스턴스를 시작할 수 있어요.
- 확장성(스케일) — 위치와 무관하게 사용자의 요구를 충족하는 글로벌 애플리케이션을 더 쉽게 설계·구축할 수 있어요.
- 성능 — 애플리케이션을 분산하고 애플리케이션의 핵심 구성 요소를 사용자와 더 가까이 배치해 성능을 높일 수 있어요. 인스턴스 유형이나 다른 AWS 서비스 같은 리전별 기능도 활용할 수 있습니다.
- 고가용성 — AWS 리전 전반에 애플리케이션을 설계·배포해 가용성을 높일 수 있어요.
한 AMI로 인스턴스를 시작하면 그 인스턴스는 AMI가 있는 리전에 상주해요. 소스 AMI를 변경하고 그 변경 사항이 타깃 리전의 AMI에 반영되게 하려면 소스 AMI를 타깃 리전에 다시 복사해야 합니다.
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에서 시작된 인스턴스가 여전히 소스 리전의 리소스를 사용해 성능과 비용에 영향을 줄 수 있어요.
제한 사항 — 대상 리전은 동시 AMI 복사 작업 300개로 제한됩니다. 이는 시간 기반 AMI 복사 작업에도 적용됩니다. 반가상화(PV) AMI를 PV AMI를 지원하지 않는 리전으로는 복사할 수 없어요.
교차 계정 복사
다른 AWS 계정의 AMI가 내 계정과 공유되면 그 공유 AMI를 복사할 수 있어요. 이를 **교차 계정 복사(cross-account copying)**라고 해요. 공유된 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 사용 설명서의 "다른 AWS 계정과 Amazon EBS 스냅샷 공유", S3 버킷의 경우 Amazon S3 사용 설명서의 "Amazon S3용 IAM"을 참고하세요.
참고 — 소스 AMI에 연결된 태그는 계정 간에 타깃 AMI로 복사되지 않아요.
시간 기반 AMI 복사 작업
단일 연결 스냅샷이 있는 EBS 기반 AMI에 대해 시간 기반 AMI 복사 작업을 시작하면, 개별 시간 기반 스냅샷 복사 작업과 동일하게 동작하며 같은 처리량 제한이 적용됩니다.
여러 연결 스냅샷이 있는 EBS 기반 AMI에 대해 시간 기반 복사 작업을 시작하면 동시 시간 기반 스냅샷 복사 작업과 동일하게 동작하며 같은 처리량 제한이 적용됩니다. 각 연결 스냅샷은 별도의 스냅샷 복사 요청을 만들어 누적 스냅샷 복사 처리량 할당량에 각각 기여해요. 지정한 완료 기간은 각 연결 스냅샷에 적용됩니다.
자세한 내용은 Amazon EBS 사용 설명서의 "시간 기반 복사"를 참고하세요.
암호화와 복사
다음 표는 다양한 AMI 복사 시나리오의 암호화 지원을 보여줘요. 암호화되지 않은 스냅샷을 복사해 암호화된 스냅샷을 만들 수는 있지만, 암호화된 스냅샷을 복사해 암호화되지 않은 스냅샷을 만들 수는 없습니다.
| 시나리오 | 설명 | 지원 |
|---|---|---|
| 1 | 암호화되지 않음 → 암호화되지 않음 | 예 |
| 2 | 암호화됨 → 암호화됨 | 예 |
| 3 | 암호화되지 않음 → 암호화됨 | 예 |
| 4 | 암호화됨 → 암호화되지 않음 | 아니요 |
참고 — CopyImage 작업 중 암호화는 Amazon EBS 기반 AMI에만 적용됩니다. Amazon S3 기반 AMI는 스냅샷을 사용하지 않으므로 복사로 암호화 상태를 변경할 수 없어요.
암호화 파라미터를 지정하지 않고 AMI를 복사하면 뒷받침 스냅샷은 기본적으로 원래 암호화 상태로 복사됩니다. 따라서 소스 AMI가 암호화되지 않은 스냅샷으로 뒷받침되면 결과 타깃 스냅샷도 암호화되지 않고, 소스 AMI의 스냅샷이 암호화되어 있으면 타깃 스냅샷도 같은 AWS KMS 키로 암호화됩니다. 여러 스냅샷으로 뒷받침되는 AMI의 경우 각 타깃 스냅샷은 해당 소스 스냅샷의 암호화 상태를 보존해요.
AMI 복사 중 타깃 뒷받침 스냅샷의 암호화 상태를 변경하려면 암호화 파라미터를 지정할 수 있어요. 다음 예제는 CopyImage 작업으로 암호화 파라미터를 지정해 타깃 AMI의 암호화 상태를 변경하는 비기본(non-default) 사례를 보여줍니다.
암호화되지 않은 소스 AMI를 암호화된 타깃 AMI로 복사
이 시나리오에서 암호화되지 않은 루트 스냅샷으로 뒷받침되는 AMI는 암호화된 루트 스냅샷이 있는 AMI로 복사됩니다. CopyImage 작업은 고객 관리형 키를 포함한 두 개의 암호화 파라미터와 함께 호출돼요. 그 결과 루트 스냅샷의 암호화 상태가 변경되어, 타깃 AMI는 소스 스냅샷과 같은 데이터를 포함하지만 지정된 키로 암호화된 루트 스냅샷으로 뒷받침됩니다. 두 AMI의 스냅샷 스토리지 비용과, 어느 AMI에서든 시작한 인스턴스의 요금이 발생해요.
참고 — 기본 암호화를 활성화하면 AMI의 모든 스냅샷에
Encrypted파라미터를true로 설정하는 것과 같은 효과가 있어요.Encrypted파라미터를 설정하면 이 인스턴스의 단일 스냅샷이 암호화되고,KmsKeyId파라미터를 지정하지 않으면 기본 고객 관리형 키로 스냅샷 복사본이 암호화됩니다.
암호화된 스냅샷으로 AMI를 복사하는 방법은 "EBS 기반 AMI에서 암호화 사용"을 참고하세요.
더 알아보기 (Learn more)
- 권한(Permissions)과 AMI 저장·복원(Store and restore an AMI) 문서를 확인하세요.