사용자 지정 구성 요소 문서의 변수 사용 - EC2 Image Builder

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

사용자 지정 구성 요소 문서의 변수 사용

변수를 사용하면 애플리케이션 전체에서 사용할 수 있는 의미 있는 이름으로 데이터에 레이블을 지정할 수 있습니다. 복잡한 워크플로를 위해 간단하고 읽기 쉬운 형식으로 사용자 지정 변수를 정의하고 구성 요소의 YAML 애플리케이션 구성 요소 문서에서 이를 참조할 수 있습니다. AWSTOE

이 섹션에서는 구문, 이름 제약 조건, 예제 등 YAML 응용 프로그램 구성 요소 문서에서 구성 요소 변수를 정의하는 데 도움이 되는 정보를 제공합니다. AWSTOE

파라미터

파라미터는 호출 애플리케이션이 런타임에 제공할 수 있는 설정을 포함하는 변경 가능한 변수입니다. YAML 문서의 Parameters 섹션에서 파라미터를 정의할 수 있습니다.

파라미터 이름 규칙
  • 이름은 3~128자 이내로 작성해야 합니다.

  • 이름에는 영숫자(A-Z, a-z, 0-9), 하이픈(-) 또는 밑줄(_)만 포함될 수 있습니다.

  • 단, 문서 내에서 고유 이름을 갖도록 합니다.

  • 이름은 YAML 문자열로 지정되어야 합니다.

구문

parameters: - <name>: type: <parameter type> default: <parameter value> description: <parameter description>

키 이름

필수

설명

name

파라미터의 이름입니다. 문서에 대해 고유해야 합니다(다른 파라미터 이름 또는 상수와 같지 않아야 함).

type

파라미터의 데이터 유형입니다. 지원되는 유형에는 string(이)가 있습니다.

default

아니요

파라미터의 기본값입니다.

description

아니요

파라미터에 대해 설명합니다.

문서의 참조 파라미터 값

다음과 같이 YAML 문서 내의 단계 또는 루프 입력에서 파라미터를 참조할 수 있습니다.

  • 파라미터 참조는 대/소문자를 구분하며 이름이 정확하게 일치해야 합니다.

  • 이름은 이중 중괄호로 묶어야 합니다. {{ MyParameter}}

  • 중괄호 내에는 공백이 허용되며 자동으로 잘립니다. 예를 들어, 다음 참조는 모두 유효합니다.

    {{ MyParameter }}, {{ MyParameter}}, {{MyParameter }}, {{MyParameter}}

  • YAML 문서의 참조는 문자열(작은따옴표 또는 큰따옴표로 묶음)로 지정해야 합니다.

    예: - {{ MyParameter }}(은)는 문자열로 식별되지 않으므로 유효하지 않습니다.

    그러나 - '{{ MyParameter }}'- "{{ MyParameter }}" 참조는 모두 유효합니다.

다음 예제는 YAML 문서에서 파라미터를 사용하는 방법을 보여 줍니다.

  • 단계별 입력의 파라미터를 참조하세요.

    name: Download AWS CLI version 2 schemaVersion: 1.0 parameters: - Source: type: string default: 'https://awscli.amazonaws.com/AWSCLIV2.msi' description: The AWS CLI installer source URL. phases: - name: build steps: - name: Download action: WebDownload inputs: - source: '{{ Source }}' destination: 'C:\Windows\Temp\AWSCLIV2.msi'
  • 루프 입력의 파라미터를 참조하세요.

    name: PingHosts schemaVersion: 1.0 parameters: - Hosts: type: string default: 127.0.0.1,amazon.com description: A comma separated list of hosts to ping. phases: - name: build steps: - name: Ping action: ExecuteBash loop: forEach: list: '{{ Hosts }}' delimiter: ',' inputs: commands: - ping -c 4 {{ loop.value }}

런타임 시 파라미터 재정의

키-값 AWS CLI 쌍과 함께 의 --parameters 옵션을 사용하여 런타임에 매개 변수 값을 설정할 수 있습니다.

  • 파라미터 키-값 쌍을 등호(<name>=<value>)로 구분하여 이름과 값으로 지정합니다.

  • 여러 파라미터는 쉼표로 구분해야 합니다.

  • YAML 구성 요소 문서에 없는 파라미터 이름은 무시됩니다.

  • 파라미터 이름과 값이 모두 필요합니다.

중요

구성 요소 파라미터는 일반 텍스트 값이며 AWS CloudTrail에 기록됩니다. 암호를 저장하려면 AWS Secrets Manager 또는 AWS Systems Manager 파라미터 스토어를 사용하는 것이 좋습니다. Secrets Manager에 대한 자세한 내용은 AWS Secrets Manager 사용 설명서Secrets Manager란 무엇입니까?를 참조하십시오. AWS Systems Manager Parameter Store에 대한 자세한 내용은 AWS Systems Manager 사용 설명서AWS Systems Manager Parameter Store 섹션을 참조하십시오.

구문

--parameters name1=value1,name2=value2...

CLI 옵션

필수

설명

--parameters name=value,...

아니요

이 옵션은 파라미터 이름을 키로 사용하여 키-값 페어의 목록을 가져옵니다.

다음 예제는 YAML 문서에서 파라미터를 사용하는 방법을 보여 줍니다.

  • --parameter 옵션에 지정된 파라미터 키-값 쌍은 유효하지 않습니다.

    --parameters ntp-server=
  • AWS CLI에서 --parameter 옵션을 사용하여 하나의 파라미터 키-값 쌍을 설정합니다.

    --parameters ntp-server=ntp-server-windows-qe.us-east1.amazon.com
  • AWS CLI에서 --parameter 옵션을 사용하여 여러 파라미터 키-값 쌍을 설정합니다.

    --parameters ntp-server=ntp-server.amazon.com,http-url=https://internal-us-east1.amazon.com

상수

상수는 한 번 정의하면 수정하거나 재정의할 수 없는 변경 불가능한 변수입니다. 상수는 AWSTOE 문서 constants 섹션의 값을 사용하여 정의할 수 있습니다.

상수 이름 지정 규칙
  • 이름은 3~128자 이내로 작성해야 합니다.

  • 이름에는 영숫자(A-Z, a-z, 0-9), 하이픈(-) 또는 밑줄(_)만 포함될 수 있습니다.

  • 단, 문서 내에서 고유 이름을 갖도록 합니다.

  • 이름은 YAML 문자열로 지정되어야 합니다.

구문

constants: - <name>: type: <constant type> value: <constant value>
키 이름 필수 설명

name

상수의 이름. 문서에 대해 고유해야 합니다(다른 파라미터 이름 또는 상수와 같지 않아야 함).

value

상수의 값.

type

상수의 유형. 지원되는 string 유형
문서 내 참조 상수 값

다음과 같이 YAML 문서 내의 단계 또는 루프 입력에서 상수를 참조할 수 있습니다.

  • 상수 참조는 대/소문자를 구분하며 이름이 정확하게 일치해야 합니다.

  • 이름은 이중 중괄호로 묶어야 합니다. {{ MyConstant}}

  • 중괄호 내에는 공백이 허용되며 자동으로 잘립니다. 예를 들어, 다음 참조는 모두 유효합니다.

    {{ MyConstant }}, {{ MyConstant}}, {{MyConstant }}, {{MyConstant}}

  • YAML 문서의 참조는 문자열(작은따옴표 또는 큰따옴표로 묶음)로 지정해야 합니다.

    예: - {{ MyConstant }}(은)는 문자열로 식별되지 않으므로 유효하지 않습니다.

    그러나 - '{{ MyConstant }}'- "{{ MyConstant }}" 참조는 모두 유효합니다.

단계 입력에서 참조되는 상수

name: Download AWS CLI version 2 schemaVersion: 1.0 constants: - Source: type: string value: https://awscli.amazonaws.com/AWSCLIV2.msi phases: - name: build steps: - name: Download action: WebDownload inputs: - source: '{{ Source }}' destination: 'C:\Windows\Temp\AWSCLIV2.msi'

루프 입력에서 참조되는 상수

name: PingHosts schemaVersion: 1.0 constants: - Hosts: type: string value: 127.0.0.1,amazon.com phases: - name: build steps: - name: Ping action: ExecuteBash loop: forEach: list: '{{ Hosts }}' delimiter: ',' inputs: commands: - ping -c 4 {{ loop.value }}