View a markdown version of this page

Effectuer des mises à jour d'infrastructure - AWS Batch

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

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_PROGRESSIVEBEST_FIT_PROGRESSIVE_ORDERED, SPOT_CAPACITY_OPTIMIZEDSPOT_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

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 (EC2ouSPOT).

AMI et configuration de lancement

  • imageId— AMI spécifique à utiliser pour les instances.

  • ec2Configuration— Configuration EC2 incluseimageIdOverride.

  • 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 desiredvCpusmaxvCpus, ouminvCpus), 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

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 (incomputeResources), imageIdOverride (inec2Configuration) ou dans le modèle de lancement spécifié danslaunchTemplate. Supposons qu'aucun ID AMI n'est spécifié dans aucun de ces paramètres et que celui-ci soit updateToLatestImageVersion défini comme teltrue. 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 celaimageId, il faut spécifier une chaîne vide pour ce paramètre. Pour celaimageIdOverride, 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 surtrue.

Gestion des tâches lors des mises à jour

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éfinissezterminateJobsOnUpdate=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éfinissezterminateJobsOnUpdate=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.

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, consultezMise à jour des versions AMI.

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

  2. Dans le volet de navigation, choisissez Environnements puis l'onglet Environnements de calcul.

  3. 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.

  4. Choisissez Actions, puis Modifier.

  5. 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.

  6. Modifiez un ou plusieurs paramètres qui nécessitent des mises à jour de l'infrastructure. 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é

  7. Sélectionnez Enregistrer les modifications.

  8. 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. 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

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 calculUPDATING, 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 atteintVAILD. 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.