Configuração de uma verificação de integridade personalizada para seu grupo do Auto Scaling
Você pode usar verificações de integridade personalizadas para complementar as opções de verificação de integridade existentes fornecidas pelo Amazon EC2 Auto Scaling. Ao combinar verificações de integridade personalizadas com outros tipos de verificação de integridade, é possível criar um sistema abrangente de monitoramento de integridade adaptado às necessidades da sua aplicação.
Para começar, crie testes personalizados para verificar se as instâncias em seu grupo do Auto Scaling estão funcionando corretamente e podem lidar com o tráfego de entrada. Se a verificação de integridade que você configurar detectar que uma instância não está respondendo, marque essa instância específica como Unhealthy, o que faz com que o Amazon EC2 Auto Scaling a substitua imediatamente.
Você pode enviar as informações de integridade da instância diretamente ao Amazon EC2 Auto Scaling usando a AWS CLI ou um SDK. Os exemplos a seguir mostram como usar o AWS CLI para configurar o status de funcionamento de uma instância e, em seguida, verificar o status de funcionamento da instância.
Use o comando set-instance-health.Unhealthy
aws autoscaling set-instance-health --instance-idi-1234567890abcdef0--health-statusUnhealthy
Por padrão, esse comando respeita o período de carência da verificação de integridade. Porém, é possível substituir esse comportamento e não respeitar o período de carência incluindo a opção--no-should-respect-grace-period.
Use o comando describe-auto-scaling-groupsUnhealthy.
aws autoscaling describe-auto-scaling-groups --auto-scaling-group-namesmy-asg
O exemplo a seguir é de uma resposta que mostra que o status de integridade da instância é Unhealthy e que a instância está sendo encerrada.
{
"AutoScalingGroups": [
{
....
"Instances": [
{
"ProtectedFromScaleIn": false,
"AvailabilityZone": "us-west-2a",
"LaunchTemplate": {
"LaunchTemplateName": "my-launch-template",
"Version": "1",
"LaunchTemplateId": "lt-1234567890abcdef0"
},
"InstanceId": "i-1234567890abcdef0",
"InstanceType": "t2.micro",
"HealthStatus": "Unhealthy",
"LifecycleState": "Terminating"
},
...
]
}
]
}