EC2 Image Builder 작동 방식 - EC2 이미지 빌더

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

EC2 Image Builder 작동 방식

EC2 Image Builder 파이프라인 콘솔 마법사를 사용하여 사용자 지정 이미지를 생성하면 마법사가 다음 단계를 안내합니다.

  1. 파이프라인 세부 정보 지정 - 이름, 설명, 태그, 자동 빌드 실행 일정 등 파이프라인에 대한 정보를 입력합니다. 원하는 경우 수동 빌드를 선택할 수 있습니다.

  2. 레시피 선택 - 를 빌드할지 AMI또는 컨테이너 이미지를 빌드할지 선택합니다. 두 가지 유형의 출력 이미지 모두 레시피의 이름과 버전을 입력하고 기본 이미지를 선택한 다음, 빌드 및 테스트를 위해 추가할 구성 요소를 선택합니다. 또한 자동 버전 관리를 선택하여 기본 이미지에 사용 가능한 최신 운영 체제(OS) 버전을 항상 사용할 수 있습니다. 컨테이너 레시피는 Dockerfiles와 출력 Docker 컨테이너 이미지의 대상 Amazon ECR리포지토리를 추가로 정의합니다.

    참고

    구성 요소는 이미지 레시피 또는 컨테이너 레시피가 사용하는 구성 요소입니다. 예를 들어 설치용 패키지, 보안 강화 단계, 테스트 등이 있습니다. 선택한 기본 이미지와 구성 요소가 이미지 레시피를 구성합니다.

  3. 인프라 구성 정의 - Image Builder는 계정의 EC2 인스턴스를 시작하여 이미지를 사용자 지정하고 검증 테스트를 실행합니다. 인프라 구성 설정은 빌드 프로세스 AWS 계정 중에 에서 실행할 인스턴스에 대한 인프라 세부 정보를 지정합니다.

  4. 배포 설정 정의 — 빌드가 완료되고 모든 테스트를 통과한 후 이미지를 배포할 AWS 리전을 선택합니다. 파이프라인은 빌드를 실행하는 리전에 이미지를 자동으로 배포하며, 다른 리전에 이미지 배포를 추가할 수 있습니다.

사용자 지정 기본 이미지로 빌드한 이미지는 AWS 계정에 있습니다. 빌드 일정을 입력하여 이미지의 업데이트 및 패치 버전을 생성하도록 이미지 파이프라인을 구성할 수 있습니다. 빌드가 완료되면 Amazon Simple Notification Service(SNS)를 통해 알림을 받을 수 있습니다. 최종 이미지를 생성하는 것 외에도 Image Builder 콘솔 마법사는 반복 가능한 자동화를 위해 기존 버전 제어 시스템 및 연속 integration/continuous deployment (CI/CD) 파이프라인과 함께 사용할 수 있는 레시피를 생성합니다. 레시피를 공유하고 새 버전을 만들 수 있습니다.

AMI 요소

Amazon Machine Image(AMI)는 EC2 인스턴스를 배포하기 위한 OS 및 소프트웨어가 포함된 사전 구성된 가상 머신(VM) 이미지입니다.

에는 다음 요소가 AMI 포함됩니다.

  • VM의 루트 볼륨을 위한 템플릿입니다. Amazon EC2 VM을 시작하면 루트 디바이스 볼륨에 인스턴스를 부팅할 이미지가 포함됩니다. 인스턴스 스토어가 사용되는 경우, 루트 디바이스는 Amazon S3의 템플릿에서 생성된 인스턴스 스토어 볼륨입니다. 자세한 내용은 Amazon EC2 루트 디바이스 볼륨을 참조하세요.

  • AmazonEBS을 사용하는 경우 루트 디바이스는 EBS 스냅샷 에서 생성된 EBS 볼륨입니다.

  • 에서 시작할 수 AWS 계정 있는 를 결정하는 시작 권한VMs입니다AMI.

  • 시작 후 인스턴스에 연결할 볼륨을 지정하는 블록 디바이스 매핑 데이터.

  • 각 리전, 계정별 고유한 리소스 식별자.

  • 메타데이터 페이로드(예: 태그) 및 속성(예: 리전, 운영 체제, 아키텍처, 루트 디바이스 유형, 공급자, 시작 권한, 루트 디바이스용 스토리지, 서명 상태)

  • 무단 변조로부터 보호하기 위한 Windows 이미지의 AMI 서명입니다. 자세한 내용은 인스턴스 ID 문서를 참조하십시오.

기본 할당량

Image Builder의 기본 할당량을 보려면, Image Builder 엔드포인트및 할당량을 참조하십시오.

AWS 리전 및 엔드포인트

Image Builder의 서비스 엔드포인트를 보려면 Image Builder 엔드포인트 및 할당량을 참조하십시오.

구성 요소 관리

EC2 Image Builder는 복잡한 워크플로를 오케스트레이션하고, 시스템 구성을 수정하고, YAML기반 스크립트 구성 요소로 시스템을 테스트하는 데 도움이 되는 구성 요소 관리 애플리케이션 AWS Task Orchestrator and Executor (AWSTOE)을 사용합니다. AWSTOE 는 독립 실행형 애플리케이션이므로 추가 설정이 필요하지 않습니다. 모든 클라우드 인프라 및 온프레미스에서 실행할 수 있습니다. 를 독립형 애플리케이션 AWSTOE 으로 사용하려면 섹션을 참조하세요를 사용하여 사용자 지정 구성 요소를 개발하도록 수동 설정 AWSTOE.

Image Builder는 AWSTOE 를 사용하여 모든 인스턴스 활동을 수행합니다. 여기에는 스냅샷을 찍기 전에 이미지를 만들고 검증하고, 최종 이미지를 만들기 전에 예상대로 작동하는지 확인하는 스냅샷을 테스트하는 것이 포함됩니다. Image Builder가 AWSTOE 를 사용하여 구성 요소를 관리하는 방법에 대한 자세한 내용은 섹션을 참조하세요구성 요소를 사용하여 Image Builder 이미지 사용자 지정. AWSTOE(으)로 구성 요소를 생성하는 작업에 관한 자세한 내용은 Image Builder가 AWS Task Orchestrator and Executor 애플리케이션을 사용하여 구성 요소를 관리하는 방법 섹션을 참조하십시오.

이미지 테스트

테스트 AWSTOE 구성 요소를 사용하여 최종 이미지를 생성하기 전에 이미지를 검증하고 예상대로 작동하는지 확인할 수 있습니다.

일반적으로 각 테스트 구성 요소는 테스트 스크립트, 테스트 바이너리 및 테스트 메타데이터가 포함된 YAML 문서로 구성됩니다. 테스트 스크립트에는 테스트 바이너리를 시작하기 위한 오케스트레이션 명령이 포함되어 있으며, OS에서 지원하는 모든 언어로 작성할 수 있습니다. 종료 상태 코드는 테스트 결과를 나타냅니다. 테스트 메타데이터는 이름, 설명, 테스트 바이너리 경로, 예상 기간 등 테스트와 해당 동작을 설명합니다.

생성할 리소스

파이프라인을 생성할 때, 다음과 같은 경우를 제외하고 Image Builder 외부 리소스는 생성되지 않습니다.

  • 파이프라인 일정을 통해 이미지가 생성되는 경우

  • Image Builder 콘솔의 작업 메뉴에서 파이프라인 실행을 선택하는 경우

  • API 또는 에서 이러한 명령 중 하나를 실행하는 경우 AWS CLI: StartImagePipelineExecution 또는 CreateImage

이미지 빌드 프로세스 중에 다음과 같은 리소스가 생성됩니다.

AMI 이미지 파이프라인
  • EC2 인스턴스(임시)

  • EC2 인스턴스의 Systems Manager Inventory Association(EnhancedImageMetadata이 활성화된 경우 Systems Manager State Manager를 통해)

  • Amazon EC2 AMI

  • Amazon과 연결된 Amazon EBS 스냅샷 EC2 AMI

컨테이너 이미지 파이프라인
  • EC2 인스턴스에서 실행되는 도커 컨테이너(임시 )

  • EC2 인스턴스의 Systems Manager Inventory Association(Systems Manager State Manager를 통해)EnhancedImageMetadata이 활성화됨

  • Docker 컨테이너 이미지

  • Dockerfile

이미지가 생성되면 모든 임시 리소스가 삭제됩니다.

배포

EC2 Image Builder는 이미지를 모든 AWS 리전에 배포AMIs하거나 컨테이너화할 수 있습니다. 이미지는 이미지를 빌드하는 데 사용된 계정에 지정한 각 리전에 복사됩니다.

AMI 출력 이미지의 경우 생성된 로 EC2 인스턴스를 AMI 시작할 수 있는 AWS 계정 권한을 제어할 수 있는 시작 권한을 정의할 수 있습니다AMI. 예를 들어 이미지를 프라이빗, 퍼블릭 또는 특정 계정과 공유하도록 설정할 수 있습니다. 둘 다 다른 리전AMI에 를 배포하고 다른 계정에 대한 시작 권한을 정의하면 가 배포되는 모든 리전AMIs의 에 시작 권한이 전파AMI됩니다.

또한 계정을 사용하여 멤버 AWS Organizations 계정에 제한을 적용하여 승인되고 규정을 준수하는 에서만 인스턴스를 시작할 수 있습니다AMIs. 자세한 내용은 조직에서 관리를 참조 AWS 계정 하세요.

Image Builder 콘솔을 사용하여 배포 설정을 업데이트하려면, 콘솔에서 새 이미지 레시피 버전 생성 또는 콘솔을 사용하여 새 컨테이너 레시피 버전 생성 단계를 따르십시오.

리소스 공유

구성 요소, 레시피 또는 이미지를 다른 계정 또는 내에서 공유하려면 섹션을 AWS Organizations참조하세요와 Image Builder 리소스 공유 AWS RAM.

규정 준수

Center for Internet Security(CIS) 벤치마크의 경우 EC2 Image Builder는 Amazon Inspector를 사용하여 모범 사례 및 규정 준수 표준의 노출, 취약성 및 편차에 대한 평가를 수행합니다. 예를 들어 Image Builder는 의도하지 않은 네트워크 액세스 가능성, 패치되지 않은 CVEs, 퍼블릭 인터넷 연결 및 원격 루트 로그인 활성화를 평가합니다. Amazon Inspector는 이미지 레시피에 추가하도록 선택할 수 있는 테스트 구성 요소로 제공됩니다. Amazon Inspector 대한 자세한 내용은 Amazon Inspector 사용 설명서를 참조하세요. 자세한 내용은 인터넷 보안 센터(CIS) 벤치마크를 참조하세요.

Image Builder는 기준 STIG 표준을 준수하는 이미지를 보다 효율적으로 빌드할 수 있도록 STIG 강화 구성 요소를 제공합니다. 이러한 STIG 구성 요소는 잘못된 구성을 스캔하고 수정 스크립트를 실행합니다. STIG규정 준수 구성 요소 사용에 대한 추가 요금은 없습니다. Image Builder를 통해 사용할 수 있는 STIG 구성 요소의 전체 목록은 섹션을 참조하세요Image Builder용 Amazon 관리형 STIG 강화 구성 요소.