

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

# CloudFormation 수집 예제: 리소스 정의
<a name="cfn-ingest-ex-define-resource"></a>

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

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

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

**Topics**
+ [예제 1: CloudFormation SNSTopic 리소스 `TopicName` 속성 하드 코드](#cfn-ingest-example-1)
+ [예제 2: SNSTopic 리소스를 사용하여 AMS 변경 유형의 파라미터 참조](#cfn-ingest-example-2)
+ [예제 3: AMS 수집 변경 유형이 있는 JSON 실행 파라미터 파일을 제출하여 SNS 주제 생성](#cfn-ingest-example-3)
+ [예제 4: 동일한 CloudFormation 템플릿을 참조하는 새 변경 유형 제출](#cfn-ingest-example-4)
+ [예제 5: CloudFormation 템플릿의 기본 파라미터 값 사용](#cfn-ingest-example-5)

## 예제 1: CloudFormation SNSTopic 리소스 `TopicName` 속성 하드 코드
<a name="cfn-ingest-example-1"></a>

이 예제에서는 CloudFormation 템플릿에서 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 변경 유형의 파라미터 참조
<a name="cfn-ingest-example-2"></a>

이 예제에서는 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 주제 생성
<a name="cfn-ingest-example-3"></a>

이 예제에서는 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 템플릿을 참조하는 새 변경 유형 제출
<a name="cfn-ingest-example-4"></a>

이 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 템플릿의 기본 파라미터 값 사용
<a name="cfn-ingest-example-5"></a>

이 예제에서는 `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
}
```