View a markdown version of this page

Mise à l'échelle manuelle pour Amazon EC2 Auto Scaling - 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.

Mise à l'échelle manuelle pour Amazon EC2 Auto Scaling

Vous pouvez ajuster manuellement le nombre d'instances EC2 dans votre groupe Auto Scaling à tout moment. Ce processus de modification manuelle du nombre d'instances est appelé dimensionnement manuel. La mise à l'échelle manuelle est une alternative à la mise à l'échelle automatique, en particulier si vous souhaitez apporter des modifications de capacité ponctuelles.

Une fois que vous avez redimensionné manuellement votre groupe, Amazon EC2 Auto Scaling reprend les activités normales de dimensionnement automatique en fonction des politiques de dimensionnement et des actions planifiées que vous avez définies. Pour les groupes pour lesquels le préchauffage d'instance par défaut est activé, toutes les nouvelles instances passent par une période de préchauffage avant de commencer à contribuer aux mesures utilisées pour le dimensionnement automatique. Cette période d'échauffement aide à stabiliser le groupe à sa nouvelle capacité. Pour de plus amples informations, veuillez consulter Définir la préparation par défaut d'instance d'un groupe Auto Scaling.

Parfois, vous souhaiterez peut-être désactiver temporairement les politiques de dimensionnement et les actions planifiées avant de redimensionner manuellement un groupe. Cela évite les conflits entre les actions de dimensionnement manuelles et les activités de dimensionnement automatisées. Pour de plus amples informations, veuillez consulter Désactiver les activités de dimensionnement.

Changer la capacité souhaitée d’un groupe Auto Scaling existant

Lorsque vous modifiez la capacité souhaitée de votre groupe Auto Scaling, Amazon EC2 Auto Scaling gère le processus de lancement et de fermeture des instances pour atteindre la nouvelle taille souhaitée.

Console
Pour modifier la taille de votre groupe Auto Scaling
  1. Ouvrez la console Amazon EC2 à l'adresse https://console.aws.amazon.com/ec2/ et choisissez Auto Scaling Groups dans le volet de navigation.

  2. Cochez la case située en regard de votre groupe Auto Scaling.

    Un volet divisé s'affiche en bas de la page.

  3. Sous l'onglet Details (Détails) choisissez Group details (Détails du groupe), Edit (Modifier).

  4. Pour Capacité souhaitée, augmentez ou diminuez la capacité souhaitée. Par exemple, pour augmenter la taille du groupe d'une unité, si la valeur actuelle est1, entrez2.

    Si votre nouvelle valeur pour la capacité souhaitée est supérieure à la capacité minimale souhaitée et à la capacité maximale souhaitée, la capacité maximale souhaitée est automatiquement augmentée à la nouvelle valeur de capacité souhaitée.

  5. Une fois que vous avez terminé, choisissez Update (Mettre à jour).

Vérifiez que la taille de groupe que vous avez spécifiée a entraîné le lancement du même nombre d'instances. Par exemple, si vous avez augmenté la taille du groupe d'une unité, vérifiez que votre groupe Auto Scaling a lancé une instance supplémentaire.

Pour vérifier que la taille du groupe Auto Scaling a changé
  1. Dans l'onglet Activité, dans l'historique des activités, vous pouvez consulter la progression des activités associées au groupe Auto Scaling. La colonne Status (État) affiche l'état actuel de votre instance. Lorsqu'une instance est en cours de lancement, son statut est Not yet in service. Le statut passe à Successful, après le lancement de l'instance. Vous pouvez également utiliser l'icône d'actualisation pour voir l'état actuel de votre instance. Pour de plus amples informations, veuillez consulter Vérifier une activité de mise à l'échelle pour un groupe Auto Scaling.

  2. Dans l'onglet Gestion des instances, dans Instances, vous pouvez consulter l'état de l'instance. Il suffit de peu de temps pour lancer une instance.

    • La colonne Lifecycle (Cycle de vie) affiche l'état de votre instance. Initialement, votre instance est à l'état Pending. Lorsqu'une instance est prête à recevoir du trafic, son statut passe à InService.

    • La colonne État de santé affiche le résultat des contrôles de santé d'Amazon EC2 Auto Scaling sur votre instance.

AWS CLI

L'exemple suivant suppose que vous avez créé un groupe Auto Scaling avec une taille minimum de 1 et maximum de 5. Par conséquent, le groupe dispose actuellement d'une seule instance en cours d'exécution.

Pour modifier la taille de votre groupe Auto Scaling

Utilisez la commande set-desired-capacity pour modifier la taille du groupe Auto Scaling, comme illustré dans l'exemple suivant.

aws autoscaling set-desired-capacity --auto-scaling-group-name my-asg \ --desired-capacity 2

Si vous choisissez de respecter le temps de stabilisation par défaut pour votre groupe Auto Scaling, vous devez spécifier l'option –-honor-cooldown, comme illustré dans l'exemple suivant. Pour de plus amples informations, veuillez consulter Temps de stabilisation de la mise à l'échelle d'Amazon EC2 Auto Scaling.

aws autoscaling set-desired-capacity --auto-scaling-group-name my-asg \ --desired-capacity 2 --honor-cooldown
Pour vérifier la taille de votre groupe Auto Scaling

Utilisez la commande describe-auto-scaling-groups pour confirmer que la taille du groupe Auto Scaling a changé, comme illustré dans l'exemple suivant :

aws autoscaling describe-auto-scaling-groups --auto-scaling-group-name my-asg

Voici un exemple de sortie, qui fournit des détails sur le groupe et les instances lancés.

{ "AutoScalingGroups": [ { "AutoScalingGroupName": "my-asg", "AutoScalingGroupARN": "arn", "LaunchTemplate": { "LaunchTemplateName": "my-launch-template", "Version": "1", "LaunchTemplateId": "lt-050555ad16a3f9c7f" }, "MinSize": 1, "MaxSize": 5, "DesiredCapacity": 2, "DefaultCooldown": 300, "AvailabilityZones": [ "us-west-2a" ], "LoadBalancerNames": [], "TargetGroupARNs": [], "HealthCheckType": "EC2", "HealthCheckGracePeriod": 300, "Instances": [ { "ProtectedFromScaleIn": false, "AvailabilityZone": "us-west-2a", "LaunchTemplate": { "LaunchTemplateName": "my-launch-template", "Version": "1", "LaunchTemplateId": "lt-050555ad16a3f9c7f" }, "InstanceId": "i-05b4f7d5be44822a6", "InstanceType": "t3.micro", "HealthStatus": "Healthy", "LifecycleState": "Pending" }, { "ProtectedFromScaleIn": false, "AvailabilityZone": "us-west-2a", "LaunchTemplate": { "LaunchTemplateName": "my-launch-template", "Version": "1", "LaunchTemplateId": "lt-050555ad16a3f9c7f" }, "InstanceId": "i-0c20ac468fa3049e8", "InstanceType": "t3.micro", "HealthStatus": "Healthy", "LifecycleState": "InService" } ], "CreatedTime": "2019-03-18T23:30:42.611Z", "SuspendedProcesses": [], "VPCZoneIdentifier": "subnet-c87f2be0", "EnabledMetrics": [], "Tags": [], "TerminationPolicies": [ "Default" ], "NewInstancesProtectedFromScaleIn": false, "ServiceLinkedRoleARN": "arn", "TrafficSources": [] } ] }

Notez que DesiredCapacity affiche la nouvelle valeur. Le groupe Auto Scaling a lancé une instance supplémentaire.

Mettez fin aux instances de votre groupe Auto Scaling (AWS CLI)

Il peut arriver que vous souhaitiez redimensionner manuellement votre groupe Auto Scaling tout en mettant fin à des instances spécifiques. Vous pouvez mettre fin à une ou plusieurs instances à l'aide de la commande https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/terminate-instance-in-auto-scaling-group.html terminate-instance-in-auto-scaling-group.

Pour mettre fin à une seule instance, spécifiez l'ID de l'instance à l'aide de l'--instance-id--should-decrement-desired-capacityoption et de l'option, comme indiqué dans l'exemple suivant.

aws autoscaling terminate-instance-in-auto-scaling-group \ --instance-id i-026e4c9f62c3e448c --should-decrement-desired-capacity

Voici un exemple de sortie, qui fournit des détails sur l'activité de mise à l'échelle.

{ "Activities": [ { "ActivityId": "b8d62b03-10d8-9df4-7377-e464ab6bd0cb", "AutoScalingGroupName": "my-asg", "Description": "Terminating EC2 instance: i-026e4c9f62c3e448c", "Cause": "At 2023-09-23T06:39:59Z instance i-026e4c9f62c3e448c was taken out of service in response to a user request, shrinking the capacity from 1 to 0.", "StartTime": "2023-09-23T06:39:59.015000+00:00", "StatusCode": "InProgress", "Progress": 0, "Details": "{\"Subnet ID\":\"subnet-6194ea3b\",\"Availability Zone\":\"us-west-2c\"}" } ] }

Pour mettre fin à plusieurs instances en une seule demande, spécifiez les ID d'instance à l'aide de l'--instance-idsoption et spécifiez le groupe à l'aide de l'--auto-scaling-group-nameoption. Vous pouvez mettre fin à un maximum de 100 instances par demande. L'exemple suivant met fin à trois instances.

aws autoscaling terminate-instance-in-auto-scaling-group \ --instance-ids i-061c63c5eb45f0416 i-0b11f4eb2b3e987df i-09b21afe8ef4dab66 \ --auto-scaling-group-name my-asg \ --should-decrement-desired-capacity

Voici un exemple de sortie.

{ "Activities": [ { "ActivityId": "a1b2c3d4-e5f6-7890-abcd-111111111111", "AutoScalingGroupName": "my-asg", "Description": "Terminating EC2 instance: i-061c63c5eb45f0416", "Cause": "At 2024-01-15T10:30:00Z instance i-061c63c5eb45f0416 was taken out of service in response to a user request, shrinking the capacity from 5 to 4.", "StartTime": "2024-01-15T10:30:00.000000+00:00", "StatusCode": "InProgress", "Progress": 0, "Details": "{\"Subnet ID\":\"subnet-6194ea3b\",\"Availability Zone\":\"us-west-2a\"}" }, { "ActivityId": "a1b2c3d4-e5f6-7890-abcd-222222222222", "AutoScalingGroupName": "my-asg", "Description": "Terminating EC2 instance: i-0b11f4eb2b3e987df", "Cause": "At 2024-01-15T10:30:00Z instance i-0b11f4eb2b3e987df was taken out of service in response to a user request, shrinking the capacity from 4 to 3.", "StartTime": "2024-01-15T10:30:00.000000+00:00", "StatusCode": "InProgress", "Progress": 0, "Details": "{\"Subnet ID\":\"subnet-6194ea3b\",\"Availability Zone\":\"us-west-2b\"}" }, { "ActivityId": "a1b2c3d4-e5f6-7890-abcd-333333333333", "AutoScalingGroupName": "my-asg", "Description": "Terminating EC2 instance: i-09b21afe8ef4dab66", "Cause": "At 2024-01-15T10:30:00Z instance i-09b21afe8ef4dab66 was taken out of service in response to a user request, shrinking the capacity from 3 to 2.", "StartTime": "2024-01-15T10:30:00.000000+00:00", "StatusCode": "InProgress", "Progress": 0, "Details": "{\"Subnet ID\":\"subnet-6194ea3b\",\"Availability Zone\":\"us-west-2c\"}" } ] }

Lorsque vous utilisez la terminaison par lots, notez les comportements suivants :

  • Vous pouvez spécifier jusqu'à 100 instances par demande.

  • Toutes les instances doivent appartenir au groupe Auto Scaling que vous spécifiez--auto-scaling-group-name.

  • Si la validation d'une instance échoue, la totalité de la demande est rejetée et aucune instance n'est résiliée.

  • Vous ne pouvez pas spécifier --instance-id les deux --instance-ids dans la même demande.

  • Les hooks Lifecycle se déclenchent pour chaque instance du lot.

Cette option n’est pas disponible dans la console. Vous pouvez toutefois utiliser la page Instances de la console Amazon EC2 pour mettre fin à une instance de votre groupe Auto Scaling. Dans ce cas, Amazon EC2 Auto Scaling détecte que l'instance n'est plus en cours d'exécution et la remplace automatiquement dans le cadre du processus de contrôle de santé. Une minute ou deux s'écoulent entre la fin de l'instance et le lancement d'une nouvelle instance. Pour plus d'informations sur la manière de mettre fin à une instance, consultez la section Mettre fin à une instance dans le guide de l'utilisateur Amazon EC2.

Si vous mettez fin à des instances de votre groupe et que cela entraîne une répartition inégale entre les zones de disponibilité, Amazon EC2 Auto Scaling rééquilibre le groupe pour rétablir une distribution uniforme, sauf si vous suspendez le processus. AZRebalance Pour de plus amples informations, veuillez consulter Suspendre et reprendre les processus Amazon EC2 Auto Scaling.