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 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 AWSServiceRoleForBatchlié au service et une stratégie d'allocation de BEST_FIT_PROGRESSIVESPOT_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

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' EC2 instances à utiliser.

  • bidPercentage— Pourcentage maximum du prix à la demande 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— EC2 configuration, y comprisimageIdOverride.

  • launchTemplate— paramètres EC2 du modèle de lancement.

  • 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 EC2 calcul).

  • securityGroupIds— Groupes de sécurité pour les instances (pour les environnements EC2 informatiques).

  • placementGroup— configuration du groupe de EC2 placement.

Autres paramètres

  • instanceRole— Rôle IAM pour les EC2 instances.

  • tags— Tags appliqués aux EC2 instances.

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 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 des AMI lors des mises à jour de l'infrastructure

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 (incomputeResources), imageIdOverride (inec2Configuration) ou le modèle de lancement spécifié danslaunchTemplate. Supposons qu'aucune AMI IDs ne soit spécifiée dans aucun de ces paramètres et que le updateToLatestImageVersion paramètre soittrue. 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 imageIdimageIdOverride, 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 surtrue.

Gestion des tâches pendant les mises à jour

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éfinissezterminateJobsOnUpdate=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éfinissezterminateJobsOnUpdate=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 Tentatives de tâche automatisées.

Performing infrastructure updates using the AWS Management Console
  1. Ouvrez la AWS Batch console à l'adresse https://console.aws.amazon.com/batch/.

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

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

  4. Choisissez Actions, puis Modifier.

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

  6. Modifiez un ou plusieurs paramètres qui nécessitent une mise à jour de l'infrastructure. Exemples :

    • Rôle de l'instance

    • Utiliser des instances EC2 Spot

    • Types d'instances autorisés

    • Groupe de placement

    • EC2 paire de clés

    • EC2 configuration

    • 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 une mise à jour de l'infrastructure. 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 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

Mises à jour de l'infrastructure

Surveillez les mises à jour de votre infrastructure à l'aide de la AWS Batch console pour suivre l'évolution de l'état de l'environnement informatiqueUPDATING, 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 atteintVAILD. 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.