AWS CloudFormation 수집 예제: 리소스 정의 - AMS 고급 애플리케이션 개발자 안내서

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

AWS CloudFormation 수집 예제: 리소스 정의

AMS AWS CloudFormation 수집을 사용하는 경우 CloudFormation 템플릿을 사용자 지정하고 CloudFormation 수집 변경 유형(ct-36cn2avfrrj9v)을 사용하여 RFC의 AMS에 제출합니다. 여러 번 재사용할 수 있는 CloudFormation 템플릿을 생성하려면 CloudFormation 템플릿에서 하드 코딩하는 대신 CloudFormation 수집 변경 유형 실행 입력에 스택 구성 파라미터를 추가합니다. 가장 큰 이점은 템플릿을 재사용할 수 있다는 것입니다.

AMS CloudFormation 수집 변경 유형 입력 스키마를 사용하면 CloudFormation 템플릿에서 최대 60개의 파라미터를 선택하고 사용자 지정 값을 제공할 수 있습니다.

이 예제에서는 다양한 CloudFormation 템플릿에서 AMS CloudFormation 수집 CT의 파라미터로 사용할 수 있는 리소스 속성을 정의하는 방법을 보여줍니다. 이 섹션의 예제는 특히 SNS 주제 사용을 보여줍니다.

예제 1: AWS CloudFormation SNSTopic 리소스 TopicName 속성 하드 코드

이 예제에서는 CloudFormation 템플릿에서 AWS CloudFormation SNSTopic 리소스 TopicName 속성을 하드 코딩합니다. Parameters 섹션은 비어 있습니다.

새 CloudFormation 템플릿을 생성할 필요 없이 새 스택의 SNSTopic 이름 값을 변경할 수 있는 CloudFormation 템플릿을 사용하려면 CloudFormation 수집 변경 유형의 AMS Parameters 섹션을 사용하여 해당 구성을 만들 수 있습니다. 이렇게 하면 나중에 동일한 CloudFormation 템플릿을 사용하여 다른 SNSTopic 이름으로 새 스택을 생성할 수 있습니다.

{ "AWSTemplateFormatVersion" : "2010-09-09", "Description" : "My SNS Topic", "Parameters" : { }, "Resources" : { "SNSTopic" : { "Type" : "AWS::SNS::Topic", "Properties" : { "TopicName" : "MyTopicName" } } } }

예제 2: SNSTopic 리소스를 사용하여 AMS 변경 유형의 파라미터 참조

이 예제에서는 CloudFormation 템플릿에 정의된 SNSTopic 리소스 TopicName 속성을 사용하여 AMS 변경 유형의를 참조Parameter합니다.

{ "AWSTemplateFormatVersion" : "2010-09-09", "Description" : "My SNS Topic", "Parameters" : { "TopicName" : { "Type" : "String", "Description" : "Topic ID", "Default" : "MyTopicName" } }, "Resources" : { "SNSTopic" : { "Type" : "AWS::SNS::Topic", "Properties" : { "TopicName" : { "Ref" : "TopicName"} } } } }

예제 3: AMS 수집 변경 유형이 있는 JSON 실행 파라미터 파일을 제출하여 SNS 주제 생성

이 예제에서는 SNS 주제를 생성하는 AMS 수집 CT와 함께 JSON 실행 파라미터 파일을 제출합니다TopicName. SNS 주제는이 예제에 표시된 수정 가능한 방식으로 CloudFormation 템플릿에 정의되어야 합니다.

{ "Name": "cfn-ingest", "Description": "CFNIngest Web Application Stack", "CloudFormationTemplateS3Endpoint": "$S3_PRESIGNED_URL", "VpcId": "VPC_ID", "Tags": [ {"Key": "Enviroment Type", "Value": "Dev"} ], "Parameters": [ {"Name": "TopicName", "Value": "MyTopic1"} ], "TimeoutInMinutes": 60 }

예제 4: 동일한 CloudFormation 템플릿을 참조하는 새 변경 유형 제출

이 JSON 예제에서는 CloudFormation 템플릿을 변경하지 않고 SNS TopicName 값을 변경합니다. 대신 동일한 CFN 템플릿을 참조하는 새 배포 | 수집 | CloudFormation 템플릿의 스택 | 변경 유형 생성을 제출합니다.

{ "Name": "cfn-ingest", "Description": "CFNIngest Web Application Stack", "CloudFormationTemplateS3Endpoint": "$S3_PRESIGNED_URL", "VpcId": "VPC_ID", "Tags": [ {"Key": "Enviroment Type", "Value": "Dev"} ], "Parameters": [ {"Name": "TopicName", "Value": "MyTopic2"} ], "TimeoutInMinutes": 60 }

예제 5: CloudFormation 템플릿의 기본 파라미터 값 사용

이 예제에서는 Parameters 실행 파라미터에 TopicName 값이 제공되지 않았기 때문에 SNS TopicName = 'MyTopicName'이 생성됩니다. Parameters 정의를 제공하지 않으면 CloudFormation 템플릿의 기본 파라미터 값이 사용됩니다.

{ "Name": "cfn-ingest", "Description": "CFNIngest Web Application Stack", "CloudFormationTemplateS3Endpoint": "$S3_PRESIGNED_URL", "VpcId": "VPC_ID", "Tags": [ {"Key": "Enviroment Type", "Value": "Dev"} ], "TimeoutInMinutes": 60 }