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

템플릿 구조

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

JSON

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

{ "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 형식의 템플릿 조각을 보여줍니다.

--- 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 명령을 호출하여 해당 이름을 볼 수 있습니다.

이 페이지에서: