REL06-BP04 Automatizar respostas (processamento e alarmes em tempo real) - Pilar Confiabilidade

REL06-BP04 Automatizar respostas (processamento e alarmes em tempo real)

Use a automação para executar uma ação quando um evento é detectado, por exemplo, para substituir componentes com falha.

O processamento automatizado de alarmes em tempo real é implementado para que os sistemas possam tomar medidas corretivas rapidamente e tentar evitar falhas ou degradação dos serviços quando os alarmes são acionados. As respostas automatizadas a alarmes podem incluir a substituição de componentes com falha, o ajuste da capacidade computacional, o redirecionamento do tráfego para hosts, zonas de disponibilidade ou outras regiões íntegras e a notificação dos operadores.

Resultado desejado: os alarmes em tempo real são identificados e o processamento automatizado dos alarmes é configurado para invocar as ações apropriadas tomadas para manter os objetivos de nível de serviço e os contratos de nível de serviço (SLAs). A automação pode variar de atividades de autorrecuperação de componentes individuais a failover de todo o site.

Práticas comuns que devem ser evitadas:

  • Não ter um inventário ou catálogo claro dos principais alarmes em tempo real.

  • Não haver respostas automatizadas para alarmes essenciais (por exemplo, quando a computação está quase esgotada, ocorre o ajuste de escala automático).

  • Usar ações contraditórias de resposta a alarmes.

  • Não haver procedimentos operacionais padrão (SOPs) para os operadores seguirem ao receberem notificações de alerta.

  • Não monitorar as alterações da configuração, pois alterações não detectadas podem causar tempo de inatividade nas workloads.

  • Não haver uma estratégia para desfazer alterações não intencionais da configuração.

Benefícios de implementar esta prática recomendada: automatizar o processamento de alarmes pode melhorar a resiliência do sistema. O sistema executa ações corretivas automaticamente, reduzindo as atividades manuais que permitem intervenções humanas sujeitas a erros. A workload opera, atende às metas de disponibilidade e reduz a interrupção do serviço.

Nível de risco exposto se esta prática recomendada não for estabelecida: Médio

Orientação para implementação

Para gerenciar alertas com eficiência e automatizar as respectivas respostas, categorize os alertas com base em sua criticidade e impacto, documente os procedimentos de resposta e planeje as respostas antes das tarefas de classificação.

Identifique tarefas que exigem ações específicas (geralmente detalhadas em runbooks) e examine todos os runbooks e playbooks para determinar as tarefas que podem ser automatizadas. Geralmente, se for possível definir ações, elas poderão ser automatizadas. Se não for possível automatizar as ações, documente as etapas manuais em um SOP e treine os operadores a respeito. Conteste continuamente os processos manuais em busca de oportunidades de automação em que seja possível estabelecer e manter um plano para automatizar as respostas a alertas.

Etapas de implementação

  1. Crie um inventário de alarmes: para obter uma lista de todos os alarmes, é possível usar a AWS CLI com o comando describe-alarms do Amazon CloudWatch. Dependendo de quantos alarmes você configurou, talvez seja necessário usar a paginação para recuperar um subconjunto de alarmes para cada chamada ou, alternativamente, você pode usar o AWS SDK para obter os alarmes usando uma chamada de API.

  2. Documente todas as ações de alarme: atualize um runbook com todos os alarmes e suas ações, independentemente de serem manuais ou automatizados. O AWS Systems Manager fornece runbooks predefinidos. Para obter informações sobre como usar runbooks, consulte Trabalhado com runbooks. Para obter detalhes sobre como visualizar o conteúdo do runbook, consulte Visualizar o conteúdo do runbook.

  3. Configure e gerencie ações de alarme: para qualquer um dos alarmes que exijam uma ação, especifique a ação automatizada usando o SDK do CloudWatch. Por exemplo, é possível alterar o estado das instâncias do Amazon EC2 automaticamente com base em um alarme do CloudWatch criando e ativando ações em um alarme ou desativando ações em um alarme.

    Também é possível usar o Amazon EventBridge para responder automaticamente a eventos do sistema, como problemas de disponibilidade de aplicações ou alterações de recursos. É possível criar regras para indicar os eventos de seu interesse e quais ações deverão ser executadas quando um evento corresponder a uma regra. As ações que podem ser iniciadas automaticamente incluem invocar uma função do AWS Lambda, invocar o Run Command do Amazon EC2, retransmitir o evento para o Amazon Kinesis Data Streams e consultar Automatizar o Amazon EC2 usando o EventBridge.

  4. Procedimentos operacionais padrão (SOPs): com base nos componentes da aplicação, o AWS Resilience Hubrecomenda vários modelos de SOP. É possível usar esses SOPs para documentar todos os processos que um operador deve seguir caso um alerta seja emitido. Você também pode criar um SOP com base nas recomendações do Resilience Hub, onde você precisa de uma aplicação do Hub de Resiliência com uma política de resiliência associada, bem como uma avaliação histórica da resiliência em relação a essa aplicação. As recomendações para o SOP são produzidas pela avaliação de resiliência.

    O Hub de Resiliência trabalha com o Systems Manager para automatizar as etapas de seus SOPs, fornecendo vários documentos do SSM que você pode usar como base para esses SOPs. Por exemplo, o Hub de Resiliência pode recomendar um SOP para adicionar espaço em disco com base em um documento de automação do SSM existente.

  5. Execute ações automatizadas com o Amazon DevOps Guru: é possível usar o Amazon DevOps Guru para monitorar automaticamente recursos de aplicações em busca de comportamento anômalo e entregar recomendações direcionadas para acelerar os tempos de identificação e correção do problema. Com o DevOps Guru, você pode monitorar fluxos de dados operacionais quase em tempo real de várias fontes, incluindo métricas do Amazon CloudWatch, AWS Config, AWS CloudFormation e AWS X-Ray. Você também pode usar o DevOps Guru para criar automaticamente OpsItems no OpsCenter e enviar eventos para o EventBridge para automação adicional.

Recursos

Práticas recomendadas relacionadas:

Documentos relacionados:

Vídeos relacionados:

Exemplos relacionados: