

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á.

# Pilar de excelência operacional ElastiCache Well-Architected da Amazon Lens
<a name="OperationalExcellencePillar"></a>

O foco do pilar Excelência operacional está na execução e no monitoramento de sistemas para agregar valor empresarial e melhorar continuamente processos e procedimentos. Os principais tópicos incluem automatizar mudanças, responder a eventos e definir padrões para gerenciar operações diárias.

**Topics**
+ [OE 1: Como você entende e responde aos alertas e eventos acionados pelo seu ElastiCache cluster?](#OperationalExcellencePillarOE1)
+ [OE 2: Quando e como você escala seus ElastiCache clusters existentes?](#OperationalExcellencePillarOE2)
+ [OE 3: Como você gerencia os recursos ElastiCache do cluster e o mantém atualizado?](#OperationalExcellencePillarOE3)
+ [OE 4: Como você gerencia as conexões dos clientes com seus ElastiCache clusters?](#OperationalExcellencePillarOE4)
+ [OE 5: Como você implanta ElastiCache componentes para uma carga de trabalho?](#OperationalExcellencePillarOE5)
+ [EO 6: Como você planeja e mitiga falhas?](#OperationalExcellencePillarOE6)
+ [EO 7: como solucionar problemas em eventos do mecanismo Valkey ou Redis OSS?](#OperationalExcellencePillarOE7)

## OE 1: Como você entende e responde aos alertas e eventos acionados pelo seu ElastiCache cluster?
<a name="OperationalExcellencePillarOE1"></a>

**Question-level introdução:** ao operar ElastiCache clusters, você pode, opcionalmente, receber notificações e alertas quando eventos específicos ocorrerem. ElastiCache, por padrão, registra [eventos](ECEvents.md) relacionados aos seus recursos, como failover, substituição de nós, operação de escalabilidade, manutenção programada e muito mais. Cada evento inclui a data e hora, o nome e tipo da origem e uma descrição.

**Question-level benefício:** ser capaz de entender e gerenciar os motivos subjacentes aos eventos que acionam os alertas gerados pelo seu cluster permite que você opere com mais eficiência e responda aos eventos de forma adequada.
+ **[Obrigatório]** [Analise os eventos gerados ElastiCache no ElastiCache console (depois de selecionar sua região) ou usando o [comando [describe-events](https://docs.aws.amazon.com/cli/latest/reference/elasticache/describe-events.html) da Amazon Command Line Interface](https://aws.amazon.com/cli) (AWS CLI) e a API. ElastiCache ](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_DescribeEvents.html) Configure ElastiCache para enviar notificações para eventos importantes do cluster usando o Amazon Simple Notification Service (Amazon SNS). Usar o Amazon SNS com seus clusters permite que você execute ações programaticamente em eventos. ElastiCache 
  + Há duas grandes categorias de eventos: eventos atuais e programados. A lista de eventos atuais inclui: criação e exclusão de recursos, operações de ajuste de escala, failover, reinicialização de nó, criação de snapshot, modificação de parâmetros do cluster, renovação do certificado de CA, eventos de falha (falha no provisionamento do cluster [VPC ou ENI], falhas de ajuste de escala [ENI] e falhas de snapshot). A lista de eventos programados inclui: nó programado para substituição durante a janela de manutenção e substituição de nó reagendada.
  + Embora talvez você não precise reagir imediatamente a alguns desses eventos, é fundamental examinar primeiro todos os eventos de falha:
    + ElastiCache:AddCacheNodeFailed
    + ElastiCache:CacheClusterProvisioningFailed
    + ElastiCache:CacheClusterScalingFailed
    + ElastiCache:CacheNodesRebooted
    + ElastiCache:SnapshotFailed (Somente Valkey ou Redis OSS)
  + **[Recursos]:**
    + [Gerenciando ElastiCache notificações do Amazon SNS](ECEvents.SNS.md)
    + [Notificações de eventos e o Amazon SNS](ElastiCacheSNS.md)
+ **[Melhor]** Para automatizar as respostas a eventos, aproveite os recursos de AWS produtos e serviços, como SNS e Lambda Functions. Siga as práticas recomendadas ao fazer alterações pequenas, frequentes e reversíveis, como código para evoluir suas operações ao longo do tempo. Você deve usar CloudWatch as métricas da Amazon para monitorar seus clusters. 

  **[Recursos]:** [Monitore ElastiCache (modo de cluster desativado) leia endpoints de réplica usando AWS Lambda, Amazon Route 53 e Amazon SNS para um caso de uso que usa Lambda e SNS](https://aws.amazon.com/blogs/database/monitor-amazon-elasticache-for-redis-cluster-mode-disabled-read-replica-endpoints-using-aws-lambda-amazon-route-53-and-amazon-sns/). 

## OE 2: Quando e como você escala seus ElastiCache clusters existentes?
<a name="OperationalExcellencePillarOE2"></a>

**Question-level introdução:** Right-sizing seu ElastiCache cluster é um ato de equilíbrio que precisa ser avaliado sempre que houver alterações nos tipos de carga de trabalho subjacentes. Seu objetivo é operar com o ambiente do tamanho certo para sua workload.

**Question-level benefício:** Over-utilization seus recursos podem resultar em latência elevada e diminuição geral do desempenho. Under-utilization, por outro lado, pode resultar em recursos superprovisionados sem otimização de custos ideal. Ao dimensionar corretamente seus ambientes, você pode encontrar um equilíbrio entre eficiência de performance e otimização de custos. Para remediar a sobreutilização ou a subutilização de seus recursos, ElastiCache pode escalar em duas dimensões. Você pode ajustar a escala verticalmente ao aumentar ou diminuir a capacidade dos nós. Também pode ajustar a escala horizontalmente ao adicionar e remover nós.
+ **[Obrigatório]** O excesso de utilização da CPU e da rede nos nós primários deve ser resolvido descarregando e redirecionando as operações de leitura para os nós de réplica. Use nós de réplica para operações de leitura a fim de reduzir a utilização do nó primário. Isso pode ser configurado em sua biblioteca cliente Valkey ou Redis OSS conectando-se ao endpoint do ElastiCache leitor para o modo de cluster desativado ou usando o comando READONLY para o modo de cluster ativado.

  **[Recursos]:**
  + [Encontrando pontos de extremidade de conexão em ElastiCache](Endpoints.md)
  + [Cluster Right-Sizing](https://aws.amazon.com/blogs/database/five-workload-characteristics-to-consider-when-right-sizing-amazon-elasticache-redis-clusters/)
  + [Comando READONLY](https://valkey.io/commands/readonly)
+ **[Obrigatório]** Monitore a utilização de recursos críticos do cluster, como CPU, memória e rede. A utilização desses recursos específicos do cluster precisa ser monitorada para informar sua decisão de ajustar a escala e do tipo de operação de ajuste. Para o modo de ElastiCache cluster desativado, os nós primários e de réplica podem ser escalados verticalmente. Os nós de réplica também podem escalar horizontalmente, de 0 a 5 nós. Com o modo de cluster habilitado, o mesmo se aplica a cada fragmento do cluster. Além disso, você pode aumentar ou reduzir o número de fragmentos.

  **[Recursos]:**
  + [Monitorando as melhores práticas com ElastiCache o uso da Amazon CloudWatch](https://aws.amazon.com/blogs/database/monitoring-best-practices-with-amazon-elasticache-for-redis-using-amazon-cloudwatch/)
  + [ ElastiCache Clusters de escalabilidade para Valkey e Redis OSS](Scaling.md)
  + [ ElastiCache Clusters de escalabilidade para Memcached](Scaling.md)
+ **[Ideal]** O monitoramento da performance ao longo do tempo pode ajudar você a detectar mudanças na workload que passariam despercebidas se monitoradas em momentos específicos. Para detectar tendências de longo prazo, use CloudWatch métricas para verificar intervalos de tempo maiores. O aprendizado da observação de longos períodos de CloudWatch métricas deve informar sua previsão sobre a utilização dos recursos do cluster. CloudWatch pontos de dados e métricas estão disponíveis por até 455 dias.

  **[Recursos]:**
  + [Monitoramento ElastiCache com CloudWatch métricas](CacheMetrics.md)
  + [Monitorando o Memcached com métricas CloudWatch ](CacheMetrics.md)
  + [Monitorando as melhores práticas com ElastiCache o uso da Amazon CloudWatch](https://aws.amazon.com/blogs/database/monitoring-best-practices-with-amazon-elasticache-for-redis-using-amazon-cloudwatch/)
+ **[Melhor]** Se seus ElastiCache recursos forem criados com, CloudFormation é uma prática recomendada realizar alterações usando CloudFormation modelos para preservar a consistência operacional e evitar alterações de configuração não gerenciadas e desvios de pilha.

  **[Recursos]:**
  + [ElastiCache referência de tipo de recurso para CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_ElastiCache.html)
+ **[Melhor]** Automatize suas operações de escalabilidade usando dados operacionais de cluster e defina limites CloudWatch para configurar alarmes. Use CloudWatch Events e Simple Notification Service (SNS) para acionar funções Lambda e executar uma ElastiCache API para escalar seus clusters automaticamente. Um exemplo seria adicionar um fragmento ao cluster quando a métrica `EngineCPUUtilization` atingir 80% por um longo período. Outra opção seria usar `DatabaseMemoryUsedPercentages` para um limite baseado em memória.

  **[Recursos]:**
  + [Usando os CloudWatch alarmes da Amazon](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html)
  + [O que são CloudWatch eventos da Amazon?](https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/WhatIsCloudWatchEvents.html)
  + [Usando AWS Lambda com o Amazon Simple Notification Service](https://docs.aws.amazon.com/lambda/latest/dg/with-sns.html)
  + [Referência de API do ElastiCache](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/Welcome.html)

## OE 3: Como você gerencia os recursos ElastiCache do cluster e o mantém atualizado?
<a name="OperationalExcellencePillarOE3"></a>

**Question-level introdução:** Ao operar em grande escala, é essencial que você seja capaz de identificar e identificar todos os seus ElastiCache recursos. Ao implementar novos recursos de aplicativos, você precisa criar simetria de versão de cluster em todos os tipos de ElastiCache ambiente: desenvolvimento, teste e produção. Os atributos de recursos permitem que você separe ambientes para objetivos operacionais diferentes, como ao implantar novos atributos e ativar novos mecanismos de segurança. 

**Question-level benefício:** separar seus ambientes de desenvolvimento, teste e produção é a melhor prática operacional. Também é uma prática recomendada que seus clusters e nós em todos os ambientes tenham os patches de software mais recentes aplicados usando processos bem compreendidos e documentados. Aproveitar os ElastiCache recursos nativos permite que sua equipe de engenharia se concentre em atingir os objetivos de negócios e não na ElastiCache manutenção.
+ **[Melhor]** Execute a versão mais recente do mecanismo disponível e aplique as Self-Service atualizações assim que elas estiverem disponíveis. ElastiCache atualiza automaticamente sua infraestrutura subjacente durante a janela de manutenção especificada do cluster. No entanto, os nós em execução em seus clusters são atualizados por meio de Self-Service atualizações. Essas atualizações podem ser de dois tipos: patches de segurança ou pequenas atualizações de software. Compreenda a diferença entre os tipos de patches e quando eles são aplicados.

  **[Recursos]:**
  + [Self-Service Atualizações na Amazon ElastiCache](Self-Service-Updates.md)
  + [Página de ajuda do Amazon ElastiCache Managed Maintenance and Service Updates](https://aws.amazon.com/elasticache/elasticache-maintenance/)
+ **[Melhor]** Organize seus ElastiCache recursos usando tags. Use etiquetas em grupos de replicação e não em nós individuais. Você pode configurar etiquetas para serem exibidas ao consultar recursos e usar etiquetas para realizar pesquisas e aplicar filtros. Você deve usar grupos de recursos para criar e manter facilmente coleções de recursos que compartilham conjuntos comuns de etiquetas.

  **[Recursos]:**
  + [Práticas recomendadas de marcação](https://d1.awsstatic.com/whitepapers/aws-tagging-best-practices.pdf)
  + [ElastiCache referência de tipo de recurso para CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_ElastiCache.html)
  + [Grupos de parâmetros](ParameterGroups.Engine.md#ParameterGroups.Redis)

## OE 4: Como você gerencia as conexões dos clientes com seus ElastiCache clusters?
<a name="OperationalExcellencePillarOE4"></a>

**Question-level introdução:** Ao operar em grande escala, você precisa entender como seus clientes se conectam ao ElastiCache cluster para gerenciar os aspectos operacionais do seu aplicativo (como tempos de resposta). 

**Question-level benefício:** escolher o mecanismo de conexão mais adequado garante que seu aplicativo não se desconecte devido a erros de conectividade, como tempos limite.
+ **[Obrigatório]** Separe as operações de leitura e gravação e conecte-se aos nós de réplica para executar as operações de leitura. No entanto, esteja ciente de que, ao separar as gravações das leituras, você perderá a capacidade de ler uma chave logo depois de gravá-la devido à natureza assíncrona da replicação do Valkey e do Redis OSS. O comando WAIT pode ser usado para aumentar a segurança dos dados no mundo real e forçar as réplicas a reconhecer as gravações antes de responder aos clientes, com um custo geral de performance. O uso de nós de réplica para operações de leitura pode ser configurado em sua biblioteca ElastiCache cliente usando o endpoint do ElastiCache leitor para o modo de cluster desativado. Para habilitar o modo de cluster, use o comando READONLY. Para muitas bibliotecas de ElastiCache cliente, o READONLY é implementado por padrão ou por meio de uma definição de configuração.

  **[Recursos]:**
  + [Encontrando pontos de extremidade de conexão em ElastiCache](Endpoints.md)
  + [READONLY](https://valkey.io/commands/readonly)
+ **[Obrigatório] **Use o agrupamento de conexões. Estabelecer uma conexão TCP tem um custo de tempo de CPU nos lados do cliente e do servidor, e o agrupamento permite que você reutilize a conexão TCP. 

  Para reduzir a sobrecarga da conexão, use o agrupamento de conexões. Com um grupo de conexões, sua aplicação pode reutilizar e liberar conexões “à vontade”, sem o custo de estabelecer a conexão. Você pode implementar o pool de conexões por meio de sua biblioteca ElastiCache cliente (se houver suporte), com uma estrutura disponível para seu ambiente de aplicativos, ou criá-la do zero.
+ **[Ideal]** Certifique-se de que o tempo limite do soquete do cliente esteja definido para pelo menos um segundo (em vez do padrão típico de “nenhum” em vários clientes).
  + Definir um valor de tempo limite muito baixo pode fazer com que o tempo limite seja atingido quando a carga do servidor estiver alta. Defini-lo muito alto pode fazer com que a aplicação demore muito para detectar problemas de conexão.
  + Controle o volume de novas conexões implementando o agrupamento de conexões em sua aplicação de cliente. Isso reduz a latência e a utilização da CPU necessárias para abrir e fechar conexões e realizar um handshake de TLS, caso o TLS esteja habilitado no cluster.

  **[Recursos]:** [configure ElastiCache para maior disponibilidade](https://aws.amazon.com/blogs/database/configuring-amazon-elasticache-for-redis-for-higher-availability/)
+ **[Bom]** Usar pipelines (quando seus casos de uso permitirem) pode aumentar significativamente a performance.
  + Com o pipelining, você reduz o Round-Trip tempo (RTT) entre os clientes do aplicativo e o cluster, e novas solicitações podem ser processadas mesmo que o cliente ainda não tenha lido as respostas anteriores.
  + Com o pipelining, você pode enviar vários comandos para o servidor sem esperar. replies/ack A desvantagem dos pipelines é que, quando você finalmente obtém todas as respostas em lote, pode ter ocorrido um erro que só será detectado no final.
  + Implemente métodos para repetir as solicitações quando for retornado um erro que omite a solicitação incorreta.

  **[Recursos]:** [Pipelines](https://valkey.io/topics/pipelining/)

## OE 5: Como você implanta ElastiCache componentes para uma carga de trabalho?
<a name="OperationalExcellencePillarOE5"></a>

**Question-level introdução:** ElastiCache os ambientes podem ser implantados manualmente por meio do AWS console ou programaticamente por meio de APIs, CLI, kits de ferramentas etc. As práticas recomendadas de Excelência operacional sugerem que as implantações sejam automatizadas por meio de código sempre que possível. Além disso, ElastiCache os clusters podem ser isolados por carga de trabalho ou combinados para fins de otimização de custos.

**Question-level benefício:** escolher o mecanismo de implantação mais adequado para seus ElastiCache ambientes pode melhorar a excelência operacional ao longo do tempo. É recomendável realizar operações como código sempre que possível para minimizar a quantidade de erros humanos e aumentar a repetibilidade, a flexibilidade e o tempo de resposta aos eventos.

Ao entender os requisitos de isolamento da carga de trabalho, você pode optar por ter ElastiCache ambientes dedicados por carga de trabalho ou combinar várias cargas de trabalho em clusters únicos ou combinações dos mesmos. Compreender as vantagens e desvantagens pode ajudar a encontrar um equilíbrio entre Excelência operacional e Otimização de custos.
+ **[Obrigatório]** Compreenda as opções de implantação disponíveis e automatize esses procedimentos sempre que possível. ElastiCache As possíveis vias de automação incluem CloudFormation AWS CLI/SDK, e APIs.

  **[Recursos]: **
  + [Referência de tipo ElastiCache de recurso da Amazon](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_ElastiCache.html)
  + [elasticache](https://docs.aws.amazon.com/cli/latest/reference/elasticache/index.html)
  + [Referência de ElastiCache API da Amazon](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/Welcome.html)
+ **[Obrigatório]** Para todas as workloads, determine o nível de isolamento do cluster necessário. 
  + **[Ideal]** Isolamento alto: mapeamento 1:1 entre workload e cluster. Permite o controle mais refinado sobre acesso, dimensionamento, escalabilidade e gerenciamento de ElastiCache recursos por carga de trabalho.
  + **[Melhor]:** isolamento médio — M:1 isolado por propósito, mas talvez compartilhado entre várias cargas de trabalho (por exemplo, um cluster dedicado ao armazenamento em cache de cargas de trabalho e outro dedicado ao envio de mensagens).
  + **[Bom]:** Baixo isolamento — M:1 multiuso, totalmente compartilhado. Recomendado para workloads em que o acesso compartilhado é aceitável.

## EO 6: Como você planeja e mitiga falhas?
<a name="OperationalExcellencePillarOE6"></a>

**Question-level introdução:** A excelência operacional inclui a antecipação de falhas por meio da realização de exercícios regulares “pre-mortem” para identificar fontes potenciais de falha para que possam ser removidas ou mitigadas. ElastiCache oferece uma API de failover que permite simular eventos de falha de nó, para fins de teste.

**Question-level benefício:** ao testar cenários de falha com antecedência, você pode aprender como eles afetam sua carga de trabalho. Isso permite testar com segurança os procedimentos de resposta e sua eficácia, além de familiarizar sua equipe com sua execução.

**[Obrigatório]** Execute regularmente testes de failover nas dev/test contas. [TestFailover](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_TestFailover.html)

## EO 7: como solucionar problemas em eventos do mecanismo Valkey ou Redis OSS?
<a name="OperationalExcellencePillarOE7"></a>

**Question-level introdução:** A excelência operacional exige a capacidade de investigar informações de nível de serviço e de motor para analisar a integridade e o status de seus clusters. ElastiCache pode emitir registros do mecanismo Valkey ou Redis OSS para o Amazon CloudWatch e o Amazon Kinesis Data Firehose.

**Question-level benefício:** habilitar os registros do mecanismo Valkey ou Redis OSS em ElastiCache clusters fornece informações sobre eventos que afetam a integridade e o desempenho dos clusters. Os registros do mecanismo Valkey ou Redis OSS fornecem dados diretamente do mecanismo que não estão disponíveis por meio do ElastiCache mecanismo de eventos. Por meio da observação cuidadosa dos ElastiCache eventos (veja acima OE-1) e dos registros do motor, é possível determinar a ordem dos eventos durante a solução de problemas, tanto do ponto de vista do ElastiCache serviço quanto do ponto de vista do motor.
+ **[Obrigatório]** Certifique-se de que a funcionalidade de registro do mecanismo Redis OSS esteja ativada, disponível a partir da ElastiCache versão 6.2 para Redis OSS e versões mais recentes. Isso pode ser feito durante a criação do cluster ou modificando o cluster depois da criação. 
  + Determine se o Amazon CloudWatch Logs ou o Amazon Kinesis Data Firehose são o destino apropriado para os registros do mecanismo Redis OSS.
  + Selecione um registro de destino apropriado em um CloudWatch ou no Kinesis Data Firehose para manter os registros. Se você tiver vários clusters, considere usar um log de destino diferente para cada cluster, pois isso ajudará a isolar os dados ao solucionar problemas.

  **[Recursos]:**
  + Entrega de logs: [Entrega de logs](Log_Delivery.md)
  + Destinos de registro: [Amazon CloudWatch Logs](Logging-destinations.md#Destination_Specs_CloudWatch_Logs)
  + Introdução ao Amazon CloudWatch Logs: [O que é o Amazon CloudWatch Logs?](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/WhatIsCloudWatchLogs.html)
  + Introdução ao Amazon Kinesis Data Firehose: [O que é o Amazon Kinesis Data Firehose?](https://docs.aws.amazon.com/firehose/latest/dev/what-is-this-service.html)
+ **[Melhor]** Se estiver usando o Amazon CloudWatch Logs, considere usar o Amazon CloudWatch Logs Insights para consultar o log do mecanismo OSS do Valkey ou do Redis para obter informações importantes.

  Como exemplo, crie uma consulta no grupo CloudWatch Log que contém os registros do mecanismo Valkey ou Redis OSS que retornarão eventos com um LogLevel “AVISO”, como:

  ```
  fields @timestamp, LogLevel, Message
  | sort @timestamp desc
  | filter LogLevel = "WARNING"
  ```

  **[Recursos]:** [análise de dados de registro com o CloudWatch Logs Insights](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AnalyzingLogData.html)