

# 특정 AWS 계정과 AMI 공유
<a name="sharingamis-explicit"></a>

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

AWS 계정 ID는 12자리 숫자(예: `012345678901`)이며, AWS 계정을 고유하게 식별합니다. 자세한 내용은 *AWS Account Management 참조 안내서*의 [AWS 계정 식별자 보기](https://docs.aws.amazon.com/accounts/latest/reference/manage-acct-identifiers.html)를 참조하세요.



## 고려 사항
<a name="considerations-for-sharing-AMI-with-accounts"></a>

특정 AWS 계정과 AMI를 공유하는 경우 다음 사항을 고려하세요.
+ **소유권** - AMI를 공유하려면 사용자의 AWS 계정이 AMI를 소유해야 합니다.
+ **공유 제한** - 리전 내에서 AMI를 공유할 수 있는 최대 엔터티 수는 [Amazon EC2 서비스 할당량](https://docs.aws.amazon.com//general/latest/gr/ec2-service.html#limits_ec2)을 참조하세요.
+ **태그** - 사용자 정의 태그(AMI에 연결하는 태그)는 공유할 수 없습니다. AMI를 공유하면 AMI가 공유되는 AWS 계정에서 사용자 정의 태그를 사용할 수 없습니다.
+ **스냅샷** - AMI를 공유하기 위해 해당 AMI의 레퍼런스인 Amazon EBS 스냅샷을 함께 공유할 필요는 없습니다. AMI 자체만 공유할 수 있으며, 시스템에서 시작을 위해 참조된 EBS 스냅샷에 대한 액세스 권한을 인스턴스에 제공합니다. 그러나 AMI가 참조하는 스냅샷을 암호화하는 데 사용되는 모든 KMS 키를 공유해야 합니다. 자세한 내용은 *Amazon EBS 사용 설명서*의 [Share an Amazon EBS snapshot](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-modifying-snapshot-permissions.html)을 참조하세요.
+ **암호화 및 키** - 암호화되지 않거나 암호화된 스냅샷의 지원을 받는 AMI를 공유할 수 있습니다.
  + 암호화된 스냅샷은 KMS 키로 암호화해야 합니다. 기본 AWS 관리형 키로 암호화된 스냅샷의 지원을 받는 AMI는 공유할 수 없습니다.
  + 암호화된 스냅샷에서 지원하는 AMI를 공유하는 경우 AWS 계정이 스냅샷을 암호화하는 데 사용된 KMS 키를 사용하도록 허용해야 합니다. 자세한 내용은 [조직 및 OU가 KMS 키를 사용할 수 있도록 허용](allow-org-ou-to-use-key.md) 섹션을 참조하세요. 암호화에 고객 관리형 키를 사용할 때 Auto Scaling 인스턴스를 시작하는 데 필요한 키 정책을 설정하려면 **Amazon EC2 Auto Scaling User Guide의 [Required AWS KMS key policy for use with encrypted volumes](https://docs.aws.amazon.com/autoscaling/ec2/userguide/key-policy-requirements-EBS-encryption.html)를 참조하세요.
+ **리전** - AMI는 리전 리소스입니다. AMI를 공유할 때 해당하는 리전에서만 사용할 수 있습니다. AMI를 다른 리전에서 사용할 수 있도록 하려면 AMI를 해당 리전에 복사한 후 공유하세요. 자세한 내용은 [Amazon EC2 AMI 복사](CopyingAMIs.md) 섹션을 참조하세요.
+ **사용** - AMI를 공유하면 사용자는 AMI에서만 인스턴스를 시작할 수 있습니다. 삭제, 공유 또는 수정할 수 없습니다. 그러나 AMI를 사용하여 인스턴스를 시작한 후에는 해당 인스턴스에서 AMI를 생성할 수 있습니다.
+ **공유 AMI 복사** - 다른 계정의 사용자가 공유 AMI를 복사하려는 경우 AMI를 지원하는 스토리지에 대한 읽기 권한을 해당 사용자에게 부여해야 합니다. 자세한 내용은 [교차 계정 복사](how-ami-copy-works.md#copy-ami-across-accounts) 섹션을 참조하세요.
+ **결제** - 다른 AWS 계정이 인스턴스를 시작하기 위해 AMI를 사용하는 경우에는 요금이 청구되지 않습니다. AMI를 사용하여 인스턴스를 시작하는 계정에는 AMI가 시작하는 인스턴스에 대한 요금이 청구됩니다.

------
#### [ Console ]

**명시적 시작 권한 허용**

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

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

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

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

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

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

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

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

1. (선택 사항) AMI를 공유하는 AWS 계정 계정 ID를 보려면 목록에서 AMI를 선택하고 **Permissions**(권한) 탭을 선택합니다. 공유되는 AMI를 찾으려면 [Amazon EC2 인스턴스에 사용할 공유 AMI 찾기](usingsharedamis-finding.md) 섹션을 참조하세요.

------
#### [ AWS CLI ]

[https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-image-attribute.html](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-image-attribute.html) 명령을 사용하여 다음 예시와 같이 AMI를 공유할 수 있습니다.

**명시적 시작 권한 허용**  
다음 예제는 지정된 AWS 계정에 지정된 AMI에 대한 시작 권한을 부여합니다.

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

**특정 계정에서 시작 권한을 제거하는 방법**  
다음 예제는 지정된 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
```

------
#### [ PowerShell ]

[https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2ImageAttribute.html](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2ImageAttribute.html) 명령(Tools for Windows PowerShell)을 사용하여 다음 예시와 같이 AMI를 공유할 수 있습니다.

**명시적 시작 권한 허용**  
다음 예제는 지정된 AWS 계정에 지정된 AMI에 대한 시작 권한을 부여합니다.

```
Edit-EC2ImageAttribute `
    -ImageId ami-0abcdef1234567890 ` 
    -Attribute launchPermission `
    -OperationType add `
    -UserId "123456789012"
```

**특정 계정에서 시작 권한을 제거하는 방법**  
다음 예제는 지정된 AWS 계정에서 지정된 AMI에 대한 시작 권한을 제거합니다.

```
Edit-EC2ImageAttribute `
    -ImageId ami-0abcdef1234567890 `
    -Attribute launchPermission -OperationType remove `
    -UserId "123456789012"
```

**모든 시작 권한을 제거하는 방법**  
다음 예제는 지정한 AMI에서 퍼블릭 및 명시적 시작 권한을 모두 제거합니다. AMI의 소유자는 언제나 시작 권한을 가지며 이 명령에 영향을 받지 않습니다.

```
Reset-EC2ImageAttribute `
    -ImageId ami-0abcdef1234567890 `
    -Attribute launchPermission
```

------