As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Desvincular instâncias do seu grupo do Auto Scaling
Você pode desvincular instâncias do seu grupo do Auto Scaling. Depois que uma instância é desanexada, ela se torna independente e pode ser gerenciada por conta própria ou anexada a um grupo do Auto Scaling diferente, separado do grupo original ao qual pertencia. Isso pode ser útil, por exemplo, quando você deseja realizar testes usando instâncias existentes que já estão executando a aplicação.
Este tópico fornece instruções sobre como desanexar e anexar instâncias. Ao anexar instâncias, você também pode usar uma instância existente em vez de uma desanexada.
Em vez de desanexar e reanexar uma instância ao mesmo grupo, recomendamos usar o procedimento de espera para remover temporariamente a instância do grupo. Para obter mais informações, consulte Remover temporiamente instâncias do grupo do Auto Scaling.
Considerações para desanexar instâncias
Ao desanexar instâncias, tenha em mente estes pontos:
-
Você pode desanexar uma instância somente quando ela estiver no estado InService
.
-
Depois que você desanexar uma instância, ela continuará em execução e incorrendo em cobranças. Para evitar cobranças desnecessárias, certifique-se de reanexar ou encerrar as instâncias desanexadas quando elas não forem mais necessárias.
-
Você pode optar por diminuir a capacidade desejada pelo número de instâncias que está desanexando. Se você optar por não diminuir a capacidade, o Amazon EC2 Auto Scaling lançará novas instâncias para substituir as desconectadas e manter a capacidade desejada.
-
Se o número de instâncias que você está desanexando reduzirá o grupo de Auto Scaling abaixo de sua capacidade mínima, você deve diminuir a capacidade mínima.
-
Se você desanexar várias instâncias da mesma Zona de Disponibilidade sem diminuir a capacidade desejada, o grupo se reequilibrará automaticamente, a menos que você suspenda o processo da AZRebalance
. Para obter mais informações, consulte Suspender e retomar os processos do Amazon EC2 Auto Scaling.
-
Se você desvincular uma instância de 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á cancelada no balanceador de carga. Se a drenagem da conexão (atraso no cancelamento do registro) estiver habilitada para seu load balancer, o Amazon Auto Scaling aguardará a conclusão das EC2 solicitações em voo.
Se você estiver desanexando instâncias que estão no estado Standby
, adote cautela. A tentativa de desanexar instâncias após colocá-las no estado Standby
pode fazer com que outras instâncias sejam encerradas inesperadamente.
Considerações para anexar instâncias
Observe o seguinte ao anexar instâncias:
-
O Amazon EC2 Auto Scaling trata as instâncias anexadas da mesma forma que as instâncias lançadas pelo próprio grupo. Isso significa que as instâncias anexadas podem ser encerradas durante eventos de redução da escala horizontalmente se forem selecionadas. As permissões concedidas pelo AWSServiceRoleForAutoScaling a função vinculada ao serviço permite que o Amazon Auto EC2 Scaling faça isso.
-
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 a capacidade desejada após adicionar novas instâncias exceder o tamanho máximo do grupo, a solicitação para anexar mais instâncias falhará.
-
Se você adicionar instâncias ao seu grupo causando uma distribuição desigual entre as zonas de disponibilidade, o Amazon EC2 Auto Scaling reequilibra o grupo para restabelecer uma distribuição uniforme, a menos que você suspenda o processo. AZRebalance
Para obter mais informações, consulte Suspender e retomar os processos do Amazon EC2 Auto Scaling.
-
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 running
estado com a 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 no 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.
Mover uma instância para um grupo diferente usando desanexar e anexar
Use um dos procedimentos a seguir para desanexar uma instância do seu grupo do Auto Scaling e anexá-la a um grupo diferente do Auto Scaling.
Para criar um novo grupo do Auto Scaling a partir de uma instância desanexada, consulte Crie um grupo de Auto Scaling a partir de uma instância existente usando o AWS CLI (não recomendado, cria uma configuração de inicialização).
- Console
-
Para desvincular uma instância de um grupo do Auto Scaling existente
Abra o EC2 console da Amazon em https://console.aws.amazon.com/ec2/e escolha Auto Scaling Groups no painel de navegação.
-
Marque a caixa de seleção ao lado do seu grupo do Auto Scaling.
Um painel dividido é aberto na parte inferior da página.
-
Na guia Instance management (Gerenciamento de instâncias), em Instances (Instâncias), selecione uma instância e escolha Actions (Ações) e Detach (Desvincular).
-
Na caixa de diálogo Desanexar instância, mantenha a caixa de seleção Substituir instância marcada para iniciar uma instância substituta. Desmarque a caixa de seleção para diminuir a capacidade desejada.
-
Quando a confirmação for solicitada, digite detach
para confirmar a exclusão da instância especificada do grupo do Auto Scaling e, em seguida, escolha Desvincular instância.
Agora você pode anexar a instância a um grupo do Auto Scaling diferente.
Como anexar uma instância a um grupo do Auto Scaling
Abra o EC2 console da Amazon 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 um Grupo de Auto Scaling a que atenda aos critérios.
- AWS CLI
-
Para desanexar e anexar uma instância, use os comandos de exemplo a seguir. Substitua cada user input placeholder
por suas próprias informações.
Para desvincular uma instância de um grupo do Auto Scaling existente
-
Para descrever as instâncias atuais, use o describe-auto-scaling-instancescomando a seguir.
aws autoscaling describe-auto-scaling-instances \
--query 'AutoScalingInstances[?AutoScalingGroupName==`my-asg
`]'
O exemplo a seguir mostra a saída produzida quando você executa esse comando.
Anote o ID da instância que você pretende remover do grupo. Você precisa desse ID para a próxima etapa.
{
"AutoScalingInstances": [
{
"ProtectedFromScaleIn": false,
"AvailabilityZone": "us-west-2a",
"LaunchTemplate": {
"LaunchTemplateName": "my-launch-template",
"Version": "1",
"LaunchTemplateId": "lt-050555ad16a3f9c7f"
},
"InstanceId": "i-05b4f7d5be44822a6",
"InstanceType": "t3.micro",
"AutoScalingGroupName": "my-asg",
"HealthStatus": "HEALTHY",
"LifecycleState": "InService"
},
{
"ProtectedFromScaleIn": false,
"AvailabilityZone": "us-west-2a",
"LaunchTemplate": {
"LaunchTemplateName": "my-launch-template",
"Version": "1",
"LaunchTemplateId": "lt-050555ad16a3f9c7f"
},
"InstanceId": "i-0c20ac468fa3049e8",
"InstanceType": "t3.micro",
"AutoScalingGroupName": "my-asg",
"HealthStatus": "HEALTHY",
"LifecycleState": "InService"
},
{
"ProtectedFromScaleIn": false,
"AvailabilityZone": "us-west-2a",
"LaunchTemplate": {
"LaunchTemplateName": "my-launch-template",
"Version": "1",
"LaunchTemplateId": "lt-050555ad16a3f9c7f"
},
"InstanceId": "i-0787762faf1c28619",
"InstanceType": "t3.micro",
"AutoScalingGroupName": "my-asg",
"HealthStatus": "HEALTHY",
"LifecycleState": "InService"
},
{
"ProtectedFromScaleIn": false,
"AvailabilityZone": "us-west-2a",
"LaunchTemplate": {
"LaunchTemplateName": "my-launch-template",
"Version": "1",
"LaunchTemplateId": "lt-050555ad16a3f9c7f"
},
"InstanceId": "i-0f280a4c58d319a8a",
"InstanceType": "t3.micro",
"AutoScalingGroupName": "my-asg",
"HealthStatus": "HEALTHY",
"LifecycleState": "InService"
}
]
}
-
Para desvincular uma instância e reduzir a capacidade desejada usando o seguinte comando detach-instances.
aws autoscaling detach-instances --instance-ids i-05b4f7d5be44822a6
\
--auto-scaling-group-name my-asg
Para desanexar uma instância e diminuir a capacidade desejada, inclua a opção --should-decrement-desired-capacity
.
aws autoscaling detach-instances --instance-ids i-05b4f7d5be44822a6
\
--auto-scaling-group-name my-asg
--should-decrement-desired-capacity
Agora você pode anexar a instância a um grupo do Auto Scaling diferente.
Como anexar uma instância a um grupo do Auto Scaling
-
Para anexar uma instância ao grupo do Auto Scaling use o seguinte comando attach-instances.
aws autoscaling attach-instances --instance-ids i-05b4f7d5be44822a6
--auto-scaling-group-name my-asg-for-testing
-
Para verificar o tamanho do grupo Auto Scaling depois de anexar uma instância, use o comando a seguir. describe-auto-scaling-groups
aws autoscaling describe-auto-scaling-groups --auto-scaling-group-names my-asg-for-testing
O exemplo de resposta a seguir mostra que o grupo tem duas instâncias em execução, uma das quais é a instância que você anexou.
{
"AutoScalingGroups": [
{
"AutoScalingGroupName": "my-asg-for-testing",
"AutoScalingGroupARN": "arn
",
"LaunchTemplate": {
"LaunchTemplateName": "my-launch-template",
"Version": "2",
"LaunchTemplateId": "lt-050555ad16a3f9c7f"
},
"MinSize": 1,
"MaxSize": 5,
"DesiredCapacity": 2,
...
"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": "InService"
},
{
"ProtectedFromScaleIn": false,
"AvailabilityZone": "us-west-2a",
"LaunchTemplate": {
"LaunchTemplateName": "my-launch-template",
"Version": "2",
"LaunchTemplateId": "lt-050555ad16a3f9c7f"
},
"InstanceId": "i-00dcdfffdf5175890",
"InstanceType": "t3.micro",
"HealthStatus": "Healthy",
"LifecycleState": "InService"
}
],
...
}
]
}