기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
AMI 배포 구성 생성 및 업데이트
이 섹션에서는 Image Builder AMI의 배포 구성을 생성하고 업데이트하는 방법을 다룹니다.
SSM 출력 파라미터의 사전 조건
AWS Systems Manager Parameter Store 파라미터(SSM 파라미터)를 설정하는 새 AMI 배포 구성을 생성하기 전에 다음 사전 조건을 충족했는지 확인합니다.
- 실행 역할
-
파이프라인을 생성하거나에서 create-image 명령을 사용하는 경우 Image Builder 실행 역할을 하나만 지정할 AWS CLI수 있습니다. Image Builder 워크플로 실행 역할을 정의한 경우 해당 역할에 추가 기능 권한을 추가합니다. 그렇지 않으면 필요한 권한이 포함된 새 사용자 지정 역할을 생성합니다.
-
배포 중에 출력 AMI ID를 SSM 파라미터에 저장하려면 Image Builder 실행 역할에서 ssm:PutParameter
작업을 지정하고 파라미터를 리소스로 나열해야 합니다.
-
파라미터 데이터 형식을 로 설정AWS EC2 Image
하여 파라미터 값을 AMI ID로 검증하도록 Systems Manager에 신호를 보내는 경우 ec2:DescribeImages
작업도 추가해야 합니다.
AMI 배포 구성 생성
배포 구성에는 출력 AMI 이름, 암호화에 대한 특정 리전 설정, 시작 권한 AWS 계정, 출력 AMI를 시작할 수 있는 조직 및 조직 단위(OUs) 및 라이선스 구성이 포함됩니다.
배포 구성을 사용하면 출력 AMI의 이름과 설명을 지정하고, 다른 AWS 계정 사용자에게 AMI를 시작하고, AMI를 다른 계정에 복사하고, AMI를 다른 AWS 리전에 복제할 수 있는 권한을 부여할 수 있습니다. 또한 AMI를 Amazon Simple Storage Service(S3)로 내보내거나 출력 Windows AMI를 위한 EC2 Fast Launch를 구성할 수 있습니다. AMI를 공개하려면 시작 권한 승인 계정을 all
(으)로 설정합니다. EC2 ModifyImageAttribute에서 AMI를 공개하는 예를 참조하세요.
- Console
-
AWS Management Console다음 단계에 따라에서 새 AMI 배포 구성을 생성합니다.
-
https://console.aws.amazon.com/imagebuilder/에서 EC2 Image Builder 콘솔을 엽니다.
-
탐색 창에서 배포 설정을 선택합니다. 여기에는 사용자 계정에서 생성된 배포 구성 목록이 표시됩니다.
-
배포 설정 패널 상단에 있는 배포 설정 만들기를 선택합니다.
-
이미지 유형 섹션에서 Amazon Machine Image(AMI) 출력 유형을 선택합니다.
-
일반 섹션에서 배포 구성의 이름과 설명(선택 사항)을 입력합니다.
-
리전 설정 섹션에서 AMI를 배포하는 각 리전에 대해 다음 세부 정보를 입력합니다.
-
AMI는 기본적으로 현재 리전(리전 1) 에 배포됩니다. 리전 1은 배포의 소스입니다. 리전 1의 일부 설정은 편집할 수 없습니다. 추가하는 모든 리전의 경우 지역 드롭다운 목록에서 리전을 선택할 수 있습니다.
Kms 키는 대상 리전에서 이미지의 EBS 볼륨을 암호화하는 데 AWS KMS key 사용되는를 식별합니다. 참고로, 빌드가 소스 리전(리전 1)의 사용자 계정으로 생성한 원본 AMI에는 적용되지 않습니다. 빌드의 배포 단계에서 실행되는 암호화는 다른 계정이나 리전에 배포되는 이미지에만 적용됩니다.
계정의 소스 지역에 생성된 AMI의 EBS 볼륨을 암호화하려면 이미지 레시피 블록 디바이스 매핑(콘솔의 스토리지(볼륨))에서 KMS 키를 설정해야 합니다.
Image Builder는 AMI를 리전에 지정한 타겟 계정 에 복사합니다.
출력 AMI 이름은 선택 사항입니다. 이름을 제공하면 최종 출력 AMI 이름에는 AMI 구축 시점의 타임스탬프가 추가됩니다. 이름을 지정하지 않으면 Image Builder에서 레시피 이름에 빌드 타임스탬프를 추가합니다. 이를 통해 각 빌드에 대해 고유한 AMI 이름을 보장합니다.
-
AMI 공유를 사용하면 지정된 AWS 보안 주체가 AMI에서 인스턴스를 시작할 수 있는 액세스 권한을 부여할 수 있습니다. AMI 공유 섹션을 확장하면 다음 세부 정보를 입력할 수 있습니다.
-
시작 권한 - AMI를 비공개로 유지하고 특정 AWS 보안 주체가 프라이빗 AMI에서 인스턴스를 시작할 수 있도록 액세스를 허용하려면 비공개를 선택합니다. AMI를 퍼블릭으로 설정하려면 퍼블릭을 선택합니다. 모든 AWS 보안 주체는 퍼블릭 AMI에서 인스턴스를 시작할 수 있습니다.
-
보안 주체 - 인스턴스를 시작할 수 있도록 다음 유형의 AWS 보안 주체에 대한 액세스 권한을 부여할 수 있습니다.
-
AWS 계정 - 특정 AWS 계정에 대한 액세스 권한 부여
-
조직 구성 단위(OU) - OU 및 모든 하위 엔티티에 대한 액세스 권한을 부여합니다. 하위 엔터티에는 OUs 및 AWS 계정이 포함됩니다.
-
조직 - 사용자 AWS Organizations및 모든 하위 엔터티에 대한 액세스 권한을 부여합니다. 하위 엔터티에는 OUs 및 AWS 계정이 포함됩니다.
먼저, 보안 주체 유형을 선택합니다. 다음 드롭다운 목록 오른쪽에 있는 상자에 액세스 권한을 부여하려는 AWS 보안 주체의 ID를 입력합니다. 다양한 종류의 ID를 다양하게 입력할 수 있습니다.
-
라이선스 구성 섹션을 확장하여 로 생성된 라이선스 구성을 Image Builder 이미지 AWS License Manager 에 연결할 수 있습니다. 라이선스 구성은 기업 계약 조건에 기반한 라이선스 규칙을 포함합니다. Image Builder는 기본 AMI와 연결된 라이선스 구성을 자동으로 포함합니다.
-
시작 템플릿 구성 섹션을 확장하여 생성한 AMI에서 인스턴스를 시작하는 데 사용할 EC2 시작 템플릿을 지정할 수 있습니다.
EC2 시작 템플릿을 사용하는 경우 Image Builder에서 빌드 완료 후 최신 AMI ID가 포함된 시작 템플릿의 새 버전을 생성하도록 지시할 수 있습니다. 시작 템플릿을 업데이트하려면 다음과 같이 설정을 구성하세요.
다른 시작 템플릿 구성을 추가하려면 시작 템플릿 구성 추가를 선택합니다. 리전 당 최대 5개의 시작 템플릿 구성을 보유할 수 있습니다.
-
SSM 파라미터 구성 섹션을 확장하여 대상 리전에 배포된 이미지의 출력 AMI ID를 저장하는 SSM 파라미터를 구성할 수 있습니다. 선택적으로 리전에서 배포 계정을 지정할 수 있습니다.
파라미터 이름 - 파라미터의 이름을 입력합니다. 예: /output/image/param
.
데이터 유형 - 기본값()을 유지합니다AWS EC2 Image
. 이렇게 하면 Systems Manager가 파라미터 값을 검증하여 유효한 AMI ID인지 확인하도록 지시합니다.
-
다른 리전의 배포 설정을 추가하려면 리전 추가를 선택합니다.
-
완료되면 설정 생성을 선택합니다.
- AWS CLI
-
다음 예는 create-distribution-configuration 명령을 사용하여 AMI에 대한 새 배포 구성을 생성하는 방법이 AWS CLI명령을 사용하는 것을 보여줍니다.
-
CLI 입력 JSON 파일 생성
파일 편집 도구를 사용하여 다음 예 중 하나에 표시된 키와 환경에 적합한 값을 포함하는 JSON 파일을 생성합니다. 이 예제에서는 지정된 리전에 배포하는 AMI를 시작할 권한이 있는 AWS 계정 AWS Organizations 조직 단위(OUs)를 정의합니다. 다음 단계에서 사용할 수 있도록 파일 create-ami-distribution-configuration.json
의 이름을 지정합니다.
예제 1:에 배포 AWS 계정
이 예에서는 AMI를 두 리전에 배포하고 각 리전에서 시작 권한을 갖도록 AWS 계정 (을)를 지정합니다.
{
"name": "MyExampleAccountDistribution",
"description": "Copies AMI to eu-west-1, and specifies accounts that can launch instances in each Region.",
"distributions": [
{
"region": "us-west-2",
"amiDistributionConfiguration": {
"name": "Name {{imagebuilder:buildDate}}",
"description": "An example image name with parameter references",
"amiTags": {
"KeyName": "Some Value"
},
"launchPermission": {
"userIds": [
"987654321012"
]
}
}
},
{
"region": "eu-west-1",
"amiDistributionConfiguration": {
"name": "My {{imagebuilder:buildVersion}} image {{imagebuilder:buildDate}}",
"amiTags": {
"KeyName": "Some value"
},
"launchPermission": {
"userIds": [
"100000000001"
]
}
}
}
]
}
예제 2: 조직 및 OUs에 배포
이 예에서는 AMI를 소스 리전에 배포하고 조직 및 OU 시작 권한을 지정합니다.
{
"name": "MyExampleAWSOrganizationDistribution",
"description": "Shares AMI with the Organization and OU",
"distributions": [
{
"region": "us-west-2",
"amiDistributionConfiguration": {
"name": "Name {{ imagebuilder:buildDate }}",
"launchPermission": {
"organizationArns": [
"arn:aws:organizations::123456789012:organization/o-myorganization123"
],
"organizationalUnitArns": [
"arn:aws:organizations::123456789012:ou/o-123example/ou-1234-myorganizationalunit"
]
}
}
}
]
}
예제 3: SSM 파라미터에 출력 AMI ID 저장
이 예제에서는 배포 리전의 AWS Systems Manager 파라미터 스토어 파라미터에 출력 AMI ID를 저장합니다.
{
"name": "SSMParameterOutputAMI
",
"description": "Updates an SSM parameter with the output AMI ID for the distribution.
",
"distributions": [
{
"region": "us-west-2
",
"amiDistributionConfiguration": {
"name": "Name {{ imagebuilder:buildDate }}"
},
"ssmParameterConfigurations": [
{
"amiAccountId": "111122223333
",
"parameterName": "/output/image/param
",
"dataType": "aws:ec2:image
"
}
]
}
]
}
-
작성한 파일을 입력으로 사용하여 다음 명령을 실행합니다.
aws imagebuilder create-distribution-configuration --cli-input-json file://create-ami-distribution-configuration.json
자세한 내용은 AWS CLI 명령 참조의 create-distribution-configuration(을)를 참조하세요.
AMI 배포 구성 업데이트
AMI 배포 구성을 변경할 수 있습니다. 하지만 변경 사항은 Image Builder에서 이미 배포한 리소스에는 적용되지 않습니다. 예를 들어 AMI를 리전에 배포한 후 배포에서 제거한 경우 이미 배포된 AMI는 수동으로 제거할 때까지 해당 리전에 남아 있습니다.
- AWS Management Console
-
AWS Management Console다음 단계에 따라의 AMI 배포 구성을 수행합니다.
-
https://console.aws.amazon.com/imagebuilder/에서 EC2 Image Builder 콘솔을 엽니다.
-
탐색 창에서 배포 설정을 선택합니다. 여기에는 사용자 계정에서 생성된 배포 구성 목록이 표시됩니다.
-
세부 정보를 보거나 배포 구성을 업데이트하려면 구성 이름 링크를 선택합니다. 이를 통해 배포 설정의 세부 정보 보기가 열립니다.
또한 구성 이름 옆에 있는 확인란을 선택한 다음 세부 정보 보기를 선택할 수 있습니다.
-
배포 구성을 편집하려면 배포 세부 정보 섹션의 오른쪽 상단에서 편집을 선택합니다. 배포 구성 이름, 리전 1로 표시되는 기본 리전 등 일부 필드는 잠겨 있습니다. 배포 설정에 대한 자세한 내용은 AMI 배포 구성 생성 섹션을 참조하세요.
-
작업을 마쳤으면 변경 사항 저장을 선택합니다.
- AWS CLI
-
다음 예에서는 update-distribution-configuration 명령을 사용하여 AMI의 배포 설정을 업데이트하는 방법이 AWS CLI명령을 사용하는 것으로 보여줍니다.
-
CLI 입력 JSON 파일 생성
파일 편집 도구를 사용하여 다음 예제에 표시된 키와 환경에 유효한 값을 사용하여 JSON 파일을 생성합니다. 이 예제에서는 update-ami-distribution-configuration.json
라는 이름의 파일이 사용됩니다.
{
"distributionConfigurationArn": "arn:aws:imagebuilder:us-west-2:123456789012:distribution-configuration/update-ami-distribution-configuration.json",
"description": "Copies AMI to eu-west-2, and specifies accounts that can launch instances in each Region.",
"distributions": [
{
"region": "us-west-2",
"amiDistributionConfiguration": {
"name": "Name {{imagebuilder:buildDate}}",
"description": "An example image name with parameter references",
"launchPermissions": {
"userIds": [
"987654321012"
]
}
}
},
{
"region": "eu-west-2",
"amiDistributionConfiguration": {
"name": "My {{imagebuilder:buildVersion}} image {{imagebuilder:buildDate}}",
"tags": {
"KeyName": "Some value"
},
"launchPermissions": {
"userIds": [
"100000000001"
]
}
}
}
]
}
-
작성한 파일을 입력으로 사용하여 다음 명령을 실행합니다.
aws imagebuilder update-distribution-configuration --cli-input-json file://update-ami-distribution-configuration.json
자세한 내용은 AWS CLI 명령 참조의 update-distribution-configuration(을)를 참조하세요. 배포 구성 리소스의 태그를 업데이트하려면 리소스 태깅 섹션을 참조하세요.
출력 AMI에 대한 EC2 Fast Launch를 활성화하는 배포 설정 생성
다음 예는 AWS CLI에서 create-distribution-configuration 명령을 사용하여 AMI에 대해 EC2 Fast Launch가 구성된 배포 설정을 생성하는 방법을 보여줍니다.
Image Builder는 EC2 Fast Launch가 사전 활성화된 AMI에 대한 교차 계정 배포를 지원하지 않습니다. 대상 계정에서 EC2 Fast Launch를 활성화해야 합니다.
-
CLI 입력 JSON 파일 생성
파일 편집 도구를 사용하여 다음 예와 같은 키와 환경에 적합한 값이 포함된 JSON 파일을 생성합니다.
이 예에서는 최대 병렬 시작 수가 대상 리소스 수보다 크기 때문에 모든 대상 리소스에 대한 인스턴스를 동시에 시작합니다. 이 파일의 이름은 다음 단계에 표시된 명령 예에서 ami-dist-config-win-fast-launch.json
입니다.
{
"name": "WinFastLaunchDistribution",
"description": "An example of Windows AMI EC2 Fast Launch settings in the distribution configuration.",
"distributions": [
{
"region": "us-west-2",
"amiDistributionConfiguration": {
"name": "Name {{imagebuilder:buildDate}}",
"description": "Includes Windows AMI EC2 Fast Launch settings.",
"amiTags": {
"KeyName": "Some Value"
}
},
"fastLaunchConfigurations": [{
"enabled": true,
"snapshotConfiguration": {
"targetResourceCount": 5
},
"maxParallelLaunches": 6,
"launchTemplate": {
"launchTemplateId": "lt-0ab1234c56d789012",
"launchTemplateVersion": "1"
}
}],
"launchTemplateConfigurations": [{
"launchTemplateId": "lt-0ab1234c56d789012",
"setDefaultVersion": true
}]
}]
}
launchTemplate
섹션에 launchTemplateId
대신 launchTemplateName
(을)를 지정할 수 있지만 이름과 ID를 모두 지정할 수는 없습니다.
-
작성한 파일을 입력으로 사용하여 다음 명령을 실행합니다.
aws imagebuilder create-distribution-configuration --cli-input-json file://ami-dist-config-win-fast-launch.json
자세한 내용은 AWS CLI 명령 참조의 create-distribution-configuration(을)를 참조하세요.
에서 출력 VM 디스크에 대한 배포 설정 생성 AWS CLI
다음 예는 create-distribution-configuration 명령을 사용하여 모든 이미지 빌드와 함께 VM 이미지 디스크를 Amazon S3로 내보내는 배포 설정을 생성하는 방법을 보여줍니다.
-
CLI 입력 JSON 파일 생성
AWS CLI에서 사용하는 create-distribution-configuration 명령을 간소화할 수 있습니다. 이렇게 하려면 명령에 전달하려는 모든 내보내기 구성을 포함하는 JSON 파일을 생성하세요.
JSON 파일의 데이터 값에 대한 이름 지정 규칙은 Image Builder API 작업 요청 파라미터에 지정된 패턴을 따릅니다. API 작업 요청 파라미터를 검토하려면 EC2 Image Builder API 참조의 CreateDistributionConfiguration 명령을 참조하세요.
데이터 값을 명령줄 매개변수로 제공하려면 옵션으로 create-distribution-configuration 명령에 대한 AWS CLI 명령 참조에 지정된 매개변수 이름을 참조하세요.
다음은 이 예에서 s3ExportConfiguration
JSON 객체에 지정하는 매개변수에 대한 요약입니다.
-
roleName(문자열, 필수) - S3 버킷으로 이미지를 내보낼 수 있는 VM Import/Export 권한을 부여하는 역할의 이름입니다.
-
DiskiImageFormat(문자열, 필수) - 업데이트된 디스크 이미지를 지원되는 다음 형식 중 하나로 내보냅니다.
-
가상 하드 디스크 - Citrix Xen 및 Microsoft Hyper-V 가상화 제품과 호환됩니다.
-
스트림 최적화 ESX 가상 머신 디스크 – VMware ESX, VMware vSphere 버전 4, 5 및 6과 호환됩니다.
-
원시 - 원시 형식.
-
S3bucket(문자열, 필수) - VM의 출력 디스크 이미지를 저장하는 S3 버킷입니다.
파일을 export-vm-disks.json
(으)로 저장합니다. create-distribution-configuration 명령에 파일 이름을 사용합니다.
{
"name": "example-distribution-configuration-with-vm-export",
"description": "example",
"distributions": [
{
"region": "us-west-2",
"amiDistributionConfiguration": {
"description": "example-with-vm-export"
},
"s3ExportConfiguration": {
"roleName": "vmimport",
"diskImageFormat": "RAW",
"s3Bucket": "vm-bucket-export"
}
}],
"clientToken": "abc123def4567ab"
}
-
작성한 파일을 입력으로 사용하여 다음 명령을 실행합니다.
aws imagebuilder create-distribution-configuration --cli-input-json file://export-vm-disks.json
자세한 내용은 AWS CLI 명령 참조의 create-distribution-configuration(을)를 참조하세요.