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

특정 AWS 계정과 AMI 공유

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

고려 사항

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

  • 공유 제한 없음 – AMI에서 공유할 수 있는 AWS 계정 수에는 제한이 없습니다.

  • 태그 – 공유 AMI에 연결하는 사용자 정의 태그는 사용자 AWS 계정에서만 사용할 수 있으며 AMI가 공유되는 다른 계정에서는 사용할 수 없습니다.

  • 암호화 및 키 - 암호화되지 않은 스냅샷과 암호화된 스냅샷에서 지원하는 AMI를 공유할 수 있습니다.

    • 암호화된 스냅샷은 고객 관리형 키로 암호화해야 합니다. 기본 AWS 관리형 키로 암호화된 스냅샷에서 지원하는 AMI는 공유할 수 없습니다. 자세한 정보는 Amazon EBS 스냅샷 공유를 참조하세요.

    • 암호화된 스냅샷에서 지원하는 AMI를 공유하는 경우 AWS 계정이 스냅샷을 암호화하는 데 사용된 고객 관리형 키를 사용하도록 허용해야 합니다. 자세한 내용은 조직 및 OU가 KMS 키를 사용하도록 허용 섹션을 참조하세요.

  • 리전(Region) - AMI는 리전 리소스입니다. AMI를 공유하면 해당 리전에서만 사용할 수 있습니다. AMI를 다른 리전에서 사용할 수 있도록 하려면 AMI를 해당 리전에 복사한 후 공유하세요. 자세한 정보는 AMI 복사를 참조하세요.

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

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

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

AMI 공유(콘솔)

New console

콘솔을 사용해 명시적 시작 권한을 허용하는 방법

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

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

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

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

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

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

    이 AMI를 다수의 계정과 공유하려면 필요한 계정 ID를 모두 추가할 때까지 5단계와 6단계를 반복합니다.

    참고

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

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

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

Old console

콘솔을 사용해 명시적 시작 권한을 허용하는 방법

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

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

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

  4. AWS 계정 번호 필드에 AMI를 공유할 AWS 계정 번호를 지정하고 권한 추가를 선택합니다.

    이 AMI를 다수의 사용자와 공유하려면 이 단계를 반복하여 사용자를 추가합니다.

    참고

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

  5. 모두 완료했으면 저장을 선택합니다.

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

AMI 공유(AWS CLI)

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

명시적 시작 권한 허용

다음 명령은 지정한 AWS 계정에 특정 AMI의 시작 권한을 허용하는 데 사용됩니다.

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

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

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

다음 명령은 지정한 AWS 계정에 허용했던 특정 AMI의 시작 권한을 제거하는 데 사용됩니다.

aws ec2 modify-image-attribute \ --image-id ami-0abcdef1234567890 \ --launch-permission "Remove=[{UserId=123456789012}]"

모든 시작 권한을 제거하는 방법

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

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