Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Attribut CreationPolicy
Associez l'CreationPolicy
attribut à une ressource pour éviter que son statut n'atteigne la fin de création tant que vous n'avez pas AWS CloudFormation reçu un nombre spécifié de signaux de réussite ou que le délai d'expiration n'est pas dépassé. Pour signaler une ressource, vous pouvez utiliser le script d'assistance cfn-signal ou l'API. SignalResource
CloudFormation publie des signaux valides dans la pile d'événements afin que vous puissiez suivre le nombre de signaux envoyés.
La politique de création n'est invoquée que lors de CloudFormation la création de la ressource associée. À l'heure actuelle, les seules CloudFormation ressources qui prennent en charge les politiques de création sont les suivantes :
Utilisez l'attribut CreationPolicy
lorsque vous voulez attendre que les actions de configuration de ressource ne soient terminées avant que la création de la pile ne commence. Par exemple, si vous installez et configurez des applications logicielles dans une instance EC2, vous souhaitez peut-être que ces applications soient exécutées avant de poursuivre. Dans ce cas, vous pouvez ajouter un attribut CreationPolicy
à l'instance, puis envoyer un signal de réussite à l'instance une fois que les applications sont installées et configurées. Pour voir un exemple détaillé, veuillez consulter Déploiement d'applications sur Amazon EC2 avec AWS CloudFormation.
AppStream Politique de création 2.0
AppStream Configuration d'Amazon pour une politique de création.
Syntaxe
JSON
{ "CreationPolicy": { "StartFleet": { "Type": "
Boolean
" } } }
YAML
CreationPolicy: StartFleet: Type:
Boolean
StartFleet
-
Démarre la flotte spécifiée.
Obligatoire : non
Propriétés de création Amazon EC2 Auto Scaling
Configuration d'Amazon EC2 Auto Scaling pour une politique de création.
Syntaxe
JSON
"CreationPolicy" : { "AutoScalingCreationPolicy" : { "MinSuccessfulInstancesPercent" :
Integer
}, "ResourceSignal" : { "Count" :Integer
, "Timeout" :String
} }
YAML
CreationPolicy: AutoScalingCreationPolicy: MinSuccessfulInstancesPercent:
Integer
ResourceSignal: Count:Integer
Timeout:String
Propriétés de création Amazon EC2 Auto Scaling
Configuration d'Amazon EC2 Auto Scaling pour une politique de création.
AutoScalingCreationPolicy
-
Pour un nouveau groupe Amazon EC2 Auto Scaling, cette configuration spécifie le nombre d'instances qui doivent signaler une réussite avant que l'état du groupe ne devienne
CREATE_COMPLETE
.MinSuccessfulInstancesPercent
-
Spécifie le pourcentage d'instances d'un groupe Amazon EC2 Auto Scaling qui doivent signaler une réussite avant que l'état du groupe ne devienne
CREATE_COMPLETE
. Vous pouvez spécifier une valeur comprise entre0
et100
. CloudFormation arrondit au dixième de pour cent le plus proche. Par exemple, si vous créez cinq instances avec un pourcentage minimum de réussite de50
, trois instances doivent signaler leur réussite. Si une instance n'envoie pas de signal dans le délai spécifié par laTimeout
propriété, cela CloudFormation suppose que l'instance n'a pas été créée.Par défaut :
100
Type : entier
Obligatoire : non
ResourceSignal
-
Lors CloudFormation de la création de la ressource associée, configure le nombre de signaux de réussite requis et le temps d' CloudFormation attente de ces signaux.
Count
-
Le nombre de signaux de réussite à CloudFormation recevoir avant que le statut de la ressource ne soit défini comme
CREATE_COMPLETE
. Si la ressource reçoit un signal d'échec ou ne reçoit pas le nombre de signaux spécifié avant l'expiration du délai d'expiration, la création de la ressource échoue et CloudFormation annule la pile.Par défaut :
1
Type : entier
Obligatoire : non
Timeout
-
Durée d' CloudFormation attente pour le nombre de signaux spécifié dans la
Count
propriété. Le délai d'expiration commence après la CloudFormation stabilisation de la ressource, et le délai expire au plus tôt à l'heure que vous spécifiez, mais il peut survenir peu de temps après. La durée maximale que vous pouvez spécifier est de 12 heures.Cette valeur doit respecter le format de durée ISO8601
, sous la forme : PT
, où chaque#
H#
M#
S#
correspond respectivement au nombre d'heures, de minutes et de secondes. Pour optimiser les performances, spécifiez une période qui laisse suffisamment de temps à vos instances pour être opérationnelles. Un délai d'expiration trop court peut entraîner une restauration.Valeur par défaut :
PT5M
(5 minutes)Type : chaîne
Obligatoire : non
Exemples
Groupe Auto Scaling
L'exemple suivant montre comment ajouter une politique de création à un groupe Amazon EC2 Auto Scaling. Cette politique de création nécessite trois signaux de réussite et expire au bout de 15 minutes.
Pour que les instances attendent une vérification de l'état Elastic Load Balancing avant de signaler un succès, ajoutez une vérification de l'état à l'aide du script d'assistant cfn-init. Par exemple, consultez la verify_instance_health
commande figurant dans les exemples de modèles pour les mises à jour continues d'Amazon EC2 Auto Scaling dans notre GitHub référentiel.
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
L'exemple suivant montre comment ajouter une politique de création à une condition d'attente.
JSON
"WaitCondition" : { "Type" : "AWS::CloudFormation::WaitCondition", "CreationPolicy" : { "ResourceSignal" : { "Timeout" : "PT15M", "Count" : "5" } } }
YAML
WaitCondition: Type: AWS::CloudFormation::WaitCondition CreationPolicy: ResourceSignal: Timeout: PT15M Count: 5