Image Builder를 사용하여 사용자 지정 구성 요소 생성 - EC2 이미지 빌더

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

Image Builder를 사용하여 사용자 지정 구성 요소 생성

구성 요소 문서를 완료한 후 이를 사용하여 Image Builder 레시피가 사용할 수 있는 사용자 지정 구성 요소를 생성할 수 있습니다. Image Builder 콘솔, API 또는 또는 명령줄SDKs에서 사용자 지정 구성 요소를 생성할 수 있습니다. 입력 파라미터를 사용하여 사용자 지정 구성 요소를 생성하고 레시피에 사용하는 방법에 대한 자세한 내용은 섹션을 참조하세요자습서: 입력 파라미터를 사용하여 사용자 지정 구성 요소 생성.

다음 섹션에서는 콘솔 또는 에서 구성 요소를 생성하는 방법을 보여줍니다 AWS CLI.

콘솔에서 사용자 지정 구성 요소 생성

Image Builder 콘솔에서 AWSTOE 애플리케이션 구성 요소를 생성하려면 다음 단계를 수행합니다.

  1. 에서 EC2 Image Builder 콘솔을 엽니다https://console.aws.amazon.com/imagebuilder/.

  2. 탐색 창에서 구성 요소를 선택합니다. 그런 다음 구성 요소 생성하기를 선택합니다.

  3. 구성 요소 생성하기 페이지의 구성 요소 세부 정보 아래에서 다음을 입력합니다.

    1. 이미지 운영 체제(OS). 구성 요소와 호환되는 운영 체제를 지정합니다.

    2. 구성 요소 범주. 드롭다운에서 생성 중인 빌드 또는 테스트 구성 요소의 유형을 선택합니다.

    3. 구성 요소 이름. 구성 요소의 이름을 입력합니다.

    4. 구성 요소 버전. 구성 요소의 버전에 대한 번호를 입력합니다.

    5. 설명. 구성 요소를 식별할 수 있도록 선택적 설명을 제공합니다.

    6. 설명 변경하기. 이 버전의 구성 요소에 적용된 변경 사항을 이해하는 데 도움이 되는 선택적 설명을 제공합니다.

  4. 정의 문서 섹션의 기본 옵션은 문서 콘텐츠 정의하기입니다. 구성 요소 문서는 Image Builder가 빌드 및 테스트 인스턴스에서 이미지를 생성하기 위해 수행하는 작업을 정의합니다.

    콘텐츠 상자에 YAML 구성 요소 문서 콘텐츠를 입력합니다. Linux용 Hello World 예제로 시작하려면 예제 사용하기 옵션을 선택합니다. YAML 구성 요소 문서를 생성하는 방법에 대해 자세히 알아보거나 해당 페이지에서 UpdateOS 예제를 복사하여 붙여넣으려면 섹션을 참조하세요Image Builder에서 사용자 지정 YAML 구성 요소에 대한 구성 요소 문서 생성.

  5. 구성 요소 세부 정보를 입력한 후 구성 요소 생성하기를 선택합니다.

    참고

    레시피를 생성하거나 업데이트할 때 새 구성 요소를 보려면 내 소유 필터를 빌드 또는 테스트 구성 요소 목록에 적용합니다. 필터는 검색 상자 옆의 구성 요소 목록의 상단에 있습니다.

  6. 구성 요소를 삭제하려면 구성 요소 페이지에서 삭제할 구성 요소 옆에 있는 확인란을 선택합니다. 작업 드롭다운에서 구성 요소 삭제하기를 선택합니다.

구성 요소 업데이트

새 구성 요소 버전을 생성하려면 다음 단계를 따릅니다.

  1. 시작 위치에 따라:

    • 구성 요소 목록 페이지에서 구성 요소 이름 옆의 확인란을 선택한 다음 작업 메뉴에서 새 버전 생성하기를 선택합니다.

    • 구성 요소 세부 정보 페이지에서 제목의 오른쪽 상단에 있는 새 버전 생성하기 버튼을 선택합니다.

  2. 구성 요소 생성하기 페이지가 표시되면 구성 요소 정보가 이미 현재 값으로 채워져 있습니다. 구성 요소 생성하기 단계에 따라 구성 요소를 업데이트합니다. 이렇게 하면 구성 요소 버전에 고유한 시맨틱 버전을 입력할 수 있습니다. Image Builder 리소스의 시맨틱 버전 관리에 대한 자세한 내용은 Image Builder의 의미 체계 버전 관리(을)를 참조하십시오.

에서 사용자 지정 구성 요소 생성 AWS CLI

이 섹션에서는 다음과 같이 에서 Image Builder 명령을 설정하고 사용하여 AWSTOE 애플리케이션 구성 요소를 AWS CLI 생성하는 방법을 알아봅니다.

  • 명령줄에서 참조할 수 있는 S3 버킷에 YAML 구성 요소 문서를 업로드합니다.

  • create-component 명령을 사용하여 AWSTOE 애플리케이션 구성 요소를 생성합니다.

  • list-components 명령과 이름 필터를 사용하여 구성 요소 버전을 나열하여 이미 존재하는 버전을 확인합니다. 출력을 사용하여 업데이트에 사용할 다음 버전을 결정할 수 있습니다.

입력 YAML 문서에서 AWSTOE 애플리케이션 구성 요소를 생성하려면 이미지 운영 체제 플랫폼과 일치하는 단계를 따릅니다.

Linux
Amazon S3에 애플리케이션 구성 요소 문서 저장

S3 버킷을 AWSTOE 애플리케이션 구성 요소 소스 문서의 리포지토리로 사용할 수 있습니다. 구성 요소 문서를 저장하려면 다음 단계를 수행합니다.

  • Amazon S3에 문서 업로드

    문서가 64KB 미만인 경우 이 단계를 건너뛸 수 있습니다. 크기가 64KB 이상인 문서는 Amazon S3에 저장해야 합니다.

    aws s3 cp update-linux-os.yaml s3://amzn-s3-demo-destination-bucket/my-path/update-linux-os.yaml
YAML 문서에서 구성 요소 생성

에서 사용하는 create-component 명령을 간소화하려면 명령에 전달하려는 모든 구성 요소 파라미터가 포함된 JSON 파일을 AWS CLI생성합니다. 이전 단계에서 만든 update-linux-os.yaml 문서의 위치를 포함하십시오. uri 키-값 페어에는 파일 참조가 포함됩니다.

참고

JSON 파일의 데이터 값에 대한 이름 지정 규칙은 Image Builder API 작업 요청 파라미터에 지정된 패턴을 따릅니다. API 명령 요청 파라미터를 검토하려면 EC2 Image Builder API 참조CreateComponent 명령을 참조하세요.

데이터 값을 명령줄 파라미터로 제공하려면 AWS CLI 명령 참조에 지정된 파라미터 이름을 참조하십시오.

  1. CLI 입력 JSON 파일 생성

    파일 편집 도구를 사용하여 create-update-linux-os-component.json(이)라는 이름의 파일을 생성합니다. 다음 콘텐츠를 포함합니다.

    { "name": "update-linux-os", "semanticVersion": "1.1.2", "description": "An example component that updates the Linux operating system", "changeDescription": "Initial version.", "platform": "Linux", "uri": "s3://amzn-s3-demo-destination-bucket/my-path/update-linux-os.yaml", "kmsKeyId": "arn:aws:kms:us-west-2:123456789012:key/98765432-b123-456b-7f89-0123456f789c", "tags": { "MyTagKey-purpose": "security-updates" } }
    참고
    • JSON 파일 경로 시작 부분에 file:// 표기법을 포함해야 합니다.

    • JSON 파일의 경로는 명령을 실행하는 기본 운영 체제에 대한 적절한 규칙을 따라야 합니다. 예를 들어 Windows에서는 디렉터리 경로를 참조하기 위해 백슬래시(\)를 사용하고 Linux에서는 슬래시(/)를 사용합니다.

  2. 구성 요소 생성

    다음 명령을 사용하여 이전 단계에서 JSON 생성한 파일의 파일 이름을 참조하여 구성 요소를 생성합니다.

    aws imagebuilder create-component --cli-input-json file://create-update-linux-os-component.json
    참고
    • JSON 파일 경로 시작 부분에 file:// 표기법을 포함해야 합니다.

    • JSON 파일의 경로는 명령을 실행하는 기본 운영 체제에 대한 적절한 규칙을 따라야 합니다. 예를 들어 Windows에서는 디렉터리 경로를 참조하기 위해 백슬래시(\)를 사용하고 Linux에서는 슬래시(/)를 사용합니다.

Windows
Amazon S3에 애플리케이션 구성 요소 문서 저장

S3 버킷을 AWSTOE 애플리케이션 구성 요소 소스 문서의 리포지토리로 사용할 수 있습니다. 구성 요소 문서를 저장하려면 다음 단계를 수행합니다.

  • Amazon S3에 문서 업로드

    문서가 64KB 미만인 경우 이 단계를 건너뛸 수 있습니다. 크기가 64KB 이상인 문서는 Amazon S3에 저장해야 합니다.

    aws s3 cp update-windows-os.yaml s3://amzn-s3-demo-destination-bucket/my-path/update-windows-os.yaml
YAML 문서에서 구성 요소 생성

에서 사용하는 create-component 명령을 간소화하려면 명령에 전달하려는 모든 구성 요소 파라미터가 포함된 JSON 파일을 AWS CLI생성합니다. 이전 단계에서 만든 update-windows-os.yaml 문서의 위치를 포함하십시오. uri 키-값 페어에는 파일 참조가 포함됩니다.

참고

JSON 파일의 데이터 값에 대한 이름 지정 규칙은 Image Builder API 작업 요청 파라미터에 지정된 패턴을 따릅니다. API 명령 요청 파라미터를 검토하려면 EC2 Image Builder API 참조CreateComponent 명령을 참조하세요.

데이터 값을 명령줄 파라미터로 제공하려면 AWS CLI 명령 참조에 지정된 파라미터 이름을 참조하십시오.

  1. CLI 입력 JSON 파일 생성

    파일 편집 도구를 사용하여 create-update-windows-os-component.json(이)라는 이름의 파일을 생성합니다. 다음 콘텐츠를 포함합니다.

    { "name": "update-windows-os", "semanticVersion": "1.1.2", "description": "An example component that updates the Windows operating system.", "changeDescription": "Initial version.", "platform": "Windows", "uri": "s3://amzn-s3-demo-destination-bucket/my-path/update-windows-os.yaml", "kmsKeyId": "arn:aws:kms:us-west-2:123456789012:key/98765432-b123-456b-7f89-0123456f789c", "tags": { "MyTagKey-purpose": "security-updates" } }
    참고
    • JSON 파일 경로 시작 부분에 file:// 표기법을 포함해야 합니다.

    • JSON 파일의 경로는 명령을 실행하는 기본 운영 체제에 대한 적절한 규칙을 따라야 합니다. 예를 들어 Windows에서는 디렉터리 경로를 참조하기 위해 백슬래시(\)를 사용하고 Linux에서는 슬래시(/)를 사용합니다.

  2. 구성 요소 생성

    다음 명령을 사용하여 이전 단계에서 JSON 생성한 파일의 파일 이름을 참조하여 구성 요소를 생성합니다.

    aws imagebuilder create-component --cli-input-json file://create-update-windows-os-component.json
    참고
    • JSON 파일 경로 시작 부분에 file:// 표기법을 포함해야 합니다.

    • JSON 파일의 경로는 명령을 실행하는 기본 운영 체제에 대한 적절한 규칙을 따라야 합니다. 예를 들어 Windows에서는 디렉터리 경로를 참조하기 위해 백슬래시(\)를 사용하고 Linux에서는 슬래시(/)를 사용합니다.

AWSTOE 의 업데이트를 위한 구성 요소 버전 관리 AWS CLI

AWSTOE 구성 요소 이름과 버전은 구성 요소 접두사 뒤에 구성 요소의 Amazon 리소스 이름(ARN)에 포함됩니다. 구성 요소의 각 새 버전에는 고유한 이 있습니다ARN. 새 버전을 생성하는 단계는 새 구성 요소를 만드는 단계와 완전히 동일합니다. 단, 시맨틱 버전이 해당 구성 요소 이름에 고유해야 합니다. Image Builder 리소스의 시맨틱 버전 관리에 대한 자세한 내용은 Image Builder의 의미 체계 버전 관리(을)를 참조하십시오.

다음 논리적 버전을 할당하려면 먼저 변경하려는 구성 요소의 기존 버전 목록을 가져오십시오. 명령을 AWS CLI와 list-components 함께 사용하고 이름을 필터링합니다.

이 예제에서는 이전 Linux 예제에서 만든 구성 요소의 이름을 기준으로 필터링합니다. 생성한 구성 요소를 나열하려면 create-component 명령에서 사용한 JSON 파일의 name 파라미터 값을 사용합니다.

aws imagebuilder list-components --filters name="name",values="update-linux-os" { "requestId": "123a4567-b890-123c-45d6-ef789ab0cd1e", "componentVersionList": [ { "arn": "arn:aws:imagebuilder:us-west-2:1234560087789012:component/update-linux-os/1.0.0", "name": "update-linux-os", "version": "1.0.0", "platform": "Linux", "type": "BUILD", "owner": "123456789012", "dateCreated": "2020-09-24T16:58:24.444Z" }, { "arn": "arn:aws:imagebuilder:us-west-2:1234560087789012:component/update-linux-os/1.0.1", "name": "update-linux-os", "version": "1.0.1", "platform": "Linux", "type": "BUILD", "owner": "123456789012", "dateCreated": "2021-07-10T03:38:46.091Z" } ] }

결과를 바탕으로 다음 버전을 결정할 수 있습니다.

스크립트를 가져와 에서 구성 요소를 생성합니다. AWS CLI

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

이 예제에서는 import-component.json(그림 참조)이라는 파일이 있다고 가정합니다. 파일은 이미 에 업로드AdminConfig.ps1된 라는 PowerShell 스크립트를 직접 참조합니다amzn-s3-demo-source-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://amzn-s3-demo-source-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