워크플로 문서에 동적 변수 사용 - EC2 Image Builder

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

워크플로 문서에 동적 변수 사용

워크플로 문서에서 동적 변수를 사용하여 이미지 생성 프로세스의 런타임에 변하는 값을 표현할 수 있습니다. 동적 변수 값은 대상 변수를 고유하게 식별하는 구조적 노드가 있는 JSONPath 선택기로 표시됩니다.

JSONPath 동적 워크플로 변수 구조

$.<document structure>.[<step name>.]<variable name>

루트($) 뒤의 첫 번째 노드는 워크플로 문서의 구조(예: stepOutputs 또는 Image Builder 시스템 변수의 경우 imageBuilder)를 나타냅니다. 다음 목록에는 지원되는 JSONPath 워크플로 문서 구조 노드가 포함되어 있습니다.

문서 구조 노드
  • 파라미터-워크플로 파라미터

  • stepOutputs-동일한 워크플로 문서에 있는 단계의 출력

  • workflowOutputs-이미 실행된 워크플로 문서의 출력

  • imagebuilder - Image Builder 시스템 변수

parametersstepOutputs 문서 구조 노드에는 단계의 이름에 대한 선택적 노드가 포함됩니다. 이렇게 하면 모든 단계에서 고유한 변수 이름을 지정할 수 있습니다.

JSONPath의 마지막 노드는 대상 변수의 이름(예: instanceId)입니다.

각 단계에서 이러한 JSONPath 동적 변수를 사용하여 이전 단계 작업의 출력을 참조할 수 있습니다. 이를 체이닝 또는 참조라고도 합니다. 이전 단계 작업의 결과를 참조하려면 다음 동적 변수를 사용할 수 있습니다.

$.stepOutputs.step-name.output-name

입력 파라미터가 동적 변수를 참조하는 경우 다음 예제와 같이 체인 표시기(.$)를 파라미터 이름 끝에 연결해야 합니다.

- name: ApplyTestComponents action: ExecuteComponents onFailure: Abort inputs: instanceId.$: "$.stepOutputs.LaunchTestInstance.instanceId"

Image Builder 시스템 변수 사용

Image Builder는 워크플로 문서에서 사용할 수 있는 다음과 같은 시스템 변수를 제공합니다.

변수 이름

설명

형식

예시 값

cloudWatchLogGroup

출력 로그에서 CloudWatch Logs 그룹의 이름입니다.

형식: /aws/imagebuilder/<recipe-name>

String

/aws/imagebuilder/sampleImageRecipe

cloudWatchLogStream

출력 로그에서 CloudWatch Logs 스트림의 이름입니다.

String

1.0.0/1

collectImageMetadata

인스턴스 메타데이터를 수집할지 여부를 Image Builder에 지시하는 설정입니다.

true | false

collectImageScanFindings

Image Builder가 이미지 스캔 결과를 수집할 수 있도록 지원하는 설정의 현재 값입니다.

true | false

imageBuildNumber

이미지의 빌드 버전 번호입니다.

Integer

1

imageId

기본 이미지의 AMI id입니다.

String

ami-1234567890abcdef1

imageName

이미지의 이름입니다.

String

sampleImage

imageType

이미지 출력 유형입니다.

String

AMI | Docker

imageVersionNumber

이미지의 버전 번호입니다.

String

1.0.0

instanceProfileName

Image Builder가 빌드 및 테스트 인스턴스를 시작하는 데 사용하는 인스턴스 프로파일 역할의 이름입니다.

String

SampleImageBuilderInstanceProfileRole

platform

빌드된 이미지의 운영 체제 플랫폼입니다.

String

Linux | Windows | MacOS

s3Logs

Image Builder가 작성하는 S3 로그의 구성을 포함하는 JSON 객체입니다.

JSON 객체

{'s3Logs': {'s3BucketName': 'sample-bucket', 's3KeyPrefix': 'ib-logs'}}

securityGroups

빌드 및 테스트 인스턴스에 적용되는 보안 그룹 ID입니다.

목록[문자열]

[sg-1234567890abcdef1, sg-11112222333344445]

sourceImageARN

워크플로가 빌드 및 테스트 단계에 사용하는 Image Builder 이미지 리소스의 Amazon 리소스 이름(ARN)입니다.

String

arn:aws:imagebuilder:us-east-1:111122223333:image/sampleImage/1.0.0/1

subnetId

빌드 및 테스트 인스턴스를 시작할 서부넷의 ID입니다.

String

subnet-1234567890abcdef1

terminateInstanceOnFailure

실패 시 Image Builder에서 인스턴스를 종료하거나 문제 해결을 위해 인스턴스를 유지하도록 지시하는 설정의 현재 값입니다.

true | false

workflowPhase

워크플로 실행을 위해 실행 중인 현재 단계입니다.

String

Build | Test

workingDirectory

작업 디렉터리에 대한 경로입니다.

String

/tmp