CMK 공유 설정 없이, 암호화된 볼륨이 있는 프라이빗 AMI 를 AWS 계정간에 공유하면
새 인스턴스 시작 시에 에러 메세지 없이 생성 후 그냥 인스턴스가 자동 종료(Terminated)되어 버립니다.

키 또한 권한을 공유하여 사용해야 합니다.

# 공유할 이미지를 지정해 주는 부분입니다.
# 원본 AMI 계정에 IAM 관리형 정책을 만들고 IAM 에 할당합니다. 
 
{
   "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ec2:ModifyImageAttribute"
            ],
            "Resource": [
                "arn:aws:ec2:us-west-2::image/<0e9fcdb7ae40e8f4c>"      
## 공유할 이미지의 리전 위치와 id ( ami-xxxxxxxxxxxxxxxxxx  에서 xxx부분입니다 ) 
            ]
        }
 ] 
}
# KMS 서비스에서 Key 를 공유 가능한 어카운트를 설정합니다. 
# 원본 AMI 계정의 KMS 서비스에 가서 공유 할 AWS Account 넘버를 공유에 등록해 줍니다.

# 공유 받은 쪽에서 복호화할 CMK 를 요청하는 부분입니다. 
# 공유 받은 계정의 IAM 에 관리형 정책을 등록합니다.
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "kms:DescribeKey",
                "kms:ReEncrypt*",
                "kms:CreateGrant",
                "kms:Decrypt"
            ],
            "Resource": [
                "arn:aws:kms:us-west-2:891977874274:key/bc52517a-676b-4f1a-9d1a-d50241563abc" 
## 원본 AMI 의 KMS Key 권한을 요청하는 정책입니다. 
            ]                                                    
        }
    ]
}

이제 정상적으로 공유 받은 이미지에서 EC2 가 생성되고 정상 시작되는 것을 확인할 수 있습니다.

참고 AWS Docs : https://aws.amazon.com/ko/blogs/security/how-to-share-encrypted-amis-across-accounts-to-launch-encrypted-ec2-instances/

image_print
카테고리: AWS

호스트웨이 시스템 팀

호스트웨이 시스템1팀