Monitorar implantações para reversão automática - AWS AppConfig

Monitorar implantações para reversão automática

Durante uma implantação, é possível atenuar situações em que a implantação de dados de configuração incorretos ou malformados causa erros na aplicação usando uma combinação de estratégias de implantação do AWS AppConfig e reversões automáticas com base nos alarmes do Amazon CloudWatch. Depois de configurado, se um ou mais alarmes do CloudWatch entrarem no estado de ALARM durante uma implantação, o AWS AppConfig reverterá automaticamente os dados de configuração para a versão anterior, evitando, dessa forma, interrupções ou erros na aplicação. Também é possível reverter uma configuração chamando a operação de API StopDeployment enquanto a implantação ainda está em andamento.

Importante

Em implantações concluídas com êxito, o AWS AppConfig também permite a reversão dos dados de configuração para uma versão anterior usando o parâmetro AllowRevert com a operação de API StopDeployment. Para alguns clientes, a reversão para uma configuração anterior após uma implantação bem-sucedida garante que os dados sejam os mesmos de antes da implantação. A reversão também ignora os monitores de alarme, o que pode impedir o roll forward durante uma emergência na aplicação. Para ter mais informações, consulte Reverter uma configuração.

Para configurar reversões automáticas, você especifica o nome do recurso da Amazon (ARN) de uma ou mais métricas do CloudWatch no campo Alarmes do CloudWatch ao criar (ou editar) um ambiente do AWS AppConfig. Para ter mais informações, consulte Criar ambientes para seu aplicativo no AWS AppConfig.

Métricas recomendadas para monitorar a reversão automática

As métricas que você escolher monitorar dependerão do hardware e do software usados por suas aplicações. Os clientes do AWS AppConfig geralmente monitoram as métricas a seguir. Para ter uma lista completa das métricas recomendadas agrupadas por AWS service (Serviço da AWS), consulte Alarmes recomendados no Guia do usuário do Amazon CloudWatch.

Depois de determinar as métricas que você deseja monitorar, use o CloudWatch para configurar alarmes. Para obter mais informações, consulte Uso de alarmes do Amazon CloudWatch.

Serviço Métrica Detalhes

Amazon API Gateway

4XXError

Esse alarme detecta uma alta taxa de erros do lado do cliente. Isso pode indicar um problema na autorização ou nos parâmetros da solicitação do cliente. Isso também pode significar que um recurso foi removido ou que um cliente está solicitando um recurso que não existe. Pense na possibilidade de habilitar o Amazon CloudWatch Logs e conferir se há alguma falha que possa estar causando os erros 4XX. Ademais, considere a possibilidade de ativar as métricas detalhadas do CloudWatch para visualizar essa métrica por recurso e método e restringir a origem dos erros. Os erros também podem ser causados por exceder o limite de controle de utilização configurado.

Amazon API Gateway

5XXError

Esse alarme detecta uma alta taxa de erros do lado do cliente. Isso pode indicar que há algo errado no backend da API, na rede ou na integração entre o gateway da API e a API de backend.

Amazon API Gateway

Latência

Esse alarme detecta alta latência em um estágio. Encontre o valor da métrica IntegrationLatency para verificar a latência do backend da API. Se as duas métricas estiverem alinhadas em sua maior parte, o backend da API será a fonte de maior latência e você deve investigar se há problemas. Considere também ativar o CloudWatch Logs e verificar se há erros que possam estar causando a alta latência.

Amazon EC2 Auto Scaling

GroupInServiceCapacity

Esse alarme ajuda a detectar quando a capacidade do grupo está abaixo da capacidade desejada para a workload. Para solucionar problemas, verifique se há falhas de inicialização em suas atividades de escalonamento e confirme se a configuração da capacidade desejada está correta.

Amazon EC2

CPUUtilization

Esse alarme ajuda a monitorar a utilização da CPU de uma instância do EC2. Dependendo da aplicação, níveis de utilização consistentemente altos podem ser normais. Porém, se a performance for prejudicada e a aplicação não for limitada por E/S de disco, memória ou recursos de rede, uma CPU no limite máximo poderá indicar um gargalo de recursos ou problemas de performance da aplicação.

Amazon ECS

CPUReservation

Esse alarme ajuda a detectar uma alta reserva de CPU no cluster do ECS. A alta reserva de CPU pode indicar que o cluster está ficando sem CPUs registradas para a tarefa.

Amazon ECS

HTTPCode_Target_5XX_Count

Esse alarme ajuda você a detectar uma alta contagem de erros do lado do servidor para o serviço ECS. Isso pode indicar que há erros que fazem com que o servidor não consiga atender às solicitações.

Amazon EKS com o Container Insights

node_cpu_utilization

Esse alarme ajuda a detectar a alta utilização da CPU nos nós de processamento do cluster do Amazon EKS. Se a utilização for consistentemente alta, isso pode indicar a necessidade de substituir os nós de processamento por instâncias que tenham mais CPU ou a necessidade de escalar o sistema horizontalmente.

Amazon EKS com o Container Insights

node_memory_utilization

Esse alarme ajuda a detectar a alta utilização de memória nos nós de processamento do cluster do Amazon EKS. Se a utilização for consistentemente alta, isso pode indicar a necessidade de escalar o número de réplicas de pod ou otimizar a sua aplicação.

Amazon EKS com o Container Insights

pod_cpu_utilization_over_pod_limit

Esse alarme ajuda a detectar a alta utilização da CPU em pods do cluster do Amazon EKS. Se a utilização for consistentemente alta, isso poderá indicar a necessidade de aumentar o limite da CPU para o pod afetado.

Amazon EKS com o Container Insights

pod_memory_utilization_over_pod_limit

Esse alarme ajuda a detectar a alta utilização da CPU em pods do cluster do Amazon EKS. Se a utilização for consistentemente alta, isso poderá indicar a necessidade de aumentar o limite da CPU para o pod afetado.

AWS Lambda

Erros

Esse alarme detecta altas contagens de erros. Os erros incluem as exceções lançadas pelo código, bem como as exceções lançadas pelo runtime do Lambda.

AWS Lambda

Controles de utilização

Esse alarme detecta um alto número de solicitações de invocação com controle de utilização. O controle de utilização ocorre quando não há simultaneidade disponível para aumentar a escala verticalmente.

Lambda Insights

memory_utilization

Esse alarme é usado para detectar se a utilização da memória de uma função do Lambda está se aproximando do limite configurado.

Amazon S3

4xxErrors

Esse alarme nos ajuda a informar o número total de códigos de status de erro 4xx que são gerados em resposta a solicitações de clientes. Os códigos de erro 403 podem indicar uma política do IAM incorreta e os códigos de erro 404 podem indicar uma aplicação cliente com comportamento incorreto, por exemplo.

Amazon S3

5xxErrors

Esse alarme ajuda a detectar um grande número de erros do lado do servidor. Esses erros indicam que um cliente fez uma solicitação que o servidor não conseguiu concluir. Isso pode ajudar você a correlacionar o problema que sua aplicação está enfrentando por causa do S3.