CreationPolicy Attribut - AWS CloudFormation

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 oder verwenden. SignalResourceAPI CloudFormation veröffentlicht gültige Signale für die Stack-Events, 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 ausführliches Beispiel finden Sie unter Stellen 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 wirdCREATE_COMPLETE.

MinSuccessfulInstancesPercent

Gibt den Prozentsatz der Instances in einem Amazon EC2 Auto Scaling an, die Erfolg signalisieren müssen, bevor der Gruppenstatus auf gesetzt wirdCREATE_COMPLETE. Sie können einen Wert von 0 bis angeben100. CloudFormation rundet auf das nächste Zehntelprozent. Wenn Sie beispielsweise fünf Instances mit einem minimalen erfolgreichen Prozentsatz von 50 erstellen, müssen drei Instances Erfolg signalisieren. Wenn eine Instanz innerhalb der in der Timeout 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 das Format ISO86 01 für die Dauer haben, und zwar in der Form:PT#H#M#S, wobei # ist die Anzahl der Stunden, Minuten und Sekunden. 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.

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: !Ref logicalName Version: !GetAtt logicalName.LatestVersionNumber MinSize: '1' MaxSize: '4' CreationPolicy: ResourceSignal: Count: '3' Timeout: PT15M

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