Effectuer des blue/green mises à jour pour les environnements informatiques - 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 blue/green mises à jour pour les environnements informatiques

Une blue/green mise à jour est une stratégie de mise à jour qui réduit les temps d'arrêt et les risques en créant un nouvel environnement informatique (vert) en plus de votre environnement informatique existant (bleu). Cette approche vous permet de transférer progressivement les charges de travail vers le nouvel environnement tout en maintenant le fonctionnement de l'environnement existant. Blue/green les mises à jour fournissent le chemin de mise à jour le plus sûr et fonctionnent avec tous les types de rôles de service ou de stratégie d'allocation.

Présentation

Les mises à jour bleu/vert offrent plusieurs avantages qui les rendent idéales pour les environnements de production. Ils n'offrent aucun temps d'arrêt en assurant le fonctionnement continu de vos charges de travail pendant le processus de mise à jour. Cette approche permet des fonctionnalités de restauration faciles, vous permettant de revenir rapidement à l'environnement d'origine en cas de problème. Vous pouvez mettre en œuvre une stratégie de transition progressive, en vérifiant les performances du nouvel environnement avant de transférer complètement vos charges de travail de production. Cette méthode permet également une excellente atténuation des risques puisque l'environnement d'origine reste inchangé et opérationnel jusqu'à ce que vous choisissiez de le supprimer.

Quand des blue/green mises à jour sont nécessaires

Vous devez utiliser les blue/green mises à jour dans les situations suivantes :

  • Lorsque votre environnement informatique utilise une stratégie BEST_FIT d'allocation (ne prend pas en charge les mises à jour de l'infrastructure)

  • Lorsque votre environnement informatique n'utilise pas le rôle lié à AWSServiceRoleForBatchun service

  • Quand vous devez passer d'un type de rôle de service à un autre

Blue/green updates are particularly recommended for production environments where zero downtime is critical for your workloads. This approach works well when you need to test new configurations before transitioning production workloads, ensuring that changes meet your performance and reliability requirements. Choose blue/greenmises à jour lorsque la fonctionnalité de restauration rapide est importante pour vos opérations, en particulier si vous effectuez une mise à jour personnalisée AMIs avec des modifications importantes. Cette méthode est également idéale lorsque vous souhaitez valider les caractéristiques de performance et le comportement avant de procéder entièrement aux modifications, afin de garantir la confiance dans votre processus de mise à jour.

Prérequis

Avant d'effectuer une blue/green mise à jour, assurez-vous d'avoir :

  • Autorisations IAM appropriées pour créer et gérer des environnements informatiques

  • Accès pour afficher et modifier les paramètres de la file d'attente des tâches

  • Stratégies de nouvelle tentative de tâche configurées pour vos définitions de tâches afin de gérer les échecs potentiels pendant la transition. Pour de plus amples informations, veuillez consulter Tentatives de tâche automatisées.

  • L'ID AMI du nouvel environnement informatique. Cela peut être soit :

    • Une version récente et approuvée de l'AMI optimisée pour Amazon ECS (utilisée par défaut)

    • Une AMI personnalisée qui répond aux spécifications de l'AMI d'instance de conteneur Amazon ECS. Lorsque vous utilisez une AMI personnalisée, vous pouvez la spécifier de l'une des manières suivantes :

      • Utilisation du champ Image ID override dans la configuration EC2

      • Le spécifier dans un modèle de lancement

      Pour plus d'informations sur la création de AMIs personnalisations, consultezTutoriel : Création d'une AMI de ressources de calcul.

Avant de créer le nouvel environnement, vous devez enregistrer la configuration de votre environnement informatique existant. Pour ce faire, vous pouvez utiliser le AWS Management Console ou le AWS CLI.

Note

Les procédures suivantes expliquent comment effectuer une blue/green mise à jour qui ne modifie que l'AMI. Vous pouvez mettre à jour d'autres paramètres pour le nouvel environnement.

Important

Lorsque vous supprimez l'ancien environnement informatique (bleu), toutes les tâches en cours d'exécution sur ces instances échoueront car les instances seront arrêtées. Configurez des stratégies de nouvelle tentative dans vos définitions de tâches afin de gérer automatiquement ces échecs. Pour de plus amples informations, veuillez consulter Tentatives de tâche automatisées.

Une fois que vous aurez confiance dans le nouvel environnement :

  1. Modifiez la file d'attente des tâches pour supprimer l'ancien environnement informatique.

  2. Attendez que toutes les tâches en cours dans l'ancien environnement soient terminées.

  3. Supprimez l'ancien environnement de calcul.

Performing blue/green updates using the AWS Management Console
  1. Clonez votre environnement informatique actuel

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

    2. Sélectionnez votre environnement informatique existant.

    3. Choisissez Actions, puis Cloner.

    4. Dans Nom, entrez un nom unique pour votre nouvel environnement informatique.

    5. Choisissez Suivant.

    6. Dans la section Configuration de l'instance, mettez à jour les paramètres de l'AMI :

      1. Développez Additional configuration (Configuration supplémentaire).

      2. Pour la EC2 configuration, spécifiez le nouveau type d'AMI dans Type d'image et l'ID d'AMI dans le champ Image ID override.

    7. Choisissez Suivant.

    8. Pour la configuration du réseau, choisissez Next.

    9. Passez en revue les autres paramètres qui sont automatiquement copiés à partir de votre environnement existant.

    10. Choisissez Créer un environnement de calcul.

    11. Attendez que le nouvel état de l'environnement informatique soit atteintVALID.

  2. Modifier l'ordre de la file d'attente des tâches

    1. Dans le volet de navigation, choisissez Job queues.

    2. Sélectionnez la file d'attente de tâches associée à votre environnement informatique existant.

    3. Choisissez Modifier.

    4. Sous Environnement de calcul connecté, ajoutez le nouvel environnement de calcul :

      • Ajoutez le nouvel environnement informatique avec un numéro de commande supérieur à celui de l'environnement existant pour transférer la charge de travail.

      • Une fois que vous avez vérifié que le nouvel environnement fonctionne correctement, vous pouvez en faire l'environnement principal en lui attribuant un numéro de commande inférieur.

    5. Choisissez Mettre à jour la file d'attente des tâches.

  3. Nettoyage

    1. Surveillez l'exécution des tâches dans le nouvel environnement pour vous assurer que tout fonctionne comme prévu.

    2. Une fois que vous aurez confiance dans le nouvel environnement :

      1. Modifiez la file d'attente des tâches pour supprimer l'ancien environnement informatique.

      2. Attendez que toutes les tâches en cours dans l'ancien environnement soient terminées.

      3. Supprimez l'ancien environnement de calcul.

Performing blue/green updates using the AWS CLI
  1. Pour obtenir la configuration à l'aide de AWS CLI, utilisez la commande suivante :

    aws batch describe-compute-environments \ --compute-environments your-compute-environment-name

    Enregistrez la sortie pour référence lors de la création du nouvel environnement.

  2. Créez un nouvel environnement informatique en utilisant la configuration de votre environnement existant, mais avec la nouvelle AMI. Voici un exemple de structure de commande :

    Remplacez les valeurs d'exemple par votre configuration réelle de l'étape précédente :

    cat <<EOF > ./blue-green-compute-environment.json { "computeEnvironmentName": "your-new-compute-environment-name", "type": "MANAGED", "state": "ENABLED", "computeResources": { "instanceRole": "arn:aws:iam::012345678901:instance-profile/ecsInstanceRole", "type": "EC2", "minvCpus": 2, "desiredvCpus": 2, "maxvCpus": 256, "instanceTypes": [ "optimal" ], "allocationStrategy": "BEST_FIT_PROGRESSIVE", "ec2Configuration": [ { "imageType": "ECS_AL2023", "imageIdOverride": "ami-0abcdef1234567890" } ], "subnets": [, "subnet-0abcdef1234567890" ], "securityGroupIds": [ "sg-0abcdef1234567890" ] } } EOF
    $ aws batch create-compute-environment --cli-input-json file://./blue-green-compute-environment.json
  3. Attendez que le nouvel environnement soit disponible :

    aws batch describe-compute-environments \ --compute-environments your-new-compute-environment-name \ --query 'computeEnvironments[].status'
  4. Ajoutez le nouvel environnement informatique à votre file d'attente de tâches :

    aws batch update-job-queue \ --job-queue your-job-queue \ --compute-environment-order order=1,computeEnvironment=your-existing-environment \ order=2,computeEnvironment=your-new-compute-environment-name
  5. Une fois vérifié, effectuez une nouvelle mise à jour pour rendre le nouvel environnement principal :

    aws batch update-job-queue \ --job-queue your-job-queue \ --compute-environment-order order=1,computeEnvironment=your-new-compute-environment-name

    Une fois toutes les tâches terminées dans l'ancien environnement, désactivez-le puis supprimez-le :

    aws batch update-compute-environment \ --compute-environment your-existing-environment \ --state DISABLED
    aws batch delete-compute-environment \ --compute-environment your-existing-environment