

これは新しい 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`～`100`の値を指定できます。CloudFormation は、10% 単位で四捨五入されます。例えば、成功の最小割合が `50` の 5 つのインスタンスを作成する場合、3 つのインスタンスが成功のシグナルを送信する必要があります。`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 時間です。  
値は、[ISO8601 期間形式](https://en.wikipedia.org/wiki/ISO_8601#Durations)の `PT{{#}}H{{#}}M{{#}}S` 形式である必要があります。ここにある {{\#}} はそれぞれ時間、分数、秒数を表します。最良の結果を得るには、インスタンスが稼働を開始するのに十分な時間を指定します。タイムアウトが短いと、ロールバックが発生する場合があります。  
*Default*: `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
```