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 cfn-Signal verwenden oder SignalResourceAPI. 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 Instanz installieren und konfigurieren, möchten Sie möglicherweise, dass 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 detailliertes EC2 Amazon-Beispiel finden Sie unterStellen Sie Anwendungen auf Amazon bereit EC2.
AppStream Richtlinie zur Erstellung 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
Eigenschaften zur Erstellung von Amazon EC2 Auto Scaling
Amazon EC2 Auto Scaling Scaling-Konfiguration 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
Eigenschaften zur Erstellung von Amazon EC2 Auto Scaling
Amazon EC2 Auto Scaling Scaling-Konfiguration für eine Erstellungsrichtlinie.
AutoScalingCreationPolicy
-
Gibt für eine neue Amazon EC2 Auto Scaling Scaling-Gruppe die Anzahl der Instances an, die Erfolg signalisieren müssen, bevor der Gruppenstatus auf gesetzt wird
CREATE_COMPLETE
.MinSuccessfulInstancesPercent
-
Gibt den Prozentsatz der Instances in einem Amazon EC2 Auto Scaling an, die Erfolg signalisieren müssen, bevor der Gruppenstatus auf gesetzt wird
CREATE_COMPLETE
. Sie können einen Wert von0
bis angeben100
. CloudFormation rundet auf das nächste Zehntelprozent. 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 nach der CloudFormation Stabilisierung der Ressource, und 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 Format ISO86 01 für die Dauer
in der Form: angegeben werden PT
, wobei jeder Wert für die Anzahl der Stunden, Minuten und Sekunden#
H#
M#
S#
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
Das folgende Beispiel zeigt, wie eine Erstellungsrichtlinie zu einer Amazon EC2 Auto Scaling Scaling-Gruppe hinzugefügt wird. Die Erstellungsrichtlinie erfordert drei Signale und hat ein Zeitüberschreitungslimit von 15 Minuten. Verwenden Sie das Hilfsskript cfn-signal, um zu signalisieren, dass ein Instance-Erstellungsprozess erfolgreich abgeschlossen wurde.
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 in dem verify_instance_health
Befehl in den Beispielvorlagen für fortlaufende Amazon EC2 Auto Scaling Scaling-Updates in unserem GitHub Repository
JSON
"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
AutoScalingGroup: Type: AWS::AutoScaling::AutoScalingGroup Properties: VPCZoneIdentifier: -
subnetIdAz1
-subnetIdAz2
-subnetIdAz3
LaunchTemplate: LaunchTemplateId: !ReflogicalName
Version: !GetAttlogicalName
.LatestVersionNumber MinSize: '1' MaxSize: '4' CreationPolicy: ResourceSignal: Count: '3' Timeout: PT15M
WaitCondition
Das folgende Beispiel zeigt, wie eine Erstellungsrichtlinie zu einer Wartebedingung für CloudFormation Ressourcen außerhalb von Amazon hinzugefügt wird EC2.
Um die WaitCondition
Ressource zu signalisieren, verwenden Sie den SignalResourceAPI. Diese API wurde für die Verwendung mit WaitCondition
Ressourcen entwickelt, die Sie mithilfe von konfigurierenCreationPolicy
.
JSON
"WaitCondition" : { "Type" : "AWS::CloudFormation::WaitCondition", "CreationPolicy" : { "ResourceSignal" : { "Timeout" : "PT15M", "Count" : "5" } } }
YAML
WaitCondition: Type: AWS::CloudFormation::WaitCondition CreationPolicy: ResourceSignal: Timeout: PT15M Count: 5