Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
CreationPolicy
Attribut
Ordnen Sie das CreationPolicy
Attribut einer Ressource zu, um zu verhindern, dass ihr Status create complete erreicht, bis AWS CloudFormation eine bestimmte Anzahl von Erfolgssignalen empfangen wird oder der Timeout-Zeitraum überschritten ist. Um eine Ressource zu signalisieren, können Sie das Hilfsskript oder die API cfn-Signal verwenden. SignalResource
CloudFormation veröffentlicht gültige Signale für die Stack-Ereignisse, sodass Sie die Anzahl der gesendeten Signale verfolgen können.
Die Erstellungsrichtlinie wird nur aufgerufen, wenn die zugehörige Ressource CloudFormation erstellt wird. Derzeit sind die einzigen CloudFormation Ressourcen, die Erstellungsrichtlinien unterstützen, folgende:
Verwenden Sie das Attribut CreationPolicy
, wenn vor der Stack-Erstellung auf Ressourcenkonfigurationsoptionen gewartet werden soll. Wenn Sie beispielsweise Softwareanwendungen auf einer EC2 Instance installieren und konfigurieren, sollten diese Anwendungen ausgeführt werden, bevor Sie fortfahren. In diesen Fällen können Sie der Instance ein CreationPolicy
-Attribut hinzufügen und nach der Installation und Konfiguration der Anwendungen der Instance ein Erfolgssignal senden. Ein ausführliches Beispiel finden Sie unter Bereitstellen von Anwendungen auf Amazon EC2 mit AWS CloudFormation.
AppStream Richtlinie zur Gründung von 2.0
AppStream Amazon-Konfiguration für eine Erstellungsrichtlinie.
Syntax
JSON
{ "CreationPolicy": { "StartFleet": { "Type": "
Boolean
" } } }
YAML
CreationPolicy: StartFleet: Type:
Boolean
StartFleet
-
Startet die angegebene Flotte.
Required: No
Erstellungseigenschaften für Amazon EC2 Auto Scaling
Konfiguration von Amazon EC2 Auto Scaling für eine Erstellungsrichtlinie.
Syntax
JSON
"CreationPolicy" : { "AutoScalingCreationPolicy" : { "MinSuccessfulInstancesPercent" :
Integer
}, "ResourceSignal" : { "Count" :Integer
, "Timeout" :String
} }
YAML
CreationPolicy: AutoScalingCreationPolicy: MinSuccessfulInstancesPercent:
Integer
ResourceSignal: Count:Integer
Timeout:String
Erstellungseigenschaften für Amazon EC2 Auto Scaling
Konfiguration von Amazon EC2 Auto Scaling für eine Erstellungsrichtlinie.
AutoScalingCreationPolicy
-
Gibt für eine neue Amazon-EC2-Auto-Scaling-Gruppe die Anzahl der Instances an, die den Erfolg signalisieren müssen, bevor der Status der Gruppe auf
CREATE_COMPLETE
festgelegt wird.MinSuccessfulInstancesPercent
-
Gibt den prozentualen Anteil an Instances in Amazon EC2 Auto Scaling an, die den Erfolg signalisieren müssen, bevor der Status der Gruppe auf
CREATE_COMPLETE
festgelegt wird. Sie können einen Wert von0
bis angeben100
. CloudFormation rundet auf das nächste Zehntel Prozent. Wenn Sie beispielsweise fünf Instances mit einem minimalen erfolgreichen Prozentsatz von50
erstellen, müssen drei Instances Erfolg signalisieren. Wenn eine Instanz innerhalb der in derTimeout
Eigenschaft angegebenen Zeit kein Signal sendet, wird CloudFormation davon ausgegangen, dass die Instanz nicht erstellt wurde.Standardwert:
100
Typ: Ganzzahl
Required: No
ResourceSignal
-
When CloudFormation erstellt die zugehörige Ressource und konfiguriert die Anzahl der erforderlichen Erfolgssignale und die Dauer der CloudFormation Wartezeit auf diese Signale.
Count
-
Die Anzahl der Erfolgssignale, die empfangen CloudFormation werden müssen, bevor der Ressourcenstatus auf festgelegt wird.
CREATE_COMPLETE
Wenn die Ressource vor Ablauf des Timeout-Zeitraums ein Fehlersignal oder nicht die angegebene Anzahl von Signalen empfängt, CloudFormation schlägt die Ressourcenerstellung fehl und der Stack wird zurückgesetzt.Standardwert:
1
Typ: Ganzzahl
Required: No
Timeout
-
Die Zeitspanne, in der auf CloudFormation die in der Eigenschaft angegebene Anzahl von Signalen gewartet wird.
Count
Der Timeout-Zeitraum beginnt, nachdem CloudFormation mit der Erstellung der Ressource begonnen wurde. Der Timeout läuft frühestens zu dem von Ihnen angegebenen Zeitpunkt ab, kann aber auch kurz danach eintreten. Die maximale Zeitspanne, die Sie angeben können, beträgt 12 Stunden.Der Wert muss im ISO8601-Format für Zeitspannen
im Format PT
angegeben werden, wobei#
H#
M#
S#
für Zeichen die Anzahl von Stunden, Minuten bzw. Sekunden steht. Um die besten Ergebnisse zu erzielen, geben Sie eine ausreichend lange Zeitspanne an, sodass genügend Zeit zum Starten der Instances gegeben ist. Ein kürzeres Zeitlimit können zu einem Rollback führen.Standard:
PT5M
(5 Minuten)Typ: Zeichenfolge
Required: No
Beispiele
Auto Scaling-Gruppe
Im folgenden Beispiel wird gezeigt, wie Sie einer Amazon-EC2-Auto-Scaling-Gruppe eine Erstellungsrichtlinie hinzufügen. Die Erstellungsrichtlinie erfordert drei Signale und hat ein Zeitüberschreitungslimit von 15 Minuten.
Damit Instances auf eine Elastic Load Balancing-Zustandsprüfung warten, bevor sie Erfolg signalisieren, fügen Sie mit dem Hilfsprogramm-Skript cfn-init eine Verifizierung der Zustandsprüfung hinzu. Ein Beispiel finden Sie unter dem Befehl verify_instance_health
in der Beispielvorlage Fortlaufende Updates für Amazon EC2 Auto Scaling
JSON
"AutoScalingGroup": { "Type": "AWS::AutoScaling::AutoScalingGroup", "Properties": { "AvailabilityZones": { "Fn::GetAZs": "" }, "LaunchConfigurationName": { "Ref": "LaunchConfig" }, "DesiredCapacity": "3", "MinSize": "1", "MaxSize": "4" }, "CreationPolicy": { "ResourceSignal": { "Count": "3", "Timeout": "PT15M" } }, "UpdatePolicy" : { "AutoScalingScheduledAction" : { "IgnoreUnmodifiedGroupSizeProperties" : "true" }, "AutoScalingRollingUpdate" : { "MinInstancesInService" : "1", "MaxBatchSize" : "2", "PauseTime" : "PT1M", "WaitOnResourceSignals" : "true" } } }, "LaunchConfig": { "Type": "AWS::AutoScaling::LaunchConfiguration", "Properties": { "ImageId": "ami-16d18a7e", "InstanceType": "t2.micro", "UserData": { "Fn::Base64": { "Fn::Join" : [ "", [ "#!/bin/bash -xe\n", "yum install -y aws-cfn-bootstrap\n", "/opt/aws/bin/cfn-signal -e 0 --stack ", { "Ref": "AWS::StackName" }, " --resource AutoScalingGroup ", " --region ", { "Ref" : "AWS::Region" }, "\n" ] ] } } } }
YAML
AutoScalingGroup: Type: AWS::AutoScaling::AutoScalingGroup Properties: AvailabilityZones: Fn::GetAZs: '' LaunchConfigurationName: Ref: LaunchConfig DesiredCapacity: '3' MinSize: '1' MaxSize: '4' CreationPolicy: ResourceSignal: Count: '3' Timeout: PT15M UpdatePolicy: AutoScalingScheduledAction: IgnoreUnmodifiedGroupSizeProperties: 'true' AutoScalingRollingUpdate: MinInstancesInService: '1' MaxBatchSize: '2' PauseTime: PT1M WaitOnResourceSignals: 'true' LaunchConfig: Type: AWS::AutoScaling::LaunchConfiguration Properties: ImageId: ami-16d18a7e InstanceType: t2.micro UserData: "Fn::Base64": !Sub | #!/bin/bash -xe yum update -y aws-cfn-bootstrap /opt/aws/bin/cfn-signal -e $? --stack ${AWS::StackName} --resource AutoScalingGroup --region ${AWS::Region}
WaitCondition
Im folgenden Beispiel wird gezeigt, wie Sie einer Wartebedingung eine Erstellungsrichtlinie hinzufügen.
JSON
"WaitCondition" : { "Type" : "AWS::CloudFormation::WaitCondition", "CreationPolicy" : { "ResourceSignal" : { "Timeout" : "PT15M", "Count" : "5" } } }
YAML
WaitCondition: Type: AWS::CloudFormation::WaitCondition CreationPolicy: ResourceSignal: Timeout: PT15M Count: 5