Anexar instâncias do EC2 a seu grupo do Auto Scaling
O Amazon EC2 Auto Scaling oferece a opção de anexar uma ou mais instâncias do EC2 aos seu grupo existente do Auto Scaling. Depois que uma instância é anexada, ela é considerada parte do grupo do Auto Scaling.
Ao anexar as instâncias, considere o seguinte:
-
Quando você anexa instâncias, a capacidade desejada do grupo aumente de acordo com o número de instâncias que estão sendo anexadas. Se o número de instâncias que estão sendo conectadas mais a capacidade desejada exceder o tamanho máximo do grupo, a solicitação falha.
-
Se você anexar uma instância a um grupo do Auto Scaling que tenha um grupo de destino de balanceador de carga ou um Classic Load Balancer anexado, a instância será registrada no balanceador de carga.
Para que uma instância seja anexada, ela deve atender aos seguintes critérios:
-
A instância está no estado
running
com o Amazon EC2. -
A AMI usada para ativar a instância ainda deve existir.
-
A instância não é um membro de outro grupo do Auto Scaling.
-
A instância é executada em uma das zonas de disponibilidade definidas em seu grupo do Auto Scaling.
-
Se o grupo do Auto Scaling tiver um grupo de destino de balanceador de carga ou Classic Load Balancer anexado, a instância e o balanceador de carga deverão estar ambos na mesma VPC.
Anexar uma instância (console)
Siga o procedimento a seguir para desanexar uma instância de seu grupo do Auto Scaling.
Para anexar uma instância a um grupo do Auto Scaling existente
Abra o console do Amazon EC2 em https://console.aws.amazon.com/ec2/
. -
(Opcional) No painel de navegação, em Auto Scaling, escolha Grupos do Auto Scaling. Selecione o grupo do Auto Scaling e verifique se o tamanho máximo do grupo do Auto Scaling é grande o suficiente para que você possa adicionar outra instância. Caso contrário, na guia Detalhes aumente a capacidade máxima.
-
No painel de navegação, em Instances (Instâncias), escolha Instances (Instâncias) e selecione uma instância.
-
Escolha Actions (Ações), Instance settings (Configurações da instância), Attach to Auto Scaling Group (Anexar ao grupo do Auto Scaling).
-
Na página Attach to Auto Scaling group (Anexar ao grupo do Auto Scaling), em Auto Scaling Group (Grupo do Auto Scaling), selecione o grupo do Auto Scaling e, em seguida, escolha Attach (Anexar).
-
Se a instância não atender aos critérios, você receberá uma mensagem de erro com os detalhes. Por exemplo, a instância pode não estar na mesma zona de disponibilidade que o grupo do Auto Scaling. Escolha Close (Fechar) e tente novamente com uma instância que atenda aos critérios.
Anexar uma instância (AWS CLI)
Siga o procedimento a seguir para desanexar uma instância de seu grupo do Auto Scaling.
Os exemplos usam um grupo do Auto Scaling com a seguinte configuração:
-
Nome do grupo do Auto Scaling = my-asg
-
Tamanho mínimo = 1
-
Tamanho máximo = 5
-
Capacidade desejada = 2
Para anexar uma instância a um grupo do Auto Scaling
-
Descreva um determinado grupo do Auto Scaling usando o seguinte comando describe-auto-scaling-groups.
aws autoscaling describe-auto-scaling-groups --auto-scaling-group-names
my-asg
O exemplo de resposta a seguir mostra que a capacidade desejada é 2 e que o grupo tem duas instâncias em execução.
{ "AutoScalingGroups": [ { "AutoScalingGroupARN": "arn", "ServiceLinkedRoleARN": "arn", "TargetGroupARNs": [], "SuspendedProcesses": [], "LaunchTemplate": { "LaunchTemplateName": "my-launch-template", "Version": "1", "LaunchTemplateId": "lt-050555ad16a3f9c7f" }, "Tags": [], "EnabledMetrics": [], "LoadBalancerNames": [], "AutoScalingGroupName": "my-asg", "DefaultCooldown": 300, "MinSize": 1, "Instances": [ { "ProtectedFromScaleIn": false, "AvailabilityZone": "us-west-2a", "LaunchTemplate": { "LaunchTemplateName": "my-launch-template", "Version": "1", "LaunchTemplateId": "lt-050555ad16a3f9c7f" }, "InstanceId": "i-05b4f7d5be44822a6", "HealthStatus": "Healthy", "LifecycleState": "Pending" }, { "ProtectedFromScaleIn": false, "AvailabilityZone": "us-west-2a", "LaunchTemplate": { "LaunchTemplateName": "my-launch-template", "Version": "1", "LaunchTemplateId": "lt-050555ad16a3f9c7f" }, "InstanceId": "i-0c20ac468fa3049e8", "HealthStatus": "Healthy", "LifecycleState": "InService" } ], "MaxSize": 5, "VPCZoneIdentifier": "subnet-c87f2be0", "HealthCheckGracePeriod": 300, "TerminationPolicies": [ "Default" ], "CreatedTime": "2019-03-18T23:30:42.611Z", "AvailabilityZones": [ "us-west-2a" ], "HealthCheckType": "EC2", "NewInstancesProtectedFromScaleIn": false, "DesiredCapacity": 2 } ] }
-
Anexe uma instância ao grupo do Auto Scaling usando o seguinte comando attach-instances.
aws autoscaling attach-instances --instance-ids
i-0787762faf1c28619
--auto-scaling-group-namemy-asg
-
Para verificar se a instância está anexada, use o seguinte comando describe-auto-scaling-groups.
aws autoscaling describe-auto-scaling-groups --auto-scaling-group-names
my-asg
O exemplo de resposta a seguir mostra que a capacidade desejada aumentou em 1 instância (para a nova capacidade de 3) e que há uma nova instância,
i-0787762faf1c28619
,{ "AutoScalingGroups": [ { "AutoScalingGroupARN": "arn", "ServiceLinkedRoleARN": "arn", "TargetGroupARNs": [], "SuspendedProcesses": [], "LaunchTemplate": { "LaunchTemplateName": "my-launch-template", "Version": "1", "LaunchTemplateId": "lt-050555ad16a3f9c7f" }, "Tags": [], "EnabledMetrics": [], "LoadBalancerNames": [], "AutoScalingGroupName": "my-asg", "DefaultCooldown": 300, "MinSize": 1, "Instances": [ { "ProtectedFromScaleIn": false, "AvailabilityZone": "us-west-2a", "LaunchTemplate": { "LaunchTemplateName": "my-launch-template", "Version": "1", "LaunchTemplateId": "lt-050555ad16a3f9c7f" }, "InstanceId": "i-05b4f7d5be44822a6", "HealthStatus": "Healthy", "LifecycleState": "Pending" }, { "ProtectedFromScaleIn": false, "AvailabilityZone": "us-west-2a", "LaunchTemplate": { "LaunchTemplateName": "my-launch-template", "Version": "1", "LaunchTemplateId": "lt-050555ad16a3f9c7f" }, "InstanceId": "i-0c20ac468fa3049e8", "HealthStatus": "Healthy", "LifecycleState": "InService" }, { "ProtectedFromScaleIn": false, "AvailabilityZone": "us-west-2a", "LaunchTemplate": { "LaunchTemplateName": "my-launch-template", "Version": "1", "LaunchTemplateId": "lt-050555ad16a3f9c7f" }, "InstanceId": "i-0787762faf1c28619", "HealthStatus": "Healthy", "LifecycleState": "InService" } ], "MaxSize": 5, "VPCZoneIdentifier": "subnet-c87f2be0", "HealthCheckGracePeriod": 300, "TerminationPolicies": [ "Default" ], "CreatedTime": "2019-03-18T23:30:42.611Z", "AvailabilityZones": [ "us-west-2a" ], "HealthCheckType": "EC2", "NewInstancesProtectedFromScaleIn": false, "DesiredCapacity": 3 } ] }