

Il s’agit du nouveau *Guide de référence des modèles CloudFormation *. Veuillez mettre à jour vos favoris et vos liens. Pour obtenir de l'aide pour démarrer CloudFormation, consultez le [guide de AWS CloudFormation l'utilisateur](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html).

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 `UpdatePolicy`
<a name="aws-attribute-updatepolicy"></a>

Utilisez l'`UpdatePolicy`attribut pour spécifier le mode de gestion des mises CloudFormation à jour de certaines ressources lors des opérations de mise à jour de la pile. 

**Topics**
+ [Présentation de](#aws-resource-update-policies)
+ [WorkSpaces Politique de mise à jour des applications](#aws-attribute-update-policy-app-stream-fleet)
+ [AutoScalingReplacingUpdate politique](#cfn-attributes-updatepolicy-replacingupdate)
+ [AutoScalingRollingUpdate politique](#cfn-attributes-updatepolicy-rollingupdate)
+ [AutoScalingScheduledAction politique](#cfn-attributes-updatepolicy-scheduledactions)
+ [UseOnlineResharding politique](#cfn-attributes-updatepolicy-useonlineresharding)
+ [EnableVersionUpgrade politique](#cfn-attributes-updatepolicy-upgradeopensearchdomain)
+ [CodeDeployLambdaAliasUpdate politique](#cfn-attributes-updatepolicy-codedeploylambdaaliasupdate)
+ [Exemples](#aws-attribute-updatepolicy-examples)

## Présentation de
<a name="aws-resource-update-policies"></a>

En utilisant l’attribut `UpdatePolicy`, vous pouvez contrôler la mise à jour des ressources suivantes, comme décrit ci-dessous :
+ **[AWS::AppStream::Fleet](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-appstream-fleet.html)**— CloudFormation peut arrêter et démarrer une flotte, ce qui entraîne le remplacement des instances de la flotte. Ainsi, toutes les instances reçoivent immédiatement les dernières modifications après une mise à jour de pile.
+ **[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)**— Avec les groupes Auto Scaling, vous pouvez utiliser une ou plusieurs politiques de mise à jour pour contrôler le traitement de CloudFormation certaines mises à jour. Ces stratégies comprennent :
  + **`AutoScalingReplacingUpdate`et `AutoScalingRollingUpdate` politiques** : CloudFormation vous pouvez soit remplacer le groupe Auto Scaling et ses instances par une `AutoScalingReplacingUpdate` politique, soit remplacer uniquement les instances par une `AutoScalingRollingUpdate` politique. Ces opérations de remplacement se produisent lorsque vous effectuez l’une des modifications suivantes :
    + Modification de la ressource [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-autoscaling-launchconfiguration.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-autoscaling-launchconfiguration.html) du groupe Auto Scaling.
    + Modification de la propriété `VPCZoneIdentifier` du groupe Auto Scaling.
    + Modification de la propriété `LaunchTemplate` du groupe Auto Scaling.
    + Modification de la propriété `PlacementGroup` du groupe Auto Scaling.
    + Mise à jour d'un groupe Auto Scaling qui contient des instances ne correspondant pas à la ressource `LaunchConfiguration` actuelle.

    Si les politiques `AutoScalingReplacingUpdate` et `AutoScalingRollingUpdate` sont toutes les deux spécifiées, la définition de la propriété `WillReplace` sur `true` donne la priorité à `AutoScalingReplacingUpdate`.
  + **`AutoScalingScheduledAction`politique** — Cette politique s'applique lorsque vous mettez à jour une pile qui inclut un groupe Auto Scaling avec des actions planifiées qui redimensionnent le groupe à des moments précis. CloudFormation ne peut pas modifier la taille minimale, la taille maximale ou la capacité souhaitée du groupe à moins qu'elles n'aient été explicitement modifiées dans le modèle de pile. Cette stratégie permet d’éviter des mises à jour inattendues susceptibles d’interférer avec les activités de mise à l’échelle planifiées.
+ **[https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-elasticache-replicationgroup.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-elasticache-replicationgroup.html)**: CloudFormation peut modifier les partitions d'un groupe de réplication en ajoutant ou en supprimant des partitions, plutôt que de remplacer la ressource dans son intégralité. 
+ **[https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-opensearchservice-domain.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-opensearchservice-domain.html)**et **[https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-elasticsearch-domain.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-elasticsearch-domain.html)**(ancien) : CloudFormation permet de mettre à niveau un domaine de OpenSearch service vers une nouvelle version d' OpenSearch Elasticsearch sans remplacer l'intégralité de la ressource. 
+ **[https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-lambda-alias.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-lambda-alias.html)**— CloudFormation peut effectuer un CodeDeploy déploiement lorsque la version de l'alias change. 

Les sections suivantes décrivent la syntaxe et les propriétés de l’attribut `UpdatePolicy` pris en charge pour chaque type de ressource.

## WorkSpaces Politique de mise à jour des applications
<a name="aws-attribute-update-policy-app-stream-fleet"></a>

Pour arrêter un parc d' WorkSpaces applications avant une mise à jour et le redémarrer après une mise à jour, utilisez la politique de mise à jour WorkSpaces des applications. 

### Syntaxe
<a name="aws-attribute-update-policy-app-stream-fleet-syntax"></a>

#### JSON
<a name="aws-attribute-update-policy-app-stream-fleet-syntax-json"></a>

```
{
    "UpdatePolicy": {
        "StopBeforeUpdate": {
            "Type": "Boolean"
        },
        "StartAfterUpdate": {
            "Type": "Boolean"
        }
    }
}
```

#### YAML
<a name="aws-attribute-update-policy-app-stream-fleet-syntax-yaml"></a>

```
UpdatePolicy:
  StopBeforeUpdate:
    Type: Boolean
  StartAfterUpdate:
    Type: Boolean
```

`StopBeforeUpdate`  <a name="cfn-attributes-updatepolicy-replacingupdate-StopBeforeUpdate"></a>
Arrête la flotte spécifiée avant la mise à jour.  
*Obligatoire* : non

`StartAfterUpdate`  <a name="cfn-attributes-updatepolicy-replacingupdate-StartAfterUpdate"></a>
Démarre la flotte spécifiée après la mise à jour.  
*Obligatoire* : non

## AutoScalingReplacingUpdate politique
<a name="cfn-attributes-updatepolicy-replacingupdate"></a>

Pour remplacer le groupe Auto Scaling ainsi que toutes les instances qu’il contient, utilisez la stratégie `AutoScalingReplacingUpdate`.

Avant de tenter une mise à jour, assurez-vous de disposer d'une capacité Amazon EC2 suffisante, à la fois pour les groupes Auto Scaling anciens et nouveaux.

### Syntaxe
<a name="cfn-attributes-updatepolicy-replacingupdate-syntax"></a>

#### JSON
<a name="aws-attribute-updatepolicy-replacingupdate-syntax.json"></a>

```
"UpdatePolicy" : {
  "AutoScalingReplacingUpdate" : {
    "WillReplace" : Boolean
  }
}
```

#### YAML
<a name="aws-attribute-updatepolicy-replacingupdate-syntax.yaml"></a>

```
UpdatePolicy:
  AutoScalingReplacingUpdate:
    WillReplace: Boolean
```

### Propriétés
<a name="cfn-attributes-updatepolicy-replacingupdate-properties"></a>

`WillReplace`  <a name="cfn-attributes-updatepolicy-replacingupdate-willreplace"></a>
Spécifie si un groupe Auto Scaling et les instances qu'il contient seront remplacés pendant une mise à jour. Pendant le remplacement, CloudFormation conserve l'ancien groupe jusqu'à ce qu'il ait fini de créer le nouveau. Si la mise à jour échoue, CloudFormation vous pouvez revenir à l'ancien groupe Auto Scaling et supprimer le nouveau groupe Auto Scaling.  
Lors CloudFormation de la création du nouveau groupe, il ne détache ni n'attache aucune instance. Après avoir créé avec succès le nouveau groupe Auto Scaling, CloudFormation supprime l'ancien groupe Auto Scaling pendant le processus de nettoyage.  
Lorsque vous définissez le paramètre `WillReplace`, n'oubliez pas de spécifier une stratégie [Attribut `CreationPolicy`](aws-attribute-creationpolicy.md) correspondante. Si le nombre minimum d'instances (spécifié par la `MinSuccessfulInstancesPercent` propriété) n'indique pas un succès dans le `Timeout` délai (spécifié dans l'`CreationPolicy`attribut), la mise à jour de remplacement échoue et CloudFormation revient à l'ancien groupe Auto Scaling.  
*Type* : valeur booléenne  
*Obligatoire* : non

## AutoScalingRollingUpdate politique
<a name="cfn-attributes-updatepolicy-rollingupdate"></a>

Pour effectuer une mise à jour progressive des instances d’un groupe Auto Scaling, plutôt que d’attendre que les actions de mise à l’échelle remplacent progressivement les anciennes instances par des instances plus neuves, utilisez la stratégie `AutoScalingRollingUpdate`. Cette politique vous donne la flexibilité de spécifier si elle CloudFormation remplace les instances d'un groupe Auto Scaling par lots ou en une seule fois sans remplacer la ressource dans son intégralité. 

Éléments à prendre en compte lors de l’utilisation d’une stratégie `AutoScalingRollingUpdate` :
+ Lorsqu' CloudFormation une mise à jour est annulée, elle utilise la `UpdatePolicy` configuration spécifiée dans le modèle avant la mise à jour de la pile en cours. Par exemple, vous passez `MaxBatchSize` de 1 à 10 dans le`UpdatePolicy`, vous effectuez une mise à jour de la pile, et cette mise à jour échoue. CloudFormation utilisera 1 comme taille de lot maximale lors de l'annulation, et non 10. Pour éviter ce scénario, apportez les modifications à `UpdatePolicy` dans une mise à jour séparée, avant toute mise à jour du groupe Auto Scaling susceptible de déclencher une mise à jour progressive.
+ CloudFormation recommande de spécifier la `SuspendProcesses` propriété permettant de suspendre temporairement les processus Amazon EC2 Auto Scaling susceptibles d'interférer avec la mise à jour continue et de provoquer son échec. Pour plus d'informations, consultez [How can I update my Auto Scaling group when I update my CloudFormation stack ?](https://repost.aws/knowledge-center/auto-scaling-group-rolling-updates)
+ CloudFormation prend en charge l'utilisation des hooks de cycle de vie Amazon EC2 Auto Scaling lors du lancement ou de la résiliation d'instances. Cela vous laisse le temps d’exécuter des actions personnalisées sur une instance avant qu’elle ne passe à l’état suivant. Pour vous assurer que les nouvelles instances atteignent l’état `InService`, complétez le hook de cycle de vie avec un résultat `CONTINUE` lorsque l’action personnalisée est terminée. Par défaut, si aucune réponse n’est reçue et que le hook de cycle de vie expire, le lancement de l’instance est considéré comme un échec et abandonné. Si aucune instance n’atteint l’état `InService`, la mise à jour progressive finit par échouer.
+ Les fonctionnalités d'Amazon EC2 Auto Scaling telles que les politiques de maintenance des instances, les politiques de résiliation et la protection évolutive ne sont pas disponibles pour les mises à jour continues. CloudFormation Planifiez vos mises à jour progressives en conséquence.
+ Si vous utilisez une `AutoScalingRollingUpdate` politique et supprimez le paramètre du groupe de placement, le groupe de placement sera supprimé du groupe Auto Scaling et du CloudFormation modèle. Cela déclenche également une mise à jour progressive, de sorte que les nouvelles instances ne seront plus lancées dans un groupe de placement.

### Syntaxe
<a name="cfn-attributes-updatepolicy-rollingupdate-syntax"></a>

#### JSON
<a name="aws-attribute-updatepolicy-rollingupdate-syntax.json"></a>

```
"UpdatePolicy" : {
  "AutoScalingRollingUpdate" : {
    "MaxBatchSize" : Integer,
    "MinActiveInstancesPercent" : Integer,
    "MinInstancesInService" : Integer,
    "MinSuccessfulInstancesPercent" : Integer,
    "PauseTime" : String,
    "SuspendProcesses" : [ List of processes ],
    "WaitOnResourceSignals" : Boolean
  }
}
```

#### YAML
<a name="aws-attribute-updatepolicy-rollingupdate-syntax.yaml"></a>

```
UpdatePolicy:
  AutoScalingRollingUpdate:
    MaxBatchSize: Integer
    MinActiveInstancesPercent: Integer
    MinInstancesInService: Integer
    MinSuccessfulInstancesPercent: Integer
    PauseTime: String
    SuspendProcesses:
      - List of processes
    WaitOnResourceSignals: Boolean
```

### Propriétés
<a name="aws-attribute-updatepolicy-rollingupdate-properties"></a>

`MaxBatchSize`  <a name="cfn-attributes-updatepolicy-rollingupdate-maxbatchsize"></a>
Spécifie le nombre maximal d’instances qui peuvent être remplacées simultanément.  
*Par défaut* : `1`  
*Maximum *: `100`  
*Type* : entier  
*Obligatoire* : non

`MinActiveInstancesPercent`  <a name="cfn-attributes-updatepolicy-rollingupdate-minactiveinstancespercent"></a>
Spécifie le pourcentage d’instances dans un groupe Auto Scaling qui doivent être dans l’état `InService` par rapport à la capacité souhaitée du groupe pendant une mise à jour progressive pour que la mise à jour soit considérée comme réussie. Vous pouvez spécifier une valeur comprise entre 0 et 100. CloudFormation arrondit au dixième de pour cent le plus proche. Par exemple, si vous mettez à jour cinq instances avec un pourcentage `InService` de minimum 50 %, au moins trois instances doivent être dans l’état `InService`. Si une instance ne passe pas à l'`InService`état dans un délai fixe d'une heure, cela CloudFormation suppose qu'elle n'a pas été mise à jour.  
La définition de `MinActiveInstancesPercent` dans votre `UpdatePolicy` affecte également les instances lancées lorsque la propriété `DesiredCapacity` de la ressource `AWS::AutoScaling::AutoScalingGroup` est définie à une valeur supérieure à la capacité souhaitée actuelle du groupe Auto Scaling.  
*Par défaut* : `100`  
*Type* : entier  
*Obligatoire* : non

`MinInstancesInService`  <a name="cfn-attributes-updatepolicy-rollingupdate-mininstancesinservice"></a>
Spécifie le nombre minimum d'instances qui doivent être en service au sein du groupe Auto Scaling lors de la mise CloudFormation à jour des anciennes instances. Cette valeur doit être inférieure à la valeur [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-autoscaling-autoscalinggroup.html#cfn-autoscaling-autoscalinggroup-maxsize](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-autoscaling-autoscalinggroup.html#cfn-autoscaling-autoscalinggroup-maxsize) du groupe Auto Scaling.  
Il est recommandé de définir la valeur de la propriété `MinInstancesInService` au moins égale à la valeur [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-autoscaling-autoscalinggroup.html#cfn-autoscaling-autoscalinggroup-minsize](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-autoscaling-autoscalinggroup.html#cfn-autoscaling-autoscalinggroup-minsize) du groupe Auto Scaling. Cela permet d’éviter les problèmes de disponibilité pendant une mise à jour progressive, notamment lorsque 0 instance sert le trafic client. 
*Par défaut* : `0`  
*Type* : entier  
*Obligatoire* : non

`MinSuccessfulInstancesPercent`  <a name="cfn-attributes-updatepolicy-rollingupdate-minsuccessfulinstancespercent"></a>
Spécifie le pourcentage d'instances d'une mise à jour propagée Auto Scaling qui doivent signaler une réussite pour qu'une mise à jour aboutisse. Vous pouvez spécifier une valeur comprise entre 0 et 100. CloudFormationarrondit au dixième de pour cent le plus proche. Par exemple, si vous mettez à jour cinq instances avec un pourcentage de réussite minimum de `50`, trois instances doivent envoyer un signal de réussite. Si une instance n'envoie pas de signal dans le délai spécifié dans la `PauseTime` propriété, cela CloudFormation suppose que l'instance n'a pas été mise à jour.  
Il est également recommandé d’attribuer une valeur supérieure à 0 à la propriété `MinSuccessfulInstancesPercent`. Lorsque la `MinSuccessfulInstancesPercent` propriété est définie sur 0, CloudFormation attend que 0 % de la capacité des instances soient dans un `InService` état. `MinSuccessfulInstancesPercent`revient immédiatement et avant de prendre en compte le statut du groupe Auto Scaling `UPDATE_COMPLETE` pour passer aux ressources suivantes définies dans le modèle de pile. Si d'autres groupes Auto Scaling sont définis dans votre CloudFormation modèle, ils seront mis à jour simultanément. Lorsque tous les groupes Auto Scaling sont déployés en même temps avec 0 % des instances de capacité dans un état `InService`, vous rencontrerez des problèmes de disponibilité, en raison de l'absence d'instances desservant le trafic client.  
*Par défaut* : `100`  
*Type* : entier  
*Obligatoire* : non

`PauseTime`  <a name="cfn-attributes-updatepolicy-rollingupdate-pausetime"></a>
Durée de CloudFormation pause après avoir apporté une modification à un lot d'instances pour donner à ces instances le temps de démarrer des applications logicielles.   
Spécifiez `PauseTime` dans le [format de ISO8601 durée](https://en.wikipedia.org/wiki/ISO_8601#Durations) (dans le format`PT#H#M#S`, où chacun *\$1* est le nombre d'heures, de minutes et de secondes, respectivement). La valeur `PauseTime` maximale est d'une heure (`PT1H`).  
Lorsque `WaitOnResourceSignals` est défini sur `true`, `PauseTime` agit comme une valeur d’expiration. Il détermine le temps d' CloudFormation attente maximal pour recevoir le nombre requis de signaux valides provenant des instances remplacées lors d'une mise à jour continue et des nouvelles instances ajoutées en augmentant la [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-autoscaling-autoscalinggroup.html#cfn-autoscaling-autoscalinggroup-desiredcapacity](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-autoscaling-autoscalinggroup.html#cfn-autoscaling-autoscalinggroup-desiredcapacity)propriété de la `AWS::AutoScaling::AutoScalingGroup` ressource. Si le `PauseTime` est dépassé avant de CloudFormation recevoir les signaux attendus, la mise à jour échoue. Pour de meilleurs résultats, spécifiez une durée permettant à vos applications de démarrer correctement. Si la mise à jour doit être restaurée, une valeur `PauseTime` faible peut l'échec de la restauration.
*Par défaut :* `PT5M` (5 minutes) lorsque la propriété `WaitOnResourceSignals` est définie sur `true`. Sinon, aucune valeur par défaut n’est définie.   
*Type* : chaîne  
*Obligatoire* : non

`SuspendProcesses`  <a name="cfn-attributes-updatepolicy-rollingupdate-suspendprocesses"></a>
Spécifie les processus Auto Scaling à suspendre pendant une mise à jour de la pile. La suspension des procédures empêche Auto Scaling d’interférer avec une mise à jour de la pile. Par exemple, vous pouvez suspendre les alarmes afin qu'Amazon EC2 Auto Scaling ne lance pas les politiques de mise à l'échelle associées à une alarme. Pour les valeurs valides, consultez [Types de processus](https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-suspend-resume-processes.html#process-types) dans le *Guide de l’utilisateur Amazon EC2 Auto Scaling*.  
*Valeur par défaut* : non précisée  
*Type* : liste de processus Auto Scaling  
*Obligatoire* : non

`WaitOnResourceSignals`  <a name="cfn-attributes-updatepolicy-rollingupdate-waitonresourcesignals"></a>
Spécifie s'il CloudFormation attend les signaux de réussite des nouvelles instances avant de poursuivre la mise à jour. CloudFormation attend la `PauseTime` durée spécifiée pour les signaux de réussite.  
Pour envoyer un signal au groupe Auto Scaling, utilisez le script d’assistance [cfn-signal](cfn-signal.md). Pour les groupes Auto Scaling associés à l’équilibrage de charge Elastic Load Balancing, envisagez d’ajouter une surveillance de l’état pour garantir que les instances fonctionnent correctement avant de signaler la réussite en utilisant le script d’assistance [cfn-init](cfn-init.md). 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 [GitHub notre](https://github.com/aws-cloudformation/aws-cloudformation-templates/tree/main/AutoScaling) référentiel.  
*Par défaut* : `false`  
*Type* : valeur booléenne  
*Obligatoire :* selon les conditions. Si vous spécifiez la propriété `MinSuccessfulInstancesPercent`, la propriété `WaitOnResourceSignals` doit être définie sur `true`.

## AutoScalingScheduledAction politique
<a name="cfn-attributes-updatepolicy-scheduledactions"></a>

Pour spécifier le mode CloudFormation de gestion des mises à jour `DesiredCapacity` des propriétés `MinSize``MaxSize`, et lorsque la `AWS::AutoScaling::AutoScalingGroup` ressource est associée à une action planifiée, utilisez la `AutoScalingScheduledAction` politique.

Avec des actions planifiées, les propriétés de taille d'un groupe Auto Scaling peuvent changer à tout moment. Lorsque vous mettez à jour une pile avec un groupe Auto Scaling et une action planifiée, définissez CloudFormation toujours les valeurs des propriétés de taille de groupe de votre groupe Auto Scaling sur les valeurs définies dans la `AWS::AutoScaling::AutoScalingGroup` ressource de votre modèle, même si une action planifiée est en cours d'exécution.

Si vous ne CloudFormation souhaitez modifier aucune des valeurs des propriétés de taille de groupe lorsqu'une action planifiée est en vigueur, utilisez la politique de `AutoScalingScheduledAction` mise à jour et `IgnoreUnmodifiedGroupSizeProperties` configurez-la `true` pour CloudFormation empêcher de modifier les `DesiredCapacity` propriétés `MinSize``MaxSize`, ou à moins que vous n'ayez modifié ces valeurs dans votre modèle.



### Syntaxe
<a name="cfn-attributes-updatepolicy-scheduledactions-syntax"></a>

#### JSON
<a name="aws-attribute-updatepolicy-scheduledactions-syntax.json"></a>

```
"UpdatePolicy" : {
  "AutoScalingScheduledAction" : {
    "IgnoreUnmodifiedGroupSizeProperties" : Boolean
  }
}
```

#### YAML
<a name="aws-attribute-updatepolicy-scheduledactions-syntax.yaml"></a>

```
UpdatePolicy:
  AutoScalingScheduledAction:
    IgnoreUnmodifiedGroupSizeProperties: Boolean
```

### Propriétés
<a name="cfn-attributes-updatepolicy-scheduledactions-properties"></a>

`IgnoreUnmodifiedGroupSizeProperties`  <a name="cfn-attributes-updatepolicy-scheduledactions-ignoreunmodifiedgroupsizeproperties"></a>
Si`true`, CloudFormation ignore les différences de propriétés de taille de groupe entre votre groupe Auto Scaling actuel et le groupe Auto Scaling décrit dans la `AWS::AutoScaling::AutoScalingGroup` ressource de votre modèle lors d'une mise à jour de la pile. Si vous modifiez l'une des valeurs de propriété de taille de groupe dans votre modèle, CloudFormation utilise les valeurs modifiées et met à jour votre groupe Auto Scaling.  
Cette propriété est ignorée lors d’une restauration de pile.
*Par défaut* : `false`  
*Type* : valeur booléenne  
*Obligatoire* : non

## UseOnlineResharding politique
<a name="cfn-attributes-updatepolicy-useonlineresharding"></a>

Pour modifier les partitions d'un groupe de réplication en ajoutant ou en supprimant des partitions plutôt qu'en remplaçant la ressource [AWS::ElastiCache::ReplicationGroup](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-elasticache-replicationgroup.html) dans son intégralité, utilisez la politique de mise à jour `UseOnlineResharding`.

Si `UseOnlineResharding` ce paramètre est défini sur`true`, vous pouvez mettre à jour les `NodeGroupConfiguration` propriétés `NumNodeGroups` et de la `AWS::ElastiCache::ReplicationGroup` ressource, et vous CloudFormation mettrez à jour ces propriétés sans interruption. Lorsqu'elle `UseOnlineResharding` est définie sur ou non spécifiée`false`, la mise à jour des `NodeGroupConfiguration` propriétés `NumNodeGroups` et entraîne le CloudFormation remplacement de la `AWS::ElastiCache::ReplicationGroup` ressource dans son intégralité.

La politique de mise à jour `UseOnlineResharding` n'a pas de propriétés.

Éléments à prendre en compte lors de la définition de la politique de mise à jour `UseOnlineResharding` sur `true` :
+ Nous recommandons vivement que les mises à jour des propriétés `NumNodeGroups` et `NodeGroupConfiguration` soient les seules mises à jour effectuées dans une opération de mise à jour de pile donnée.

  La mise à jour de la configuration de groupe de nœuds d'un groupe de réplication est une opération gourmande en ressources. Si une mise à jour de la pile échoue, CloudFormation cela n'annule pas les modifications apportées à la configuration du groupe de nœuds d'un groupe de réplication. Cependant, toutes les autres propriétés modifiées à la suite de l'échec de l'opération de mise à jour CloudFormation seront annulées.
+ Toutes les mises à jour de groupe de nœuds exigent d'identifier tous les groupes de nœuds.

  Si vous spécifiez la `NodeGroupConfiguration` propriété, vous devez également spécifier la configuration NodeGroupId pour chaque groupe de nœuds afin de mettre CloudFormation à jour le nombre de nœuds sans interruption.

  Lorsque vous créez un groupe de réplication, si vous ne spécifiez pas d'ID pour chaque groupe de nœuds, ElastiCache génère automatiquement un ID pour chaque groupe de nœuds. Pour mettre à jour le groupe de réplication sans interruption, utilisez la ElastiCache console ([https://console.aws.amazon.com/elasticache/](https://console.aws.amazon.com/elasticache/)) ou [DescribeReplicationGroups](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_DescribeReplicationGroups.html)récupérez le IDs pour tous les groupes de nœuds du groupe de réplication. Spécifiez ensuite l’ID de chaque groupe de nœuds dans votre modèle de pile avant d’essayer d’ajouter ou de supprimer des partitions.
**Note**  
Lorsque vous créez un groupe de réplication dans un modèle de pile, la bonne pratique consiste à inclure un ID pour chaque groupe de nœuds que vous spécifiez.

  En outre, la mise à jour du nombre de nœuds sans interruption exige d'avoir spécifié avec précision les propriétés `PrimaryAvailabilityZone`, `ReplicaAvailabilityZones` et `ReplicaCount` pour chaque `NodeGroupConfiguration`. Encore une fois, vous pouvez utiliser la ElastiCache console ([https://console.aws.amazon.com/elasticache/](https://console.aws.amazon.com/elasticache/)) ou [DescribeReplicationGroups](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_DescribeReplicationGroups.html)pour récupérer les valeurs réelles de chaque groupe de nœuds et les comparer aux valeurs de votre modèle de pile. Vous pouvez mettre à jour les valeurs de propriété des groupes de nœuds dans le cadre d’une mise à jour de pile distincte, ou dans le cadre de la même mise à jour de pile qui modifie le nombre de groupes de nœuds.

  Lorsque vous utilisez une politique de `UseOnlineResharding` mise à jour pour mettre à jour le nombre de groupes de nœuds sans interruption, ElastiCache répartissez uniformément les espaces clés entre le nombre d'emplacements spécifié. Cet élément ne peut pas être mis à jour ultérieurement. Par conséquent, après avoir mis à jour le nombre de groupes de nœuds de cette façon, vous devez supprimer la valeur spécifiée pour la propriété `Slots` de chaque `NodeGroupConfiguration` à partir du modèle de pile, car elle ne reflète plus les valeurs réelles dans chaque groupe de nœuds.
+ Les résultats de la suppression réelle d'un groupe de nœuds peuvent varier.

  Lorsque vous spécifiez une `NumNodeGroups` valeur inférieure au nombre actuel de groupes de nœuds, des CloudFormation instructions vous demandent de ElastiCache supprimer autant de groupes de nœuds que nécessaire pour atteindre le nombre de nœuds spécifié. Cependant, il ElastiCache se peut que vous ne puissiez pas toujours supprimer le nombre souhaité de groupes de nœuds. Si ElastiCache vous ne parvenez pas à supprimer le nombre souhaité de groupes de nœuds CloudFormation , un événement de pile vous en avertit. Dans les cas où *aucun* groupe de nœuds ne ElastiCache peut être supprimé, la mise à jour CloudFormation des ressources échoue.

Pour plus d'informations sur la modification des groupes de réplication, consultez [ModifyReplicationGroupShardConfiguration](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_ModifyReplicationGroupShardConfiguration.html)le *Amazon ElastiCache API Reference*.

### Syntaxe
<a name="cfn-attributes-updatepolicy-useonlineresharding-syntax"></a>

#### JSON
<a name="cfn-attributes-updatepolicy-useonlineresharding-syntax.json"></a>

```
"UpdatePolicy" : {
  "UseOnlineResharding" : Boolean
}
```

#### YAML
<a name="cfn-attributes-updatepolicy-useonlineresharding-syntax.yaml"></a>

```
UpdatePolicy:
  UseOnlineResharding: Boolean
```

## EnableVersionUpgrade politique
<a name="cfn-attributes-updatepolicy-upgradeopensearchdomain"></a>

Pour mettre à niveau un domaine de OpenSearch service vers une nouvelle version d' OpenSearch Elasticsearch plutôt que de remplacer la totalité de la [AWS::Elasticsearch::Domain](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-elasticsearch-domain.html)ressource [AWS::OpenSearchService::Domain](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-opensearchservice-domain.html)OR, utilisez la politique de `EnableVersionUpgrade` mise à jour.

Si `EnableVersionUpgrade` ce paramètre est défini sur`true`, vous pouvez mettre à jour la `EngineVersion` propriété de la `AWS::OpenSearchService::Domain` ressource (ou la `ElasticsearchVersion` propriété de l'ancienne `AWS::Elasticsearch::Domain` ressource), et CloudFormation vous mettrez à jour cette propriété sans interruption. Lorsqu'elle `EnableVersionUpgrade` est définie sur ou non spécifiée`false`, la mise à jour de la `ElasticsearchVersion` propriété `EngineVersion` or entraîne le CloudFormation remplacement de l'intégralité de la `AWS::Elasticsearch::Domain` ressource`AWS::OpenSearchService::Domain`/.

La politique de mise à jour `EnableVersionUpgrade` n'a pas de propriétés.

Pour plus d'informations, consultez la section [Mise à niveau des domaines de OpenSearch service](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/version-migration.html) dans le manuel Amazon OpenSearch Service Developer Guide.

### Syntaxe
<a name="cfn-attributes-updatepolicy-upgradeopensearchdomain-syntax"></a>

#### JSON
<a name="cfn-attributes-updatepolicy-upgradeopensearchdomain-syntax.json"></a>

```
"UpdatePolicy" : {
  "EnableVersionUpgrade" : Boolean
}
```

#### YAML
<a name="cfn-attributes-updatepolicy-upgradeopensearchdomain-syntax.yaml"></a>

```
UpdatePolicy:
  EnableVersionUpgrade: Boolean
```

## CodeDeployLambdaAliasUpdate politique
<a name="cfn-attributes-updatepolicy-codedeploylambdaaliasupdate"></a>

Pour effectuer un CodeDeploy déploiement lorsque la version d'une `AWS::Lambda::Alias` ressource change, utilisez la politique de `CodeDeployLambdaAliasUpdate` mise à jour.

### Syntaxe
<a name="cfn-attributes-updatepolicy-codedeploylambdaaliasupdate-syntax"></a>

#### JSON
<a name="aws-attribute-updatepolicy-codedeploylambdaaliasupdate-syntax.json"></a>

```
"UpdatePolicy" : {
  "CodeDeployLambdaAliasUpdate" : {
    "AfterAllowTrafficHook" : String,
    "ApplicationName" : String,
    "BeforeAllowTrafficHook" : String,
    "DeploymentGroupName" : String
  }
}
```

#### YAML
<a name="aws-attribute-updatepolicy-codedeploylambdaaliasupdate-syntax.yaml"></a>

```
UpdatePolicy:
  CodeDeployLambdaAliasUpdate:
    AfterAllowTrafficHook: String
    ApplicationName: String
    BeforeAllowTrafficHook: String
    DeploymentGroupName: String
```

### Propriétés
<a name="aws-attribute-updatepolicy-codedeploylambdaaliasupdate-properties"></a>

`AfterAllowTrafficHook`  <a name="cfn-attributes-updatepolicy-codedeploylambdaaliasupdate-afterallowtraffichook"></a>
Le nom de la fonction Lambda à exécuter une fois l'acheminement du trafic terminé.  
*Obligatoire* : non  
*Type* : chaîne

`ApplicationName`  <a name="cfn-attributes-updatepolicy-codedeploylambdaaliasupdate-applicationname"></a>
Nom de l' CodeDeploy application.  
*Obligatoire* : oui  
*Type* : chaîne

`BeforeAllowTrafficHook`  <a name="cfn-attributes-updatepolicy-codedeploylambdaaliasupdate-beforeallowtraffichook"></a>
Le nom de la fonction Lambda à exécuter avant le lancement du routage du trafic.  
*Obligatoire* : non  
*Type* : chaîne

`DeploymentGroupName`  <a name="cfn-attributes-updatepolicy-codedeploylambdaaliasupdate-deploymentgroupname"></a>
Nom du groupe de CodeDeploy déploiement. C'est là que la politique d'acheminement du trafic est définie.  
*Obligatoire* : oui  
*Type* : chaîne

Pour obtenir un exemple de spécification de l'attribut `UpdatePolicy` pour une ressource `AWS::Lambda::Alias`, consultez [Politique de mise à jour d'alias lambda](#aws-resource-lambda-alias-example).

## Exemples
<a name="aws-attribute-updatepolicy-examples"></a>

Les exemples suivants montrent comment ajouter une politique de mise à jour à un groupe Auto Scaling et comment assurer la disponibilité lors de la mise à jour des métadonnées.

### Ajout d'une `UpdatePolicy` à un groupe Auto Scaling
<a name="aws-attribute-updatepolicy-example-1"></a>

L'exemple suivant montre comment ajouter une politique de mise à jour. Pendant une mise à jour, le groupe Auto Scaling met à jour les instances par lots de deux et maintient au moins une instance en service. Étant donné que l'indicateur `WaitOnResourceSignals` est défini, le groupe Auto Scaling attend les nouvelles instances qui sont ajoutées au groupe. Les nouvelles instances doivent envoyer un signal au groupe Auto Scaling, avant qu'il ne mette à jour le lot d'instances suivant.

#### JSON
<a name="attribute-updatepolicy-example-1.json"></a>

```
"ASG" : {
  "Type":"AWS::AutoScaling::AutoScalingGroup",
  "Properties":{
    "VPCZoneIdentifier":[ "subnetIdAz1", "subnetIdAz2", "subnetIdAz3" ],
    "LaunchTemplate":{
      "LaunchTemplateId":{
        "Ref":"logicalName"
      },
      "Version":{
        "Fn::GetAtt":[
          "logicalName",
          "LatestVersionNumber"
        ]
      }
    },
    "MaxSize":"4",
    "MinSize":"1"
  },
  "UpdatePolicy":{
    "AutoScalingScheduledAction":{
      "IgnoreUnmodifiedGroupSizeProperties":"true"
    },
    "AutoScalingRollingUpdate":{
      "MinInstancesInService":"1",
      "MaxBatchSize":"2",
      "WaitOnResourceSignals":"true",
      "PauseTime":"PT10M",
      "SuspendProcesses":[
        "HealthCheck",
        "ReplaceUnhealthy",
        "AZRebalance",
        "AlarmNotification",
        "ScheduledActions",
        "InstanceRefresh"
      ]
    }
  }
}
```

#### YAML
<a name="attribute-updatepolicy-example-1.yaml"></a>

```
ASG:
  Type: AWS::AutoScaling::AutoScalingGroup
  Properties:
    VPCZoneIdentifier:
      - subnetIdAz1
      - subnetIdAz2
      - subnetIdAz3
    LaunchTemplate:
      LaunchTemplateId: !Ref logicalName
      Version: !GetAtt logicalName.LatestVersionNumber
    MaxSize: '4'
    MinSize: '1'
  UpdatePolicy:
    AutoScalingScheduledAction:
      IgnoreUnmodifiedGroupSizeProperties: 'true'
    AutoScalingRollingUpdate:
      MinInstancesInService: '1'
      MaxBatchSize: '2'
      WaitOnResourceSignals: 'true'
      PauseTime: PT10M
      SuspendProcesses:
        - HealthCheck
        - ReplaceUnhealthy
        - AZRebalance
        - AlarmNotification
        - ScheduledActions
        - InstanceRefresh
```

### AutoScalingReplacingUpdate politique
<a name="attribute-updatepolicy-AutoScalingReplacingUpdate"></a>

L'exemple suivant déclare une politique qui force le remplacement d'un groupe Auto Scaling associé au cours d'une mise à jour. Pour que la mise à jour réussisse, un pourcentage d'instances (spécifié par le paramètre `MinSuccessfulPercentParameter`) doit indiquer la réussite avant l'expiration du délai (`Timeout`).

#### JSON
<a name="attribute-updatepolicy-example-2.json"></a>

```
"UpdatePolicy" : {
  "AutoScalingReplacingUpdate" : {
    "WillReplace" : true
  }
},
"CreationPolicy" : {
  "ResourceSignal" : {
    "Count" : { "Ref" : "ResourceSignalsOnCreate"},
    "Timeout" : "PT10M"
  },
  "AutoScalingCreationPolicy" : {
    "MinSuccessfulInstancesPercent" : { "Ref" : "MinSuccessfulPercentParameter" }
  }
}
```

#### YAML
<a name="attribute-updatepolicy-example-2.yaml"></a>

```
UpdatePolicy:
  AutoScalingReplacingUpdate:
    WillReplace: true
CreationPolicy:
  ResourceSignal:
    Count: !Ref 'ResourceSignalsOnCreate'
    Timeout: PT10M
  AutoScalingCreationPolicy:
    MinSuccessfulInstancesPercent: !Ref 'MinSuccessfulPercentParameter'
```

### Disponibilité lors de la mise à jour des métadonnées pour le script d'assistant cfn-init
<a name="aws-attribute-updatepolicy-cfn-init-metadata"></a>

Lorsque vous installez des applications logicielles sur vos instances, vous pouvez utiliser la clé de [`AWS::CloudFormation::Init`](aws-resource-init.md) métadonnées et le script d'[cfn-init](cfn-init.md)assistance pour démarrer les instances de votre groupe Auto Scaling. CloudFormation installe les packages, exécute les commandes et exécute les autres actions d'amorçage décrites dans les métadonnées.

Lorsque vous mettez à jour uniquement les métadonnées (par exemple, lors du passage d'un package à une autre version), vous pouvez utiliser le programme démon [cfn-hup](cfn-hup.md) pour détecter et appliquer les mises à jour. Toutefois, le programme démon `cfn-hup` est exécuté indépendamment dans chaque instance. S'il est exécuté en même temps dans toutes les instances, votre service ou votre application peut être indisponible pendant la mise à jour. Pour garantir la disponibilité, vous pouvez forcer une mise à jour continue afin de mettre CloudFormation à jour vos instances un lot à la fois.

**Important**  
 CloudFormation Pour forcer une mise à jour continue, il faut créer une nouvelle instance, puis supprimer l'ancienne. Les informations stockées dans l'ancienne instance seront perdues.

Pour forcer une mise à jour continue, modifiez l'ID logique de la ressource de configuration de lancement, puis mettez à jour la pile et toutes les références pointant vers l'ID logique d'origine (tel que le groupe Auto Scaling associé). CloudFormation déclenche une mise à jour continue sur le groupe Auto Scaling, en remplaçant toutes les instances.

### Modèle d'origine
<a name="aws-attribute-updatepolicy-cfn-init-metadata-original"></a>

```
"LaunchConfig": {
  "Type" : "AWS::AutoScaling::LaunchConfiguration",
  "Metadata" : {
    "Comment" : "Install a simple PHP application",
    "AWS::CloudFormation::Init" : {
    ...
    }
  }
}
```

### Mise à jour de l'ID logique
<a name="aws-attribute-updatepolicy-cfn-init-metadata-updated"></a>

```
"LaunchConfigUpdateRubygemsPkg": {
  "Type" : "AWS::AutoScaling::LaunchConfiguration",
  "Metadata" : {
    "Comment" : "Install a simple PHP application",
    "AWS::CloudFormation::Init" : {
    ...
    }
  }
}
```

### Politique de mise à jour d'alias lambda
<a name="aws-resource-lambda-alias-example"></a>

L'exemple suivant précise l'attribut `UpdatePolicy` pour une ressource `AWS::Lambda::Alias`. Tous les détails du déploiement sont définis par l'application et le groupe de déploiement qui sont transmis dans la politique.

#### JSON
<a name="aws-attribute-updatepolicy-codedeploylambda.json"></a>

```
"Alias": {
  "Type": "AWS::Lambda::Alias",
  "Properties": {
    "FunctionName": {
      "Ref": "LambdaFunction"
    },
    "FunctionVersion": {
      "Fn::GetAtt": [
        "FunctionVersionTwo",
        "Version"
      ]
    },
    "Name": "MyAlias"
  },
  "UpdatePolicy": {
    "CodeDeployLambdaAliasUpdate": {
      "ApplicationName": {
        "Ref": "CodeDeployApplication"
      },
      "DeploymentGroupName": {
        "Ref": "CodeDeployDeploymentGroup"
      },
      "BeforeAllowTrafficHook": {
        "Ref": "PreHookLambdaFunction"
      },
      "AfterAllowTrafficHook": {
        "Ref": "PreHookLambdaFunction"
      }
    }
  }
}
```

#### YAML
<a name="aws-attribute-updatepolicy-codedeploylambda-example.yaml"></a>

```
Alias:
  Type: AWS::Lambda::Alias
  Properties:
    FunctionName: !Ref LambdaFunction
    FunctionVersion: !GetAtt FunctionVersionTwo.Version
    Name: MyAlias
  UpdatePolicy:
    CodeDeployLambdaAliasUpdate:
      ApplicationName: !Ref CodeDeployApplication
      DeploymentGroupName: !Ref CodeDeployDeploymentGroup
      BeforeAllowTrafficHook: !Ref PreHookLambdaFunction
      AfterAllowTrafficHook: !Ref PreHookLambdaFunction
```