

새로운 *CloudFormation 템플릿 참조 안내서*입니다. 북마크와 링크를 업데이트하세요. CloudFormation을 시작하는 데 도움이 필요한 경우 [AWS CloudFormation 사용 설명서](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html)를 참조하세요.

# `CreationPolicy` 속성
<a name="aws-attribute-creationpolicy"></a>

`CreationPolicy` 속성을 리소스와 연결하여 CloudFormation에서 지정된 수의 성공 신호를 수신하거나 제한 시간이 초과될 때까지 리소스의 상태가 생성 완료가 되지 않도록 방지합니다. 리소스에 신호를 보내기 위해 [cfn-signal](cfn-signal.md) 헬퍼 스크립트 또는 [https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_SignalResource.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_SignalResource.html) API를 사용할 수 있습니다. CloudFormation은 전송된 신호 수를 추적할 수 있도록 유효한 신호를 스택 이벤트에 게시합니다.

생성 정책은 CloudFormation에서 연결된 리소스를 생성하는 경우에만 호출됩니다. 현재 생성 정책을 지원하는 유일한 CloudFormation 리소스는 다음과 같습니다.
+ [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-appstream-fleet.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-appstream-fleet.html)
+ [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-autoscaling-autoscalinggroup.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-autoscaling-autoscalinggroup.html)
+ [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-ec2-instance.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-ec2-instance.html)
+ [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-cloudformation-waitcondition.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-cloudformation-waitcondition.html)

스택 생성이 진행되기 전에 리소스 구성 작업을 대기하려는 경우 `CreationPolicy` 속성을 사용합니다. 예를 들어, EC2 인스턴스에서 소프트웨어 애플리케이션을 설치하여 구성하는 경우 계속하기 전에 이러한 애플리케이션을 실행하려고 할 수 있습니다. 이러한 경우 인스턴스에 `CreationPolicy` 속성을 추가한 다음 애플리케이션을 설치하여 구성한 후 해당 인스턴스로 성공 신호를 전송할 수 있습니다. 자세한 내용은 *AWS CloudFormation 사용 설명서*의 [CloudFormation을 사용하여 Amazon EC2에 애플리케이션 배포](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/deploying.applications.html)를 참조하세요.

## WorkSpaces Applications 생성 정책
<a name="aws-attribute-creation-policy-app-stream-fleet"></a>

생성 정책에 대한 Amazon AppStream 구성입니다.

### 구문
<a name="aws-attribute-creation-policy-app-stream-fleet-syntax"></a>

#### JSON
<a name="aws-attribute-creation-policy-app-stream-fleet-syntax-json"></a>

```
{
    "CreationPolicy": {
        "StartFleet": "Boolean"
    }
}
```

#### YAML
<a name="aws-attribute-creation-policy-app-stream-fleet-syntax-yaml"></a>

```
CreationPolicy:
  StartFleet: Boolean
```

`StartFleet`  <a name="cfn-attributes-updatepolicy-replacingupdate-StartFleet"></a>
지정된 플릿을 시작합니다.  
*필수 항목 여부*: 아니요

## Amazon EC2 Auto Scaling 생성 속성
<a name="w2aac19b7c13"></a>

생성 정책에 대한 Amazon EC2 Auto Scaling 구성입니다.

### 구문
<a name="aws-attribute-creation-policy-app-auto-scaling-syntax"></a>

#### JSON
<a name="aws-attribute-creation-policy-app-auto-scaling-syntax.json"></a>

```
"CreationPolicy" : {
  "AutoScalingCreationPolicy" : {
    "MinSuccessfulInstancesPercent" : Integer
  },
  "ResourceSignal" : {    
    "Count" : Integer,
    "Timeout" : String
  }
}
```

#### YAML
<a name="aws-attribute-creation-policy-app-auto-scaling-syntax.yaml"></a>

```
CreationPolicy:
  AutoScalingCreationPolicy:
    MinSuccessfulInstancesPercent: Integer
  ResourceSignal:    
    Count: Integer
    Timeout: String
```

### Amazon EC2 Auto Scaling 생성 속성
<a name="cfn-attributes-creationpolicy-properties"></a>

생성 정책에 대한 Amazon EC2 Auto Scaling 구성입니다.

`AutoScalingCreationPolicy`  <a name="cfn-attributes-creationpolicy-autoscalingcreationpolicy"></a>
새 Amazon EC2 Auto Scaling 그룹의 경우 그룹 상태를 `CREATE_COMPLETE`로 설정하기 전에 성공 신호를 보내야 하는 인스턴스 수를 지정합니다.    
`MinSuccessfulInstancesPercent`  <a name="cfn-attributes-creationpolicy-autoscalingcreationpolicy-minsuccessfulinstancespercent"></a>
그룹 상태를 `CREATE_COMPLETE`로 설정하기 전에 성공 신호를 보내야 하는 Amazon EC2 Auto Scaling의 인스턴스 백분율을 지정합니다. `0`\$1`100` 범위의 값을 지정할 수 있습니다. CloudFormation은 이를 10분의 1퍼센트 단위로 반올림합니다. 예를 들어 최소 성공 비율 `50`으로 인스턴스 다섯 개를 생성하는 경우 인스턴스 세 개에서 성공 신호를 보내야 성공입니다. `Timeout` 속성이 지정한 시간 내에 인스턴스가 신호를 전송하지 않으면 CloudFormation에서는 해당 인스턴스가 생성되지 않았다고 가정합니다.  
*기본값*: `100`  
*유형*: 정수  
*필수 항목 여부*: 아니요

`ResourceSignal`  <a name="cfn-attributes-creationpolicy-resourcesignal"></a>
CloudFormation이 연결된 리소스를 생성하고, 필요한 성공 신호 수와 CloudFormation에서 성공 신호를 기다리는 시간을 구성합니다.    
`Count`  <a name="cfn-attributes-creationpolicy-resourcesignal-count"></a>
CloudFormation이 리소스 상태를 `CREATE_COMPLETE`로 설정하기 전에 수신해야 하는 성공 신호 수입니다. 제한 시간이 만료되기 전에 리소스가 실패 신호를 수신하거나 지정된 신호 수를 수신하지 못한 경우 리소스 생성에 실패하고 CloudFormation에서는 스택을 롤백합니다.  
*기본값*: `1`  
*유형*: 정수  
*필수 항목 여부*: 아니요  
`Timeout`  <a name="cfn-attributes-creationpolicy-resourcesignal-timeout"></a>
CloudFormation이 `Count` 속성에 지정된 신호 수를 대기하는 시간 길이입니다. 제한 시간은 CloudFormation에서 리소스를 안정화한 후 시작되고 지정한 시간 직후 만료되지만 잠시 후에 발생할 수도 있습니다. 지정 가능한 최대 시간은 12시입니다.  
값은 `PT#H#M#S`와 같은 [ISO8601 기간 형식](https://en.wikipedia.org/wiki/ISO_8601#Durations)이어야 하며, 여기서 *\$1*은 각각 시간, 분 및 초입니다. 최적의 결과를 얻으려면 인스턴스가 충분한 시간 동안 실행될 수 있는 시간을 지정합니다. 제한 시간이 짧을수록 롤백이 발생할 수 있습니다.  
*기본값*: `PT5M`(5분)  
*유형*: 문자열  
*필수 항목 여부*: 아니요

## 예제
<a name="aws-attribute-creation-policy-examples"></a>

### auto scaling
<a name="aws-attribute-creation-policy-as-group"></a>

다음 예제에서는 Amazon EC2 Auto Scaling 그룹에 생성 정책을 추가하는 방법을 보여줍니다. 생성 정책에는 3회의 성공 신고가 필요하며 15분 후에 시간이 초과됩니다. [cfn-signal](cfn-signal.md) 헬퍼 스크립트를 사용하여 인스턴스 생성 프로세스가 완료되면 신호를 보내도록 합니다.

인스턴스가 성공 신호를 보내기 전에 Elastic Load Balancing 상태 확인을 대기하도록 하려면 [cfn-init](cfn-init.md) 헬퍼 스크립트를 사용하여 상태-확인 검증을 추가합니다. 예를 들어 [GitHub 리포지토리](https://github.com/aws-cloudformation/aws-cloudformation-templates/tree/main/AutoScaling)에서 Amazon EC2 Auto Scaling 롤링 업데이트 샘플 템플릿의 `verify_instance_health` 명령을 참조하세요.

#### JSON
<a name="aws-attribute-creationpolicy-example-1.json"></a>

```
"AutoScalingGroup": {
  "Type": "AWS::AutoScaling::AutoScalingGroup",
  "Properties": {
    "VPCZoneIdentifier":[ "subnetIdAz1", "subnetIdAz2", "subnetIdAz3" ],
    "LaunchTemplate":{
      "LaunchTemplateId":{
        "Ref":"logicalName"
      },
      "Version":{
        "Fn::GetAtt":[
          "logicalName",
          "LatestVersionNumber"
        ]
      }
    },
    "MinSize": "1",
    "MaxSize": "4"
  },
  "CreationPolicy": {
    "ResourceSignal": {
      "Count": "3",
      "Timeout": "PT15M"
    }
  }
}
```

#### YAML
<a name="aws-attribute-creationpolicy-example-1.yaml"></a>

```
AutoScalingGroup:
  Type: AWS::AutoScaling::AutoScalingGroup
  Properties:
    VPCZoneIdentifier:
      - subnetIdAz1
      - subnetIdAz2
      - subnetIdAz3
    LaunchTemplate:
      LaunchTemplateId: !Ref logicalName
      Version: !GetAtt logicalName.LatestVersionNumber
    MinSize: '1'
    MaxSize: '4'
  CreationPolicy:
    ResourceSignal:
      Count: '3'
      Timeout: PT15M
```

### WaitCondition
<a name="w2aac19b7c15b5"></a>

다음 예제에서는 Amazon EC2 이외의 CloudFormation 리소스에 대한 대기 조건에 생성 정책을 추가하는 방법을 보여줍니다.

`WaitCondition` 리소스에 신호를 보내려면 [https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_SignalResource.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_SignalResource.html) API를 사용합니다. 이 API는 `CreationPolicy`를 사용하여 구성하는 `WaitCondition` 리소스에서 작동하도록 설계되었습니다.

#### JSON
<a name="aws-attribute-creationpolicy-example-2.json"></a>

```
"WaitCondition" : {
    "Type" : "AWS::CloudFormation::WaitCondition",
    "CreationPolicy" : {
        "ResourceSignal" : {
            "Timeout" : "PT15M",
            "Count" : "5"
        }
    }
}
```

#### YAML
<a name="aws-attribute-creationpolicy-example-2.yaml"></a>

```
WaitCondition:
  Type: AWS::CloudFormation::WaitCondition
  CreationPolicy:
    ResourceSignal:
      Timeout: PT15M
      Count: 5
```