메뉴
AWS CloudFormation
사용 설명서 (API Version 2010-05-15)

템플릿 구조

템플릿은 AWS 인프라를 설명하는 JSON 또는 YAML 형식의 텍스트 파일입니다. 다음 예제에서는 AWS CloudFormation 템플릿 구조 및 관련 섹션을 보여줍니다.

JSON

다음 예제에서는 JSON 형식의 템플릿 조각을 보여줍니다.

Copy
{ "AWSTemplateFormatVersion" : "version date", "Description" : "JSON string", "Metadata" : { template metadata }, "Parameters" : { set of parameters }, "Mappings" : { set of mappings }, "Conditions" : { set of conditions }, "Transform" : { set of transforms }, "Resources" : { set of resources }, "Outputs" : { set of outputs } }

YAML

다음 예제에서는 YAML 형식의 템플릿 조각을 보여줍니다.

Copy
--- AWSTemplateFormatVersion: "version date" Description: String Metadata: template metadata Parameters: set of parameters Mappings: set of mappings Conditions: set of conditions Transform: set of transforms Resources: set of resources Outputs: set of outputs

템플릿 섹션

템플릿에는 여러 주요 섹션이 포함되어 있습니다. Resources 섹션만 필수 섹션입니다. 템플릿의 일부 섹션은 임의 순서대로 배열할 수 있습니다. 하지만 템플릿을 작성할 때 한 섹션의 값이 이전 섹션의 값을 참조할 수도 있으므로 다음 목록의 논리적 순서를 사용하는 것이 유용할 수 있습니다. 이 목록에서는 각 섹션을 간략하게 설명합니다.

포맷 버전(선택 사항)

템플릿이 따르는 AWS CloudFormation 템플릿 버전을 지정합니다. 템플릿 형식 버전은 API 또는 WSDL 버전과 같지 않습니다. 템플릿 형식 버전은 API 및 WSDL 버전과 상관없이 변경될 수 있습니다.

Description(선택 사항)

템플릿을 설명하는 텍스트 문자열입니다. 이 섹션은 항상 템플릿 포맷 버전 섹션 다음에 이어져야 합니다.

Metadata(선택 사항)

템플릿에 대한 추가 정보를 제공하는 객체입니다.

Parameters(선택 사항)

(스택을 생성하거나 업데이트할 때) 런타임 시 템플릿에 전달할 수 있는 값을 지정합니다. 템플릿의 ResourcesOutputs 섹션에서 파라미터를 참조할 수 있습니다.

Mappings(선택 사항)

조건부 파라미터 값을 지정하는 데 사용할 수 있는 키와 관련 값의 매핑으로, 조회 테이블과 비슷합니다. ResourcesOutputs 섹션의 Fn::FindInMap 내장 함수를 사용하여 키를 해당 값으로 매핑할 수 있습니다.

Conditions(선택 사항)

스택 생성 또는 업데이트 시 특정 리소스 속성에 값이 할당되는지 또는 특정 리소스가 생성되는지 여부를 제어하는 조건을 정의합니다. 예를 들면 스택이 프로덕션용인지 테스트 환경용인지에 따라 달라지는 리소스를 조건부로 생성할 수 있습니다.

Transform(선택 사항)

서버를 사용하지 않는 애플리케이션(Lambda 기반 애플리케이션이라고도 함)의 경우, 사용할 AWS Serverless Application Model (AWS SAM)의 버전도 지정합니다. 변환을 지정할 경우 AWS SAM 구문을 사용하여 템플릿에 리소스를 선언할 수 있습니다. 이 모델은 사용할 수 있는 구문과 처리 방식을 정의합니다.

또한 AWS::Include 변환을 사용하여 메인 AWS CloudFormation 템플릿과는 별도로 저장되는 템플릿 코드 조각으로 작업할 수도 있습니다. Amazon S3 버킷에 코드 조각 파일을 저장하고 나서 여러 템플릿 간에 함수를 재사용할 수 있습니다.

Resources(필수)

Amazon Elastic Compute Cloud 인스턴스 또는 Amazon Simple Storage Service 버킷 같은 스택 리소스 및 해당 속성을 지정합니다. 템플릿의 ResourcesOutputs 섹션에서 리소스를 참조할 수 있습니다.

Outputs(선택 사항)

스택의 속성을 볼 때마다 반환되는 값을 설명합니다. 예를 들면 S3 버킷 이름 출력을 선언하고 나서 aws cloudformation describe-stacks AWS CLI 명령을 호출하여 해당 이름을 볼 수 있습니다.

이 페이지에서: