Remplacer les volumes racines lors de l'actualisation de l'instance - Amazon EC2 Auto Scaling

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.

Remplacer les volumes racines lors de l'actualisation de l'instance

Comment ça marche

Le remplacement du volume racine met à jour vos instances en remplaçant uniquement le volume EBS racine tout en maintenant l'instance en cours d'exécution. Cela élimine le besoin de lancer de nouvelles instances et évite d'éventuelles contraintes de capacité. Ce processus préserve toutes les autres ressources de l'instance, notamment :

  • Interfaces réseau et adresses IP

  • Volumes EBS autres que root

  • Volumes et données de stockage d'instance

  • Groupes de sécurité et rôles IAM

Pendant le remplacement du volume racine, votre application continue de s'exécuter sur l'instance existante. Le volume racine d'origine est détaché, un nouveau volume racine est créé à partir de l'AMI que vous avez spécifiée, puis attaché à la même instance. Les volumes racine d'origine sont automatiquement supprimés après un remplacement réussi.

Lorsque vous utilisez la stratégie de remplacement du volume racine, les instances passent par les états de cycle de vie suivants :

  1. ReplacingRootVolume- Le remplacement du volume racine commence

  2. ReplacingRootVolume:Wait- Attend la fin du cycle de vie du hook (si configuré)

  3. ReplacingRootVolume:Proceed- Procède du remplacement

  4. RootVolumeReplaced- Le remplacement a été effectué avec succès

Une fois le remplacement du volume racine terminé, Auto Scaling effectue des contrôles de santé sur les instances mises à jour. Si le remplacement du volume racine échoue pour une instance, Auto Scaling marque cette instance pour arrêt et la remplace par une nouvelle instance.

Exigences

  • Votre groupe Auto Scaling doit utiliser une politique d'instances mixtes

  • Toutes les dérogations prévues dans la politique des instances mixtes doivent spécifier un ImageId

  • AMIs ne doit contenir qu'un seul volume racine

  • Toutes les instances doivent correspondre à la configuration du modèle de lancement du groupe

  • Vous devez démarrer l'actualisation de l'instance avec la configuration souhaitée comportant une politique d'instances mixtes contenant des ImageId remplacements.

Lancer une actualisation d'instance avec Replace Root Volume

Pour démarrer l'actualisation d'une instance avec Replace Root Volume (AWS CLI)

Utilisez la start-instance-refreshcommande suivante pour démarrer une actualisation d'instance à partir du AWS CLI. Vous pouvez spécifier les préférences que vous souhaitez modifier dans un fichier de configuration JSON. Lorsque vous référencez le fichier de configuration, indiquez le chemin d'accès et le nom du fichier comme indiqué dans l'exemple suivant.

aws autoscaling start-instance-refresh --cli-input-json file://config.json

Contenu de config.json :

{ "AutoScalingGroupName": "my-asg", "Strategy" : "ReplaceRootVolume", "DesiredConfiguration":{ "MixedInstancesPolicy":{ "LaunchTemplate": { "LaunchTemplateSpecification": { "LaunchTemplateId":"my-launch-template", "Version": "1" }, "Overrides": [ { "InstanceType":"c5.large", "ImageId":"ami-1234example" }, { "InstanceType":"m5.large", "ImageId":"ami-2345example" } ] } } }, "Preferences": { "InstanceWarmup": 60, "MinHealthyPercentage": 90, "AutoRollback": true, "ScaleInProtectedInstances": Ignore, "StandbyInstances": Ignore } }

Si les préférences ne sont pas fournies, les valeurs par défaut sont utilisées. Pour de plus amples informations, veuillez consulter Comprendre les valeurs par défaut d'une actualisation d'instance.

Exemple de sortie :

{ "InstanceRefreshId": "08b91cf7-8fa6-48af-b6a6-d227f40f1b9b" }

Limitations

  • Vous ne pouvez pas démarrer une actualisation d'instance avec Replace Root Volume si le groupe EC2 Auto Scaling ou la configuration d'actualisation d'instance souhaitée utilise la version du modèle $Latest ou du modèle de $Default lancement.

  • Vous ne pouvez pas démarrer une actualisation d'instance avec Replace Root Volume sur un groupe Amazon EC2 Auto Scaling s'il contient des instances dont le type d'instance n'est pas présent dans la politique relative aux instances mixtes.

  • Lors d'une actualisation d'instance avec Replace Root Volume, vous ne pouvez associer que des instances dont les types sont présents dans la politique d'instances mixtes de la configuration souhaitée.

  • Vous ne pouvez pas démarrer une actualisation d'instance avec Replace Root Volume sur un groupe EC2 Auto Scaling doté d'un pool de chaleur.

  • Vous ne pouvez pas ajouter un pool de chaleur à un groupe Amazon EC2 Auto Scaling dont l'instance est actualisée activement avec Replace Root Volume.