

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.

# Effectuer des mises à jour d'infrastructure
<a name="infrastructure-updates"></a>

Les mises à jour de l'infrastructure remplacent les instances de votre environnement informatique par de nouvelles instances dont les paramètres ont été mis à jour. Cette stratégie de mise à jour prend plus de temps que le dimensionnement des mises à jour et nécessite des paramètres de rôle de service et de stratégie d'allocation spécifiques. Les mises à jour de l'infrastructure permettent de modifier les configurations fondamentales de l'environnement informatique tout en maintenant la disponibilité des services.

**Important**  
Les mises à jour de l'infrastructure nécessitent le rôle *AWSServiceRoleForBatch*lié au service et une stratégie d'allocation de `BEST_FIT_PROGRESSIVE``SPOT_CAPACITY_OPTIMIZED`, ou. `SPOT_PRICE_CAPACITY_OPTIMIZED` Si votre environnement ne répond pas à ces exigences, utilisez plutôt des blue/green mises à jour.

## Changements déclenchant des mises à jour de l'infrastructure
<a name="infrastructure-updates-triggers"></a>

Lorsque vous modifiez l'un des paramètres suivants, AWS Batch effectue une mise à jour de l'infrastructure. Les mises à jour de l'infrastructure se produisent également lorsque vous modifiez ces paramètres en même temps que les paramètres de mise à jour du dimensionnement.

Les paramètres suivants déclenchent les mises à jour de l'infrastructure :

**Configuration de calcul**
+ `allocationStrategy`— Détermine le mode de AWS Batch sélection des types d'instances.
+ `instanceTypes`— Spécifie les types d'instances EC2 à utiliser.
+ `bidPercentage`— Pourcentage maximum du prix à la demande pour les instances Spot.
+ `type`— Type d'environnement de calcul (`EC2`ou`SPOT`).

**AMI et configuration de lancement**
+ `imageId`— AMI spécifique à utiliser pour les instances.
+ `ec2Configuration`— Configuration EC2 incluse`imageIdOverride`.
+ `launchTemplate`— Paramètres du modèle de lancement EC2.
+ `ec2KeyPair`— Paire de clés SSH pour l'accès à l'instance.
+ `updateToLatestImageVersion`— Paramètre de mise à jour automatique de l'AMI.

**Mise en réseau et sécurité**
+ `subnets`— Sous-réseaux VPC où les instances sont lancées (pour les environnements de calcul EC2).
+ `securityGroupIds`— Groupes de sécurité pour les instances (pour les environnements informatiques EC2).
+ `placementGroup`— Configuration du groupe de placement EC2.

**Autres paramètres**
+ `instanceRole`— Rôle IAM pour les instances EC2.
+ `tags`— Balises appliquées aux instances EC2.

**Important**  
Si vous modifiez des paramètres de mise à jour de l'infrastructure en même temps que des paramètres de mise à jour de dimensionnement (tels que `desiredvCpus``maxvCpus`, ou`minvCpus`), AWS Batch effectue une mise à jour de l'infrastructure. Les mises à jour de l'infrastructure prennent plus de temps que les mises à niveau.

## Sélection des AMI lors des mises à jour de l'infrastructure
<a name="updating-compute-environments-ami"></a>

Lors d'une mise à jour de l'infrastructure, l'ID AMI de l'environnement de calcul peut changer, selon qu'il AMIs est spécifié ou non dans l'un de ces trois paramètres. AMIs sont spécifiés dans le `imageId` (in`computeResources`), `imageIdOverride` (in`ec2Configuration`) ou le modèle de lancement spécifié dans`launchTemplate`. Supposons qu'aucune AMI IDs ne soit spécifiée dans aucun de ces paramètres et que le `updateToLatestImageVersion` paramètre soit`true`. Ensuite, la dernière AMI optimisée Amazon ECS prise en charge par AWS Batch est utilisée pour toute mise à jour de l'infrastructure.

Si un ID d'AMI est spécifié dans au moins l'un de ces paramètres, la mise à jour dépend du paramètre qui a fourni l'ID d'AMI utilisé avant la mise à jour. Lorsque vous créez un environnement informatique, la priorité pour sélectionner un ID d'AMI est d'abord le modèle de lancement, puis le `imageId` paramètre, et enfin le `imageIdOverride` paramètre. Toutefois, si l'ID d'AMI utilisé provient du modèle de lancement, la mise à jour des `imageIdOverride` paramètres `imageId` ou des paramètres ne met pas à jour l'ID d'AMI. La seule façon de mettre à jour un ID d'AMI sélectionné dans le modèle de lancement est de mettre à jour le modèle de lancement. Si le paramètre de version du modèle de lancement est `$Default` ou`$Latest`, la version par défaut ou la dernière version du modèle de lancement spécifié est évaluée. Si un autre ID d'AMI est sélectionné par défaut ou si la dernière version du modèle de lancement est sélectionnée, cet ID d'AMI est utilisé dans la mise à jour.

Si le modèle de lancement n'a pas été utilisé pour sélectionner l'ID d'AMI, l'ID d'AMI spécifié dans les `imageIdOverride` paramètres `imageId` ou est utilisé. Si les deux sont spécifiés, l'ID d'AMI spécifié dans le `imageIdOverride` paramètre est utilisé.

Supposons que l'environnement de calcul utilise un ID d'AMI spécifié par les `launchTemplate` paramètres `imageId``imageIdOverride`, ou, et que vous souhaitiez utiliser la dernière AMI optimisée pour Amazon ECS prise en charge par AWS Batch. Ensuite, la mise à jour doit supprimer les paramètres qui ont fourni l'AMI IDs. En `imageId` effet, cela nécessite de spécifier une chaîne vide pour ce paramètre. En `imageIdOverride` effet, cela nécessite de spécifier une chaîne vide pour le `ec2Configuration` paramètre.

Si l'ID d'AMI provient du modèle de lancement, vous pouvez passer à la dernière AMI optimisée pour Amazon ECS prise AWS Batch en charge de l'une des manières suivantes :
+ Supprimez le modèle de lancement en spécifiant une chaîne vide pour le `launchTemplateName` paramètre `launchTemplateId` or. Cela supprime l'intégralité du modèle de lancement, plutôt que le seul ID de l'AMI.
+ Si la version mise à jour du modèle de lancement ne spécifie pas d'ID d'AMI, le `updateToLatestImageVersion` paramètre doit être défini sur`true`.

## Gestion des tâches pendant les mises à jour
<a name="infrastructure-updates-job-handling"></a>

Configurez le mode de gestion des tâches en cours lors d'une mise à jour de l'infrastructure à l'aide de la politique de mise à jour. Lorsque vous définissez`terminateJobsOnUpdate=true`, les tâches en cours d'exécution sont immédiatement interrompues, le `jobExecutionTimeoutMinutes` paramètre est ignoré et la mise à jour se poursuit dès que les instances peuvent être remplacées. Lorsque vous le définissez`terminateJobsOnUpdate=false`, les tâches en cours d'exécution se poursuivent pendant la période spécifiée avec un délai d'expiration par défaut de 30 minutes, et les tâches sont interrompues si elles dépassent le délai d'expiration.

**Note**  
Pour réessayer des tâches interrompues lors d'une mise à jour, configurez une stratégie de nouvelle tentative de tâche. Pour de plus amples informations, veuillez consulter [Nouvelles tentatives de travail automatisées](job_retries.md).

------
#### [ Performing infrastructure updates using the AWS Management Console ]

**Note**  
Pour effectuer une mise à jour vers la dernière version de l'AMI dans la console, voir[Mise à jour des versions de l'AMI](managing-ami-versions.md#updating-ami-versions).

1. Ouvrez la AWS Batch console à l'adresse [https://console.aws.amazon.com/batch/](https://console.aws.amazon.com/batch/).

1. Dans le volet de navigation, choisissez **Environments** puis l'onglet **Compute environments**.

1. Sélectionnez l'environnement informatique à mettre à jour.

1. Choisissez **Actions**, puis **Modifier**.

1. Dans la section **Comportement des mises à jour**, configurez le mode de gestion des tâches en cours d'exécution :
   + Choisissez **Mettre à jour l'AMI vers la dernière version** pour mettre à jour l'AMI vers la dernière version.
   + Choisissez **Terminer les tâches immédiatement après la mise à jour** pour terminer les tâches lorsque le processus de mise à jour est exécuté.
   + Pour le **délai d'exécution du Job**, entrez le nombre de minutes à attendre avant de démarrer le processus de mise à jour.

1. Modifiez un ou plusieurs [paramètres qui nécessitent une mise à jour de l'infrastructure](#infrastructure-updates-triggers). Par exemple :
   + **Rôle de l'instance**
   + **Utiliser des instances EC2 Spot**
   + **Types d'instances autorisés**
   + **Groupe de placement**
   + **Paire de clés EC2**
   + **Configuration EC2**
   + **Modèles de lancement**
   + **Sous-réseaux**
   + **Groupes de sécurité**

1. Sélectionnez **Enregistrer les modifications**.

1. Surveillez l'état de l'environnement informatique. L'environnement s'affichera `UPDATING` pendant le processus de mise à jour.

------
#### [ Performing infrastructure updates using the AWS CLI ]

Utilisez la **update-compute-environment** commande pour modifier un ou plusieurs [paramètres nécessitant une mise à jour de l'infrastructure](#infrastructure-updates-triggers). Les trois exemples suivants sont des opérations d'infrastructure courantes.
+ Cet exemple met à jour les types d'instances et configure la politique de mise à jour :

  ```
  aws batch update-compute-environment \
      --compute-environment {{your-compute-environment-name}} \
      --compute-resources instanceTypes={{default_x86_64}} \
      --update-policy terminateJobsOnUpdate={{false}},jobExecutionTimeoutMinutes={{30}}
  ```
+ Cet exemple met à jour les sous-réseaux et les groupes de sécurité VPC :

  ```
  aws batch update-compute-environment \
      --compute-environment {{your-compute-environment-name}} \
      --compute-resources subnets={{subnet-abcd1234}},{{subnet-efgh5678}} securityGroupIds={{sg-abcd1234}} \
      --update-policy terminateJobsOnUpdate={{true}}
  ```
+ Cet exemple permet de mettre à jour automatiquement la dernière AMI optimisée pour Amazon ECS :

  ```
  aws batch update-compute-environment \
      --compute-environment {{your-compute-environment-name}} \
      --compute-resources updateToLatestImageVersion={{true}} \
      --update-policy terminateJobsOnUpdate={{false}},jobExecutionTimeoutMinutes={{60}}
  ```

------

## Mises à jour de l'infrastructure
<a name="infrastructure-updates-monitoring"></a>

Surveillez les mises à jour de votre infrastructure à l'aide de la AWS Batch console pour suivre l'évolution de l'état de l'environnement informatique`UPDATING`, suivre la progression du remplacement des instances et vérifier l'absence d'échec des mises à jour. La mise à jour est réussie une fois que l'état de l'environnement de calcul est atteint`VAILD`. Vous pouvez également l'utiliser CloudWatch pour suivre les événements de cessation d'instance et surveiller l'état des tâches pendant la mise à jour. À l'aide de AWS CLI, utilisez la **describe-compute-environments** commande pour vérifier l'état et surveiller les événements du cycle de vie de l'instance.