Image Builder로 구성 요소 관리하기 - EC2 Image Builder

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

Image Builder로 구성 요소 관리하기

Image Builder는 AWS Task Orchestrator and Executor (AWSTOE) 구성 요소 관리 애플리케이션을 사용하여 복잡한 워크플로를 조정합니다. AWSTOE 애플리케이션과 함께 작동하는 빌드 및 테스트 구성 요소는 이미지를 사용자 지정하거나 테스트하기 위한 스크립트를 정의하는 YAML 문서를 기반으로 합니다. AMI 이미지의 경우 Image Builder는 Amazon EC2 빌드 및 테스트 인스턴스에 AWSTOE 구성 요소와 구성 요소 관리 애플리케이션을 설치합니다. 컨테이너 이미지의 경우 구성 요소 및 AWSTOE 구성 요소 관리 애플리케이션이 실행 중인 컨테이너 내에 설치됩니다.

Image Builder는 모든 인스턴스 내 활동을 수행하는 AWSTOE 데 사용합니다. Image Builder 명령을 실행하거나 Image Builder 콘솔을 사용할 AWSTOE 때 상호 작용하는 데 필요한 추가 설정은 없습니다.

참고

Amazon에서 관리하는 구성 요소의 지원 수명이 다하면 해당 구성 요소는 더 이상 유지 관리되지 않습니다. 이 문제가 발생하기 약 4주 전에 해당 구성 요소를 사용하는 모든 계정은 알림과 AWS Health Dashboard의 해당 계정에서 영향을 받는 레시피의 목록을 수신합니다. 자세한 AWS Health내용은 AWS Health 사용 설명서를 참조하십시오.

새 이미지를 빌드하기 위한 워크플로 단계

새 이미지를 빌드하기 위한 Image Builder 워크플로에는 다음과 같은 두 단계가 있습니다.

  1. 빌드 단계(스냅샷 이전)-빌드 단계에서 기본 이미지를 실행하는 Amazon EC2 빌드 인스턴스를 변경하여 새 이미지의 베이스라인을 생성합니다. 예를 들어, 레시피에 애플리케이션을 설치하거나 운영 체제 방화벽 설정을 수정하는 구성 요소가 포함될 수 있습니다.

    빌드 단계에서 실행되는 구성 요소 단계는 다음과 같습니다.

    • 빌드

    • 검증

    이 단계가 성공적으로 완료되면 Image Builder는 테스트 단계 및 이후 단계에서 사용할 스냅샷 또는 컨테이너 이미지를 생성합니다.

  2. 테스트 단계(스냅샷 이후)-테스트 단계에서 AMI를 생성하는 이미지와 컨테이너 이미지 사이에 약간의 차이가 있습니다. AMI 워크플로의 경우 Image Builder는 빌드 단계의 마지막 단계로 생성한 스냅샷에서 EC2 인스턴스를 시작합니다. 새 인스턴스에서 테스트를 실행하여 설정을 검증하고 인스턴스가 예상대로 작동하는지 확인합니다. 컨테이너 워크플로의 경우 테스트는 구축에 사용된 것과 동일한 인스턴스에서 실행됩니다.

    테스트 단계에서 레시피에 포함된 모든 구성 요소에 대해 다음 구성 요소 단계가 실행됩니다.

    • 테스트

    이 구성 요소 단계는 빌드 및 테스트 구성 요소 유형 모두에 적용됩니다. 이 단계가 성공적으로 완료되면 Image Builder는 스냅샷 또는 컨테이너 이미지에서 최종 이미지를 생성하고 배포할 수 있습니다.

참고

구성 요소 문서에서 여러 단계를 정의할 AWSTOE 수 있지만 Image Builder에는 실행 단계와 실행 단계에 대한 엄격한 규칙이 있습니다. 구성 요소를 빌드 단계에서 실행하려면 구성 요소 문서에서 build 또는 validate 단계 중 하나 이상을 정의해야 합니다. 구성 요소를 테스트 단계에서 실행하려면 구성 요소 문서에서 다른 단계가 아닌 test 단계를 정의해야 합니다.

Image Builder는 단계들을 독립적으로 실행하므로 구성 요소 문서의 체인 참조는 단계의 경계를 넘을 수 없습니다. 빌드 단계에서 실행되는 단계에서 테스트 단계에서 실행되는 단계로 값을 체인할 수 없습니다. 하지만 입력 파라미터를 의도한 대상에 정의하고 명령줄을 통해 값을 전달할 수는 있습니다. Image Builder 레시피의 구성 요소 파라미터 설정에 대한 자세한 내용은 EC2 Image AWSTOE Builder를 사용하여 구성 요소 파라미터를 관리합니다.(을)를 참조합니다.

빌드 또는 테스트 인스턴스의 문제 해결을 지원하기 위해 구성 요소가 실행될 때마다 발생하는 상황을 추적할 수 있는 입력 문서와 로그 파일이 들어 있는 로그 폴더를 AWSTOE 생성합니다. 파이프라인 구성에서 Amazon S3 버킷을 구성한 경우 로그도 여기에 기록됩니다. YAML 문서 및 로그 출력에 대한 자세한 내용은 에서 구성 요소 문서 사용 AWSTOE(을)를 참조합니다.

작은 정보

추적해야 할 구성 요소가 많을 때 태그를 지정하여 사용하면 지정한 태그에 따라 특정 구성 요소나 버전을 식별할 수 있습니다. 의 Image Builder 명령을 사용하여 리소스에 태그를 지정하는 방법에 대한 자세한 내용은 이 가이드의 리소스 태깅 섹션을 참조하십시오. AWS CLI

이 섹션에서는 Image Builder 콘솔 또는 AWS CLI의 명령을 사용하여 구성 요소를 나열하고, 보고, 생성하고, 가져오는 방법을 설명합니다.

구성 요소 가져오기(AWS CLI)

일부 시나리오에서는 기존 스크립트로 시작하는 것이 더 쉬울 수 있습니다. 이 시나리오의 경우 다음 예제를 사용할 수 있습니다.

이 예제에서는 import-component.json(그림 참조)이라는 파일이 있다고 가정합니다. 파일은 이미 업로드된 이라는 PowerShell 스크립트를 직접 AdminConfig.ps1 참조한다는 점에 유의하세요. my-s3-bucket 현재 SHELL(은)는 구성 요소 format에 의해 지원됩니다.

{ "name": "MyImportedComponent", "semanticVersion": "1.0.0", "description": "An example of how to import a component", "changeDescription": "First commit message.", "format": "SHELL", "platform": "Windows", "type": "BUILD", "uri": "s3://my-s3-bucket/AdminConfig.ps1", "kmsKeyId": "arn:aws:kms:us-west-2:123456789012:key/60763706-b131-418b-8f85-3420912f020c" }

구성 요소를 가져오려면 다음 명령을 실행합니다.

aws imagebuilder import-component --cli-input-json file://import-component.json

리소스 정리

예상치 못한 요금이 부과되지 않도록 하려면 이 가이드의 예제에서 만든 리소스와 파이프라인을 정리하세요. Image Builder에서 리소스 삭제에 대한 자세한 내용은 EC2 Image Builder 리소스 삭제하기(을)를 참조하세요.