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á.
Separe ou anexe instâncias do seu grupo de Auto Scaling
Você pode separar instâncias do seu grupo de Auto Scaling. Depois que uma instância é desanexada, ela se torna independente e pode ser gerenciada sozinha ou anexada a um grupo diferente do Auto Scaling, separado do grupo original ao qual ela pertencia. Isso pode ser útil, por exemplo, quando você deseja realizar testes usando instâncias existentes que já estão executando seu aplicativo.
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 sobre a separação de instâncias
Ao separar instâncias, lembre-se dos seguintes pontos:
-
Você pode desanexar uma instância somente quando ela estiver no InService
estado.
-
Depois de desanexar uma instância, ela continua em execução e incorrendo em cobranças. Para evitar cobranças desnecessárias, reconecte ou encerre as instâncias desconectadas quando elas não forem mais necessárias.
-
Você pode optar por diminuir a capacidade desejada pelo número de instâncias que você 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á separando fizer com que o grupo de Auto Scaling fique abaixo de sua capacidade mínima, você deverá diminuir a capacidade mínima.
-
Se você separar várias instâncias da mesma zona de disponibilidade sem diminuir a capacidade desejada, o grupo se reequilibrará, 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ê 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 expansão 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 a adição das 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 AmazonEC2.
-
O AMI usado para iniciar a instância ainda deve existir.
-
A instância não é um membro de outro grupo do Auto Scaling.
-
A instância é iniciada em uma das zonas de disponibilidade definidas no grupo Auto Scaling.
-
Se o grupo Auto Scaling tiver um grupo-alvo de balanceador de carga anexado ou Classic Load Balancer, a instância e o balanceador de carga devem estar no mesmo. VPC
Mova uma instância para um grupo diferente usando desanexar e anexar
Use um dos procedimentos a seguir para separar uma instância do seu grupo de Auto Scaling e anexá-la a um grupo de Auto Scaling diferente.
Para criar um novo grupo de Auto Scaling a partir de uma instância separada, consulte Criar um grupo do Auto Scaling usando parâmetros de uma instância existente (não recomendado, cria uma configuração de execução).
- Console
-
Para separar uma instância de um grupo do Auto Scaling
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 diferente do Auto Scaling.
Para 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 Fechar e tente novamente com um grupo de Auto Scaling 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
com suas próprias informações.
Para separar uma instância de um grupo do Auto Scaling
-
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ê precisará desse ID na 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 desanexar uma instância sem diminuir a capacidade desejada, use o comando detach-instances a seguir.
aws autoscaling detach-instances --instance-ids i-05b4f7d5be44822a6
\
--auto-scaling-group-name my-asg
Para separar uma instância e diminuir a capacidade desejada, inclua a --should-decrement-desired-capacity
opção.
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 diferente do Auto Scaling.
Para anexar uma instância a um grupo do Auto Scaling
-
Para anexar a instância a um grupo diferente do Auto Scaling, use o comando attach-instances a seguir.
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"
}
],
...
}
]
}