특정 AWS 계정과 AMI 공유 - Amazon Elastic Compute Cloud

특정 AWS 계정과 AMI 공유

AMI를 퍼블릭으로 설정하지 않고 지정한 AWS 계정과 공유할 수 있습니다. 이런 작업은 AWS 계정 ID만 있으면 가능합니다.

AWS 계정 ID는 12자리 숫자(예: 012345678901)이며, AWS 계정을 고유하게 식별합니다. 자세한 내용은 AWS Account Management 참조 안내서의 AWS 계정 식별자 보기를 참조하세요.

고려 사항

특정 AWS 계정과 AMI를 공유하는 경우 다음 사항을 고려하세요.

  • 소유권 - AMI를 공유하려면 사용자의 AWS 계정이 AMI를 소유해야 합니다.

  • 공유 제한 - 리전 내에서 AMI를 공유할 수 있는 최대 엔터티 수는 Amazon EC2 서비스 할당량을 참조하세요.

  • 태그 - 사용자 정의 태그(AMI에 연결하는 태그)는 공유할 수 없습니다. AMI를 공유하면 AMI가 공유되는 AWS 계정에서 사용자 정의 태그를 사용할 수 없습니다.

  • 암호화 및 키 - 암호화되지 않거나 암호화된 스냅샷의 지원을 받는 AMI를 공유할 수 있습니다.

    • 암호화된 스냅샷은 KMS 키로 암호화해야 합니다. 기본 AWS 관리형 키로 암호화된 스냅샷의 지원을 받는 AMI는 공유할 수 없습니다.

    • 암호화된 스냅샷에서 지원하는 AMI를 공유하는 경우 AWS 계정이 스냅샷을 암호화하는 데 사용된 KMS 키를 사용하도록 허용해야 합니다. 자세한 내용은 조직 및 OU가 KMS 키를 사용하도록 허용 섹션을 참조하세요. 암호화에 고객 관리형 키를 사용할 때 Auto Scaling 인스턴스를 시작하는 데 필요한 키 정책을 설정하려면 Amazon EC2 Auto Scaling User Guide의 Required AWS KMS key policy for use with encrypted volumes를 참조하세요.

  • 리전 - AMI는 리전 리소스입니다. AMI를 공유할 때 해당하는 리전에서만 사용할 수 있습니다. AMI를 다른 리전에서 사용할 수 있도록 하려면 AMI를 해당 리전에 복사한 후 공유하세요. 자세한 내용은 AMI 복사 단원을 참조하십시오.

  • 사용 - AMI를 공유하면 사용자는 AMI에서만 인스턴스를 시작할 수 있습니다. 삭제, 공유 또는 수정할 수 없습니다. 그러나 AMI를 사용하여 인스턴스를 시작한 후에는 해당 인스턴스에서 AMI를 생성할 수 있습니다.

  • 공유 AMI 복사 - 다른 계정의 사용자가 공유 AMI를 복사하려는 경우 AMI를 지원하는 스토리지에 대한 읽기 권한을 해당 사용자에게 부여해야 합니다. 자세한 내용은 교차 계정 복사 단원을 참조하십시오.

  • 결제 - 다른 AWS 계정이 인스턴스를 시작하기 위해 AMI를 사용하는 경우에는 요금이 청구되지 않습니다. AMI를 사용하여 인스턴스를 시작하는 계정에는 AMI가 시작하는 인스턴스에 대한 요금이 청구됩니다.

AMI 공유(콘솔)

콘솔을 사용해 명시적 시작 권한을 허용하는 방법
  1. https://console.aws.amazon.com/ec2/에서 Amazon EC2 콘솔을 엽니다.

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

  3. 목록에서 AMI를 선택한 후 작업(Actions), 이미지 권한 수정(Edit AMI permissions)을 선택합니다.

  4. 프라이빗(Private)을 선택합니다.

  5. 공유 계정(Shared accounts)에서 계정 ID 추가(Add account ID)를 선택합니다.

  6. AWS 계정 ID에서 AMI를 공유하려는 AWS 계정 ID를 입력한 다음 Share AMI(AMI 공유)를 선택합니다.

    이 AMI를 다수의 계정과 공유하려면 모든 필수 계정 ID가 추가될 때까지 단계 5 및 6을 반복합니다.

    참고

    AMI를 공유하기 위해서 해당 AMI의 레퍼런스인 Amazon EBS 스냅샷을 함께 공유할 필요는 없습니다. AMI만 공유하면 시스템에서 시작에 필요한 Amazon EBS 스냅샷 액세스를 인스턴스에 자동으로 제공합니다. 그러나 AMI가 참조하는 스냅샷을 암호화하는 데 사용되는 모든 KMS 키를 공유해야 합니다. 자세한 내용은 Amazon EBS 사용 설명서Share an Amazon EBS snapshot을 참조하세요.

  7. 작업을 마쳤으면 변경 사항 저장(Save changes)을 선택합니다.

  8. (선택 사항) AMI를 공유하는 AWS 계정 계정 ID를 보려면 목록에서 AMI를 선택하고 Permissions(권한) 탭을 선택합니다. 공유되는 AMI를 찾으려면 공유 AMI 찾기 단원을 참조하세요.

AMI 공유(Tools for Windows PowerShell)

Edit-EC2ImageAttribute 명령(Tools for Windows PowerShell)을 사용하여 다음 예시와 같이 AMI를 공유할 수 있습니다.

명시적 시작 권한 허용

다음 명령은 지정된 AWS 계정에 지정된 AMI에 대한 시작 권한을 부여합니다. 다음 예제에서 예제 AMI ID를 유효한 AMI ID로 바꾸고 account-id를 12자리 AWS 계정 ID로 바꿉니다.

PS C:\> Edit-EC2ImageAttribute -ImageId ami-0abcdef1234567890 -Attribute launchPermission -OperationType add -UserId "account-id"
참고

AMI를 공유하기 위해서 해당 AMI의 레퍼런스인 Amazon EBS 스냅샷을 함께 공유할 필요는 없습니다. AMI만 공유하면 시스템에서 시작에 필요한 Amazon EBS 스냅샷 액세스를 인스턴스에 자동으로 제공합니다. 그러나 AMI가 참조하는 스냅샷을 암호화하는 데 사용되는 모든 KMS 키를 공유해야 합니다. 자세한 내용은 Amazon EBS 사용 설명서Share an Amazon EBS snapshot을 참조하세요.

특정 계정에서 시작 권한을 제거하는 방법

다음 명령은 지정된 AWS 계정에서 지정된 AMI에 대한 시작 권한을 제거합니다. 다음 예제에서 예제 AMI ID를 유효한 AMI ID로 바꾸고 account-id를 12자리 AWS 계정 ID로 바꿉니다.

PS C:\> Edit-EC2ImageAttribute -ImageId ami-0abcdef1234567890 -Attribute launchPermission -OperationType remove -UserId "account-id"
모든 시작 권한을 제거하는 방법

다음 명령은 특정 AMI의 퍼블릭 및 명시적 시작 권한을 모두 삭제하는 데 사용됩니다. AMI의 소유자는 언제나 시작 권한을 가지며 이 명령에 영향을 받지 않습니다. 다음 예제에서 예제 AMI ID를 유효한 AMI ID로 바꿉니다.

PS C:\> Reset-EC2ImageAttribute -ImageId ami-0abcdef1234567890 -Attribute launchPermission

AMI 공유(AWS CLI)

modify-image-attribute 명령(AWS CLI)을 사용하여 다음 예시와 같이 AMI를 공유할 수 있습니다.

명시적 시작 권한 허용

다음 명령은 지정된 AWS 계정에 지정된 AMI에 대한 시작 권한을 부여합니다. 다음 예제에서 예제 AMI ID를 유효한 AMI ID로 바꾸고 account-id를 12자리 AWS 계정 ID로 바꿉니다.

aws ec2 modify-image-attribute \ --image-id ami-0abcdef1234567890 \ --launch-permission "Add=[{UserId=account-id}]"
참고

AMI를 공유하기 위해서 해당 AMI의 레퍼런스인 Amazon EBS 스냅샷을 함께 공유할 필요는 없습니다. AMI만 공유하면 시스템에서 시작에 필요한 Amazon EBS 스냅샷 액세스를 인스턴스에 자동으로 제공합니다. 그러나 AMI가 참조하는 스냅샷을 암호화하는 데 사용되는 모든 KMS 키를 공유해야 합니다. 자세한 내용은 Amazon EBS 사용 설명서Share an Amazon EBS snapshot을 참조하세요.

특정 계정에서 시작 권한을 제거하는 방법

다음 명령은 지정된 AWS 계정에서 지정된 AMI에 대한 시작 권한을 제거합니다. 다음 예제에서 예제 AMI ID를 유효한 AMI ID로 바꾸고 account-id를 12자리 AWS 계정 ID로 바꿉니다.

aws ec2 modify-image-attribute \ --image-id ami-0abcdef1234567890 \ --launch-permission "Remove=[{UserId=account-id}]"
모든 시작 권한을 제거하는 방법

다음 명령은 특정 AMI의 퍼블릭 및 명시적 시작 권한을 모두 삭제하는 데 사용됩니다. AMI의 소유자는 언제나 시작 권한을 가지며 이 명령에 영향을 받지 않습니다. 다음 예제에서 예제 AMI ID를 유효한 AMI ID로 바꿉니다.

aws ec2 reset-image-attribute \ --image-id ami-0abcdef1234567890 \ --attribute launchPermission