기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
Image Builder를 사용하여 교차 계정 AMI 배포 설정
이 섹션에서는 지정한 AMI 다른 계정에 Image Builder를 전달하도록 배포 설정을 구성하는 방법을 설명합니다.
그러면 대상 계정이 필요에 따라를 시작하거나 수정할 수 AMI있습니다.
참고
AWS CLI 이 섹션의 명령 예제에서는 이전에 이미지 레시피 및 인프라 구성 JSON 파일을 생성했다고 가정합니다. 이미지 레시피에 대한 JSON 파일을 생성하려면 섹션을 참조하세요를 사용하여 이미지 레시피 생성 AWS CLI. 인프라 구성에 대한 JSON 파일을 생성하려면 섹션을 참조하세요인프라 구성 생성.
교차 계정 AMI 배포를 위한 사전 조건
대상 계정이 Image Builder 이미지에서 인스턴스를 성공적으로 시작할 수 있도록 하려면 모든 리전의 모든 대상 계정에 대해 적절한 권한을 구성해야 합니다.
AMI using AWS Key Management Service (AWS KMS)를 암호화하는 경우 새 이미지를 암호화하는 데 사용되는 계정에 AWS KMS key 대해를 구성해야 합니다.
Image Builder가 암호화된에 대해 교차 계정 배포를 수행하면 소스 계정의 AMIs이미지가 복호화되고 대상 리전으로 푸시되며, 해당 리전에 지정된 키를 사용하여 다시 암호화됩니다. Image Builder는 대상 계정을 대신하고 대상 리전에서 생성한 IAM 역할을 사용하기 때문에 해당 계정은 소스 리전과 대상 리전 모두의 키에 액세스할 수 있어야 합니다.
암호화 키
이미지를를 사용하여 암호화한 경우 다음 사전 조건이 필요합니다 AWS KMS. IAM 사전 조건은 다음 섹션에서 다룹니다.
소스 계정 요구 사항
-
를 빌드하고 배포하는 모든 리전에서 계정에 KMS 키를 생성합니다AMI. 기존 키를 사용할 수 있습니다.
-
대상 계정에서 내 키를 사용할 수 있도록 모든 키의 키 정책을 업데이트하십시오.
대상 계정 요구 사항
-
역할
EC2ImageBuilderDistributionCrossAccountRole
이 암호화된를 배포하는 데 필요한 작업을 수행할 수 있도록 하는 인라인 정책을에 추가합니다AMI. IAM 구성 단계는 IAM 정책 사전 조건 섹션을 참조하세요.
를 사용한 교차 계정 액세스에 대한 자세한 내용은 AWS Key Management Service 개발자 안내서의 다른 계정의 사용자가 KMS 키를 사용하도록 허용을 AWS KMS참조하세요.
다음과 같이 이미지 레시피에 암호화 키를 지정합니다.
-
Image Builder 콘솔을 사용하는 경우 레시피의 스토리지(KMS볼륨) 섹션에 있는 암호화(별칭) 드롭다운 목록에서 암호화 키를 선택합니다.
-
CreateImageRecipe API 작업 또는의 create-image-recipe 명령을 사용하는 경우
blockDeviceMappings
JSON 입력의에 있는ebs
섹션에서 키를 AWS CLI구성합니다.다음 JSON 코드 조각은 이미지 레시피의 암호화 설정을 보여줍니다. 암호화 키를 제공하는 것 외에도
encrypted
플래그를true
(으)로 설정해야 합니다.{ ... "blockDeviceMappings": [ { "deviceName": "Example root volume", "ebs": { "deleteOnTermination": true, "encrypted": true, "iops": 100, "kmsKeyId": "image-owner-key-id", ... }, ... }], ... }
IAM 정책
AWS Identity and Access Management (IAM)에서 교차 계정 배포 권한을 구성하려면 다음 단계를 수행합니다.
-
계정 간에 분산AMIs된 Image Builder를 사용하려면 대상 계정 소유자가 계정에서 라는 새 IAM 역할을 생성해야 합니다
EC2ImageBuilderDistributionCrossAccountRole
. -
계정 간 배포를 활성화하려면 역할에 Ec2ImageBuilderCrossAccountDistributionAccess 정책(을)를 연결해야 합니다. 관리형 정책에 대한 자세한 내용을 알아보려면 AWS Identity and Access Management 사용 설명서의 관리형 정책과 인라인 정책을 참조하십시오.
-
소스 계정 ID가 대상 계정의 IAM 역할에 연결된 신뢰 정책에 추가되었는지 확인합니다. 다음 예제는 소스 계정의 계정 ID를 지정하는 대상 계정의 신뢰 정책을 보여줍니다.
{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::444455556666:root" }, "Action": "sts:AssumeRole" }] }
리소스 기반 정책에 대한 자세한 내용은 AWS Identity and Access Management 사용 설명서를 참조하십시오.
-
배포하는가 암호화되어 AMI 있는 경우 대상 계정 소유자는 KMS 키를 사용할 수 있도록 계정의
EC2ImageBuilderDistributionCrossAccountRole
에 다음과 같은 인라인 정책을 추가해야 합니다.Principal
섹션에는 계정 번호가 포함되어 있습니다. 이를 통해 Image Builder는를 사용하여 각 리전에 적합한 키를 AMI 사용하여 AWS KMS 를 암호화하고 복호화할 때 Image Builder를 대신하여 작업할 수 있습니다.{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowRoleToPerformKMSOperationsOnBehalfOfTheDestinationAccount", "Effect": "Allow", "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:DescribeKey", "kms:CreateGrant", "kms:ListGrants", "kms:RevokeGrant" ], "Resource": "*" } ] }
인라인 정책에 대한 자세한 내용은 AWS Identity and Access Management 사용 설명서에서 인라인 정책을 참조하십시오.
-
launchTemplateConfigurations
를 사용하여 Amazon EC2 시작 템플릿을 지정하는 경우 각 대상 계정의EC2ImageBuilderDistributionCrossAccountRole
에 다음 정책도 추가해야 합니다.{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:CreateLaunchTemplateVersion", "ec2:ModifyLaunchTemplate" ], "Resource": "*", "Condition": { "StringEquals": { "aws:ResourceTag/CreatedBy": "EC2 Image Builder" } } }, { "Effect": "Allow", "Action": [ "ec2:DescribeLaunchTemplates" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ec2:CreateTags" ], "Resource": "arn:aws:ec2:*:*:launch-template/*", "Condition": { "StringEquals": { "aws:RequestTag/CreatedBy": "EC2 Image Builder" } } } ] }
계정 간 분배에 대한 제한
여러 계정에 Image Builder 이미지를 배포할 때는 몇 가지 제한 사항이 있습니다.
-
대상 계정은 각 대상 리전에 대해 50개의 동시 AMI 복사본으로 제한됩니다.
-
반가상(PV) 가상화를 다른 리전AMI으로 복사하려면 대상 리전이 PV 가상화를 지원해야 합니다AMIs. 자세한 내용은 Linux AMI 가상화 유형을 참조하세요.
-
암호화된 스냅샷의 암호화되지 않은 사본은 생성할 수 없습니다.
KmsKeyId
파라미터에 AWS Key Management Service (AWS KMS) 고객 관리형 키를 지정하지 않으면 Image Builder는 Amazon Elastic Block Store(Amazon)의 기본 키를 사용합니다EBS. 자세한 내용은 Amazon Elastic Compute Cloud 사용 설명서의 Amazon EBS Encryption을 참조하세요.
자세한 내용은 EC2 Image Builder API 참조CreateDistributionConfiguration의 섹션을 참조하세요.
콘솔AMI에서 Image Builder에 대한 교차 계정 배포 구성
이 섹션에서는를 AMIs 사용하여 Image Builder의 교차 계정 배포를 위한 배포 설정을 생성하고 구성하는 방법을 설명합니다 AWS Management Console. 교차 계정 배포를 구성하려면 특정 IAM 권한이 필요합니다. 계속하려면 먼저 이 섹션의 교차 계정 AMI 배포를 위한 사전 조건(을)를 완료해야 합니다.
Image Builder 콘솔에서 배포 설정을 생성하려면 다음 단계를 수행하십시오.
-
에서 EC2 Image Builder 콘솔을 엽니다https://console.aws.amazon.com/imagebuilder/
. -
탐색 창에서 배포 설정을 선택합니다. 여기에는 내 계정에 생성된 배포 설정 목록이 표시됩니다.
-
배포 설정 페이지 상단에서 배포 설정 생성을 선택합니다. 그러면 배포 설정 생성 페이지로 이동합니다.
-
이미지 유형 섹션에서 출력 유형으로 Amazon Machine Image(AMI)를 선택합니다. 이것이 기본 설정입니다.
-
일반 섹션에서 생성하려는 배포 설정 리소스의 이름을 입력합니다(필수).
-
리전 설정 섹션에서 선택한 리전의 AMI 대상 계정에를 배포하려는 12자리 계정 ID를 입력하고 Enter 키를 누릅니다. 그러면 형식이 올바른지 확인한 다음 상자 아래에 입력한 계정 ID가 표시됩니다. 이 과정을 반복하여 계정을 더 추가합니다.
입력한 계정을 제거하려면 계정 ID 오른쪽에 표시된 X를 선택합니다.
각 리전의 출력 AMI 이름을 입력합니다.
-
필요한 추가 설정을 계속 지정하고 설정 생성을 선택하여 새 배포 설정 리소스를 생성합니다.
AMI에서 Image Builder에 대한 교차 계정 배포 구성 AWS CLI
이 섹션에서는 배포 설정 파일을 구성하고에서 create-image 명령을 사용하여 여러 AMI 계정에 Image Builder AWS CLI 를 빌드하고 배포하는 방법을 설명합니다.
교차 계정 배포를 구성하려면 특정 IAM 권한이 필요합니다. create-image 명령을 실행하려면 먼저 이 섹션의 교차 계정 AMI 배포를 위한 사전 조건(을)를 완료해야 합니다.
-
배포 설정 파일 구성
의 create-image 명령을 사용하여 다른 계정에 배포AMI되는 Image Builder를 AWS CLI 생성하기 전에
AmiDistributionConfiguration
설정IDs에서 대상 계정을 지정하는DistributionConfiguration
JSON 구조를 생성해야 합니다. 원본 리전에AmiDistributionConfiguration
(을)를 하나 이상 지정해야 합니다.create-distribution-configuration.json
(으)로 이름 붙인 다음 예제 파일은 해당 원본 리전의 계정 간 이미지 배포에 대한 구성을 보여줍니다.{ "name": "cross-account-distribution-example", "description": "Cross Account Distribution Configuration Example", "distributions": [ { "amiDistributionConfiguration": { "targetAccountIds": ["
123456789012
", "987654321098
"], "name": "Name {{ imagebuilder:buildDate }}
", "description": "ImageCopy Ami Copy Configuration" }, "region": "us-west-2" } ] } -
배포 설정 생성
의 create-distribution-configuration 명령을 사용하여 Image Builder 배포 설정 리소스를 생성하려면 명령에 다음 파라미터를 AWS CLI제공합니다.
-
--name
파라미터에 배포 이름을 입력합니다. -
--cli-input-json
파라미터에서 생성한 배포 구성 JSON 파일을 연결합니다.
aws imagebuilder create-distribution-configuration --name
my distribution name
--cli-input-json file://create-distribution-configuration.json
참고
-
JSON 파일 경로의 시작 부분에
file://
표기법을 포함해야 합니다. -
JSON 파일의 경로는 명령을 실행하는 기본 운영 체제에 대한 적절한 규칙을 따라야 합니다. 예를 들어 Windows에서는 디렉터리 경로를 참조하기 위해 백슬래시(\)를 사용하고 Linux 및 macOS에서는 슬래시(/)를 사용합니다.
-
--distributions
파라미터를 사용하여 명령에 JSON 직접를 제공할 수도 있습니다.