

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 les mises à l'échelle 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é aux services et une stratégie d'allocation de `BEST_FIT_PROGRESSIVE``BEST_FIT_PROGRESSIVE_ORDERED`, `SPOT_CAPACITY_OPTIMIZED``SPOT_PRICE_CAPACITY_OPTIMIZED`, ou. `SPOT_CAPACITY_OPTIMIZED_PRIORITIZED` Si votre environnement ne répond pas à ces exigences, utilisez plutôt les 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 à l'échelle.

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

**Configuration informatique **
+ `allocationStrategy`— Détermine le mode de AWS Batch sélection des types d'instances.
+ `instanceTypes`— Spécifie les types d'instance EC2 à utiliser.
+ `bidPercentage`— Pourcentage maximum du On-Demand prix 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 sur lesquels les instances sont lancées (pour les environnements de calcul EC2).
+ `securityGroupIds`— Groupes de sécurité pour les instances (pour les environnements de calcul EC2).
+ `placementGroup`— Configuration du groupe de placement EC2.

**Autres paramètres **
+ `instanceRole`— Rôle IAM pour les instances EC2.
+ `tags`— Tags appliqués 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 à l'échelle (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 d'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 informatique peut changer, selon que les AMI sont spécifiées ou non dans l'un de ces trois paramètres. Les AMI sont spécifiées dans le `imageId` (in`computeResources`), `imageIdOverride` (in`ec2Configuration`) ou dans le modèle de lancement spécifié dans`launchTemplate`. Supposons qu'aucun ID AMI n'est spécifié dans aucun de ces paramètres et que celui-ci soit `updateToLatestImageVersion` défini comme tel`true`. Ensuite, la dernière AMI optimisée pour Amazon ECS prise en charge par AWS Batch est utilisée pour toute mise à jour de l'infrastructure.

Si un ID 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 AMI utilisé avant la mise à jour. Lorsque vous créez un environnement informatique, la priorité pour sélectionner un ID AMI est d'abord le modèle de lancement, puis le `imageId` paramètre et enfin le `imageIdOverride` paramètre. Toutefois, si l'ID AMI utilisé provient du modèle de lancement, la mise à jour des `imageIdOverride` paramètres `imageId` ou ne met pas à jour l'ID AMI. La seule façon de mettre à jour un ID 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 AMI est sélectionné par défaut ou si la dernière version du modèle de lancement est sélectionnée, cet ID AMI est utilisé dans la mise à jour.

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

Supposons que l'environnement de calcul utilise un ID d'AMI spécifié par le `imageId` ou `launchTemplate` les paramètres, et que vous souhaitez utiliser la dernière AMI optimisée pour Amazon ECS prise en charge par AWS Batch. `imageIdOverride` La mise à jour doit ensuite supprimer les paramètres qui ont fourni des ID AMI. Pour cela`imageId`, il faut spécifier une chaîne vide pour ce paramètre. Pour cela`imageIdOverride`, il faut 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 qui est 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` ou. Cela supprime l'intégralité du modèle de lancement, au lieu de supprimer uniquement l'ID AMI.
+ Si la version mise à jour du modèle de lancement ne spécifie pas d'ID AMI, le `updateToLatestImageVersion` paramètre doit être défini sur`true`.

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

Configurez la façon dont les tâches en cours sont gérées 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 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 de temporisation 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 ce délai.

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

------
#### [ Performing infrastructure updates using the Console de gestion AWS ]

**Note**  
Pour simplement effectuer la mise à jour vers la dernière version d'AMI dans la console, consultez[Mise à jour des versions 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 ** Environnements ** puis l'**onglet Environnements de ** calcul.

1. Dans l'**onglet Environnements de ** calcul, sélectionnez l'option à côté de l'environnement de calcul à mettre à jour. Vous devez sélectionner un environnement de calcul pour que les options du ** menu ** Actions soient disponibles.

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

1. Dans la ** section Comportement des ** mises à jour, configurez la façon dont les tâches en cours d'exécution sont gérées :
   + 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 mettre fin aux tâches lorsque le processus de mise à jour est exécuté.
   + Pour Délai ** d'exécution de la tâche, ** 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 des mises à jour de l'infrastructure](#infrastructure-updates-triggers). Par exemple :
   + **Rôle de l'instance **
   + **Utiliser les 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 des mises à jour de l'infrastructure](#infrastructure-updates-triggers). Les trois exemples suivants concernent 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é du 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 active les mises à jour automatiques de 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}}
  ```

------

## Surveillance des mises à jour des infrastructures
<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 de calcul`UPDATING`, suivre la progression du remplacement des instances et vérifier si les mises à jour ont échoué. 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 fermeture 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 liés au cycle de vie de l'instance.