Conteúdo da página
Geral Redis Memcached

Geral

Informações básicas

P: O que é o Amazon ElastiCache?
O Amazon ElastiCache é um serviço web que simplifica a implantação e a execução de caches compatíveis com os protocolos Memcached ou Redis na nuvem. O ElastiCache melhora a performance de aplicações ao permitir que você recupere informações de um sistema rápido e gerenciado na memória, em vez de depender de sistemas baseados em disco mais lentos. O serviço simplifica e facilita o gerenciamento, o monitoramento e a operação de ambientes na memória, permitindo que seus recursos de engenharia concentrem-se no desenvolvimento de aplicações. Com a utilização do ElastiCache, você não só melhora os tempos de resposta e carga de consultas e ações de usuários, como também reduz os gastos associados ao dimensionamento de aplicações Web.

O ElastiCache automatiza tarefas administrativas comuns necessárias para operar um ambiente distribuído de chave-valor na memória. Ao usar o ElastiCache, é possível adicionar uma camada de cache ou na memória à arquitetura da sua aplicação em questão de minutos com algumas etapas no Console de Gerenciamento da AWS. O ElastiCache foi projetado para manter automaticamente a alta disponibilidade e fornece um Acordo de Nível de Serviço (SLA) de 99,99% de disponibilidade. O ElastiCache oferece compatibilidade de protocolo com o Memcached e o Redis. Portanto, o código, as aplicações e as ferramentas conhecidas que você usa hoje em ambientes do Memcached ou do Redis atuais funcionarão perfeitamente com o serviço. Não há necessidade de investimentos iniciais e você paga somente pelos recursos que utilizar.

P: O que é o armazenamento em memória cache e como ele ajuda minhas aplicações?
O cache na memória fornecido pelo ElastiCache pode ser usado para melhorar significativamente a latência e o throughput de muitas workloads de aplicações que exigem muita leitura (como redes sociais, jogos, compartilhamento de mídia e portais de perguntas e respostas) ou workloads de computação intensiva (como um mecanismo de recomendação). O armazenamento em cache na memória melhora a performance da aplicação, armazenando fragmentos críticos de dados na memória para oferecer acesso de baixa latência. As informações em cache podem incluir os resultados de consultas a banco de dados com uso intenso de E/S ou os resultados de cálculos com uso intenso de computação.

P: O que o ElastiCache pode gerenciar em meu nome?
O ElastiCache gerencia o trabalho envolvido na configuração de um ambiente na memória distribuído, que abrange do provisionamento de recursos solicitados por você até a instalação do software. Ao usar o Amazon ElastiCache sem servidor, não há infraestrutura que você precise configurar e gerenciar. Ao projetar seu próprio cluster do ElastiCache, o serviço automatiza tarefas administrativas comuns, como aplicação de patches de software e detecção e recuperação de falhas. O ElastiCache disponibiliza métricas de monitoramento detalhadas associadas aos seus recursos, permitindo que você diagnostique e reaja aos problemas rapidamente. Por exemplo, é possível configurar limites e ser avisado por meio de alarmes quando um de seus caches estiver sobrecarregado de solicitações.

P: O ElastiCache é compatível com quais mecanismos?
O ElastiCache oferece Redis e Memcached totalmente gerenciados para suas aplicações mais exigentes que precisam de tempos de resposta inferiores a um milissegundo.

P: Como começar a usar o ElastiCache?
Se você ainda não está inscrito no ElastiCache, pode selecionar Comece a usar na página do ElastiCache e concluir o processo de inscrição. É necessário ter uma conta da AWS. Se você ainda não tiver uma, será solicitado a criá-la ao iniciar o processo de inscrição no ElastiCache. Depois de fazer seu cadastro no ElastiCache, consulte a documentação do ElastiCache, que inclui o nosso Guia de conceitos básicos do Amazon ElastiCache para Redis ou do Amazon ElastiCache para Memcached.

Depois de se familiarizar com o ElastiCache, você pode criar um cache em minutos usando o console ou as APIs do ElastiCache.

P: Como faço para criar um cache?
Os caches são simples de criar, usando o console, APIs do ElastiCache ou ferramentas de linha de comando. Ao usar o ElastiCache sem servidor, você pode criar um cache usando as configurações padrão recomendadas e começar a usá-lo em menos de um minuto.

Sem servidor

P: O ElastiCache não tem servidor?
O ElastiCache sem servidor é uma opção que permite começar a usar um cache em menos de um minuto sem provisionamento de infraestrutura ou planejamento de capacidade. O ElastiCache sem servidor elimina a necessidade de um demorado planejamento de capacidade ao monitorar continuamente a computação, a memória e a utilização da rede de um cache, para que ele possa escalar instantaneamente para atender à demanda sem tempo de inatividade ou degradação da performance. O ElastiCache sem servidor replica automaticamente os dados em várias zonas de disponibilidade (AZs) e fornece aos clientes um contrato de nível de serviço (SLA) com 99,99% de disponibilidade para cada cache. Com o ElastiCache sem servidor, você paga apenas pelos dados que armazena e pelos recursos computacionais que sua aplicação usa. Para começar, crie um cache do ElastiCache Sem Servidor em apenas algumas etapas especificando um nome de cache usando o console, o kit de desenvolvimento do ElastiCache (SDK) ou a AWS Command Line Interface (AWS CLI).

P: Como faço para migrar uma workload existente do ElastiCache para o ElastiCache sem servidor?
Você pode mover uma workload existente do ElastiCache alterando o endpoint do Redis ou do Memcached para seu novo endpoint de cache do ElastiCache sem servidor em sua aplicação. Você pode migrar dados existentes do ElastiCache para o ElastiCache sem servidor especificando a localização do Amazon Simple Storage Service (Amazon S3) de um arquivo de backup. Visite nossa documentação do ElastiCache sem servidor para saber mais sobre a migração de suas workloads.

P: Quais versões do Redis e do Memcached são compatíveis com o ElastiCache sem servidor?
O ElastiCache sem servidor oferece suporte ao ElastiCache para Redis versão 7.1 e ao ElastiCache para Memcached versão 1.6.21 e superior.

P: Como o ElastiCache sem servidor pode ser escalado?
O ElastiCache sem servidor monitora continuamente a memória, a computação e a utilização da rede do seu cache para escalar instantaneamente. O ElastiCache sem servidor é escalável sem tempo de inatividade ou degradação da performance da aplicação, permitindo que o cache aumente a escala verticalmente e inicie a expansão em paralelo, para atender aos requisitos da aplicação na hora certa. Acesse nossa documentação do ElastiCache sem servidor para saber mais sobre escalabilidade.

P: O que é o Acordo de Nível de Serviço (SLA) de disponibilidade sem servidor do ElastiCache?
O ElastiCache Sem Servidor armazena automaticamente dados de forma redundante em várias zonas de disponibilidade (AZs) e fornece um Acordo de Nível de Serviço (SLA) com disponibilidade de 99,99% para todos os workloads.

P: Qual é a definição de preço do ElastiCache sem servidor?
Com o ElastiCache sem servidor, você paga apenas pelos dados que armazena e pela computação que sua aplicação usa. Consulte a página de preços do ElastiCache para saber mais.

Nós reservados

P: O que são os nós reservados do ElastiCache?
Os nós reservados ou instâncias reservadas (IRs) oferecem um desconto significativo sobre o uso sob demanda quando você aceita um compromisso com período de um ou três anos. Com os nós reservados, é possível fazer um pagamento único e adiantado para criar uma reserva de um ou três anos para executar seu cache em uma região específica, além de receber um desconto significativo sobre a cobrança de uso por hora vigente. Existem três tipos de nós reservados: sem pagamento adiantado, pagamento adiantado parcial e pagamento adiantado integral. Esses tipos permitem estabelecer um equilíbrio entre o valor que você paga adiantado e seu preço por hora efetivo.

P: Os nós reservados se aplicam ao ElastiCache sem servidor?
Os nós reservados oferecem um desconto que se aplica ao uso sob demanda do ElastiCache. O ElastiCache sem servidor não é compatível com nós reservados.

P: Quantos nós reservados eu posso adquirir?
Você pode comprar até 300 nós reservados. Se você quiser executar mais de 300 nós, preencha o formulário de solicitação de nós do ElastiCache.

P: E se eu quiser converter um nó atual em um nó reservado?
Compre uma reserva de nó da mesma categoria de nó e da mesma região do nó que você estiver executando no momento e que deseja reservar. Se a compra da reserva for bem-sucedida, o ElastiCache aplicará automaticamente a nova cobrança de uso por hora ao seu nó atual.

P: Se eu me cadastrar para um nó reservado, quando o período será iniciado? O que acontece com meu nó quando o período terminar?
As mudanças de preço associadas a um nó reservado são ativadas depois que a solicitação for recebida e enquanto a autorização de pagamento é processada. Você pode acompanhar o status de sua reserva na página AWS Account Activity ou utilizando a API DescribeReservedCacheNodes. Se o pagamento único não for autorizado com sucesso até o período da próxima fatura, o preço descontado não terá efeito.

Quando o período da sua reserva expirar, o nó reservado será alterado para a taxa de uso por hora sob demanda apropriada para a categoria e a região do seu nó.

P: Como posso controlar quais nós são cobrados usando a taxa de nó reservado?
As APIs do ElastiCache para criar, modificar e excluir nós não fazem distinção entre nós sob demanda e nós reservados para que você possa utilizar ambos sem problemas. Ao calcular sua fatura, nosso sistema aplicará automaticamente suas reservas para que todos os nós qualificados sejam cobrados com a taxa por hora mais econômica de nó de cache reservado.

P: Posso mover um nó reservado de uma região ou zona de disponibilidade para outra?
Cada nó reservado está associado a uma região específica, que é determinada por toda a duração da reserva e não pode ser alterada. Contudo, cada reserva pode ser usada em qualquer uma das zonas de disponibilidade encontradas dentro da região associada.

P: Posso cancelar uma reserva?
Não. Não é possível cancelar a reserva de nós, e o pagamento único (se for o caso) não é reembolsável. Você continuará a pagar por hora durante o período de vigência do nó reservado, independentemente da utilização.

P: Como as opções de pagamento afetam a minha conta?
Quando você compra um nó reservado com a opção de pagamento adiantado integral, paga por todo o período de vigência do nó reservado em um único pagamento adiantado. Você pode optar por não pagar nada adiantado escolhendo a opção sem pagamento adiantado. O valor total do nó reservado sem pagamento adiantado é distribuído por todas as horas do período de vigência, e você receberá a cobrança por hora do período, independentemente do uso. A opção de pagamento adiantado parcial é híbrido das opções de pagamento adiantado integral e sem pagamento adiantado. Você faz um pequeno pagamento adiantado e é cobrada uma taxa baixa por hora do período de vigência, independentemente do uso.

Segurança

P: Quais controles de segurança existem para o ElastiCache?
O ElastiCache permite configurar a criptografia de dados em repouso usando o AWS Key Management Service (AWS KMS), a criptografia de dados em trânsito usando o Transport Layer Security (TLS), a autenticação usando o AWS Identity and Access Management (IAM) e o controle de acesso à rede com grupos de segurança do Amazon Elastic Compute Cloud (Amazon EC2).

P: Como controlo o acesso ao ElastiCache?
Quando não está usando a Amazon Virtual Private Cloud (Amazon VPC), o ElastiCache permite que você controle o acesso aos seus caches por meio de grupos de segurança de rede. Um grupo de segurança funciona como um firewall, controlando o acesso de rede ao cache. Como padrão, o acesso de rede é desativado para os seus caches. Se você quiser que as aplicações acessem seu cache, habilite explicitamente o acesso de hosts em grupos de segurança do Amazon EC2 específicos.

Você também pode controlar o acesso aos seus recursos do ElastiCache usando a autenticação do IAM. Para obter mais informações, consulte a documentação de autenticação com o IAM.

Conformidade

P: Para quais programas de compatibilidade o ElastiCache oferece suporte?
O ElastiCache oferece suporte a programas de conformidade como SOC 1, SOC 2, SOC 3, ISO, MTCS, C5, PCI DSS, HIPAA e FedRAMP. Acesse Serviços da AWS no escopo pelo programa de conformidade para ver uma lista atualizada dos programas de conformidade aceitos no momento.

P: O ElastiCache está em conformidade com o PCI DSS?
Sim. O programa de conformidade com o PCI da AWS inclui o ElastiCache como um serviço em conformidade com o PCI. Para saber mais, veja os recursos a seguir:

Para ver a lista atual dos programas de conformidade para os quais o ElastiCache está no escopo, consulte Serviços da AWS no escopo pelo programa de conformidade.

P: O ElastiCache está qualificado para HIPAA?
Sim, o ElastiCache é um serviço qualificado para a HIPAA e está coberto pelo Business Associate Addendum (BAA – Adendo de associado comercial) da AWS. Isso significa que você pode usar o ElastiCache como ajuda para processar, manter e armazenar informações de saúde protegidas (PHI) e como base para aplicações de saúde.

P: O que devo fazer para usar o ElastiCache qualificado pela HIPAA?
Se você assinou um Business Associate Agreement (BAA – Acordo de associado comercial) com a AWS, poderá usar o ElastiCache para criar aplicações que armazenam e processam HI sob a HIPAA. Se você não tiver um BAA, ou tiver outras dúvidas sobre o uso da AWS para suas aplicações, entre em contato conosco para obter mais informações. 

P: O ElastiCache FedRAMP está autorizado?
O programa de conformidade com o FedRAMP da AWS inclui o ElastiCache para Redis como um serviço autorizado pelo FedRAMP. Clientes do governo dos EUA e seus parceiros agora podem usar a versão mais recente do ElastiCache para processar e armazenar seus sistemas, dados e workloads de missão crítica e de alto impacto do FedRAMP nas regiões AWS GovCloud (Leste dos EUA) e AWS GovCloud (Oeste dos EUA) e com impacto de nível moderado nas regiões Leste dos EUA (Ohio), Leste dos EUA (Norte da Virgínia), Oeste dos EUA (Norte da Califórnia) e Oeste dos EUA (Oregon).

Para saber mais, veja os seguintes recursos:

Para ver a lista atual dos programas de conformidade para os quais o ElastiCache está no escopo, consulte Serviços da AWS no escopo pelo programa de conformidade.

P: Há um custo adicional para usar os atributos de conformidade?
Não existe custo adicional para usar os atributos de conformidade.

Grupos de parâmetros

P: O que são grupos de parâmetros? Como eles são úteis?
Um grupo de parâmetro atua como um contêiner para valores de configuração de mecanismo que podem ser aplicados a um ou mais clusters. Se você criar um cluster sem especificar um grupo de parâmetros, um grupo de parâmetros padrão será usado. Esse grupo de parâmetros padrão contém padrões de mecanismos e padrões de sistema do ElastiCache otimizados para o cluster que você está executando. Contudo, se você desejar executar o cache com valores personalizados de configuração de mecanismo, crie um novo grupo de parâmetros, modificar os parâmetros desejados e alterar o cluster para utilizar o novo grupo de parâmetros. Após serem associados, todos os clusters que utilizarem um grupo de parâmetros específico receberão todas as atualizações de parâmetro para o grupo de parâmetros mencionado. Para obter mais informações sobre como configurar os grupos de parâmetros, consulte o Guia do usuário do ElastiCache para Redis ou do ElastiCache para Memcached.

P: Como posso escolher os parâmetros de configuração corretos para os meus caches?
O ElastiCache escolhe por padrão parâmetros de configuração ótimos para seu cache, levando em conta a capacidade de recursos de memória e computação do tipo de nó. Contudo, se você deseja alterá-los, isso é possível utilizando nossas APIs de gerenciamento de configuração. Leve em consideração que a alteração dos parâmetros de configuração dos valores recomendados pode ter efeitos indesejados, que variam de uma queda de performance até falhas de sistema. A alteração só deve ser feita por usuários avançados que desejem assumir esses riscos. Para obter mais informações sobre alteração de parâmetros, consulte o Guia do usuário do ElastiCache.

P: Como posso visualizar a definição atual dos meus parâmetros para um determinado grupo de parâmetros?
Você pode usar o console, as APIs do ElastiCache ou ferramentas da linha de comando para obter informações sobre os grupos de parâmetros e as definições de parâmetro correspondentes.

Redis

Atributos do Redis

P: O que é o ElastiCache para Redis?
O ElastiCache para Redis é um serviço web que simplifica a implantação e a execução de caches compatíveis com o protocolo Redis na nuvem. O serviço possibilita o gerenciamento, monitoramento e operação de um nó do Redis; a criação, exclusão e modificação dos nós pode ser realizada por meio do console do ElastiCache, da AWS CLI ou das APIs do serviço Web. O ElastiCache para Redis é compatível com configurações de alta disponibilidade, incluindo os modos de cluster habilitado e cluster desabilitado do Redis com failover automático do nó primário para a réplica.

O Amazon ElastiCache para Redis apresenta compatibilidade de protocolo com o Redis de código aberto?
Sim, o ElastiCache para Redis foi concebido para apresentar compatibilidade de protocolo com o Redis de código aberto. Código, aplicações, drivers e ferramentas usados que você usa atualmente com datastores Redis autônomos continuarão a funcionar com o ElastiCache for Redis, sem necessidade de alterações de código para implantações do Redis existentes em migração para o ElastiCache for Redis, exceto onde observado o contrário.

P: Quanto custa o ElastiCache para Redis?
Consulte a nossa tabela de preços para obter informações atualizadas.

P: O ElastiCache para Redis fornece suporte para operação Multi-AZ?
Sim. Com o ElastiCache para Redis, você pode criar uma réplica de leitura em outra Zona de disponibilidade da AWS. Ao usar o ElastiCache sem servidor para Redis, os dados são automaticamente armazenados de forma redundante em várias zonas de disponibilidade para alta disponibilidade. Ao projetar seu próprio cache do ElastiCache para Redis, em caso de falha de um nó, provisionaremos um novo. Em cenários em que o nó primário falha, o ElastiCache para promoverá automaticamente uma réplica de leitura existente para a função primária. Para obter mais detalhes sobre como lidar com falhas de nós, acesse Noções básicas sobre a replicação do Redis.

P: Como fazer upgrade para uma versão de mecanismo mais recente?
Você pode atualizar rapidamente para uma versão mais recente do mecanismo usando as APIs do ElastiCache e especificando sua versão de mecanismo preferida. No console do ElastiCache, você pode selecionar um cache e selecionar Modificar. O processo de atualização do mecanismo foi projetado para reter seus dados existentes. Para obter mais detalhes, consulte Estratégias e práticas recomendadas de armazenamento em cache.

P: Posso fazer downgrade para uma versão de mecanismo anterior?
Não, não há compatibilidade com versões de mecanismos anteriores.

P: Posso ter réplicas entre regiões com o ElastiCache para Redis?
Sim. Você pode criar réplicas entre regiões usando o atributo Datastore global no ElastiCache para Redis. O Datastore global disponibiliza replicação gerenciada, rápida, confiável e focada em segurança entre regiões. Com ele, você pode fazer gravações no cluster do ElastiCache for Redis em uma região e disponibilizar os dados para leitura de até dois outros clusters de réplica entre regiões. Isso permite leituras de baixa latência e recuperação de desastres entre regiões.

Performance

P: Quais são os benefícios de performance do ElastiCache para Redis?
O ElastiCache para Redis fornece threads de E/S aprimorados que oferecem melhorias significativas no throughput e na latência em escala por meio de multiplexação, descarregamento da camada de apresentação e muito mais. Os threads de E/S aprimorados melhoram a performance usando mais núcleos para processar a E/S e ajustar-se dinamicamente à workload. O ElastiCache para Redis melhora o throughput de clusters habilitados para TLS ao transferir a criptografia para os mesmos threads de E/S aprimorados. O ElastiCache para Redis versão 7.0 introduziu a multiplexação de E/S aprimorada, que combina várias solicitações de clientes em um único canal e melhora a eficiência do thread principal do Redis.

No ElastiCache para Redis versão 7.1 e superior, estendemos a funcionalidade aprimorada de threads de E/S para também lidar com a lógica da camada de apresentação. Os threads de E/S aprimorados não apenas leem a entrada do cliente, mas também analisam a entrada em um formato de comando binário do Redis, que é então encaminhado ao thread principal para execução, para fornecer ganhos de performance. O Amazon ElastiCache para Redis versão 7.1 pode alcançar até 100% mais throughput e 50% menos latência P99 em comparação com o ElastiCache for Redis versão 7.0. No r7g.4xlarge ou maior, você pode obter mais de 1 milhão de solicitações por segundo (RPS) por nó.

P: Como monitoro a utilização de CPU do Redis?
O ElastiCache fornece dois conjuntos diferentes de métricas para medir a utilização da CPU do seu cache, dependendo da sua opção de implantação de cache. Ao usar o ElastiCache sem servidor, você pode monitorar a utilização da CPU com a métrica de Unidades de processamento do ElastiCache (ECPU). O número de ECPUs consumidas por suas solicitações depende do tempo gasto pela vCPU e da quantidade de dados transferidos. Cada leitura e gravação, como os comandos GET e SET do Redis ou os comandos get e set do Memcached, exigem 1 ECPU para cada quilobyte (KB) de dados transferidos. Alguns comandos do Redis que operam em estruturas de dados na memória podem consumir mais tempo de vCPU do que um comando GET ou SET. O ElastiCache calcula o número de ECPUs consumidas com base no tempo de vCPU gasto pelo comando em comparação com uma linha de base do tempo de vCPU gasto por um comando Redis SET ou GET. Se seu comando consumir mais tempo de vCPU e transferir mais dados do que a linha de base de 1 ECPU, o ElastiCache calculará as ECPUs necessárias com base na maior das duas dimensões.

Ao projetar seu próprio cluster, você pode monitorar EngineCPUUtilization e CPUUtilization. A métrica CPUUtilization mede o uso de CPU para a instância (nó) e a métrica EngineCPUUtilization mede o uso no nível de processo do Redis. Ambas as métricas, EngineCPUUtilization e CPUUtilization, são necessárias porque o principal processo do Redis é single threaded e usa apenas uma CPU entre os vários núcleos de CPU disponíveis em uma instância. Portanto, a métrica CPUUtilization não fornece visibilidade precisa das taxas de uso de CPU no nível de processo do Redis. Recomendamos que você use conjuntamente as métricas EngineCPUUtilization e CPUUtilization para ter um entendimento detalhado da utilização da CPU para seus clusters do Redis.

Ambos os conjuntos de métricas estão disponíveis em todas as regiões da AWS, e você pode acessar essas métricas usando o Amazon CloudWatch ou no console. Além disso, recomendamos que você acesse a documentação para saber mais sobre métricas úteis para monitoramento de performance.

P: Como otimizo a performance do cliente Redis?
O Redis é um dos armazenamentos de chave-valor NoSQL mais populares e é conhecido por sua ótima performance. Para otimizar o uso do Redis, você também precisa de um cliente de alta performance.

Réplica de leitura

P: O que significa executar um nó do Redis como uma réplica de leitura?
As réplicas de leitura têm duas finalidades no Redis:

  • Tratamento de falhas
  • Escalabilidade de leitura

Quando você executa um cache com uma réplica de leitura, o nó primário atende a solicitações de gravações e leituras. A réplica serve exclusivamente para tráfego de leitura e também está disponível como um modo de espera aquecido caso o sistema primário fique danificado.

P: Quando seria interessante considerar o uso de uma réplica de leitura do Redis?
Com o ElastiCache sem servidor, as réplicas de leitura são mantidas automaticamente pelo serviço. Ao criar seu próprio cache, há vários cenários em que a implantação de uma ou mais réplicas de leitura para um determinado nó primário pode fazer sentido. Razões comuns para implantar uma réplica de leitura incluem:

  • Escalabilidade além da capacidade computacional ou de E/S de um único nó primário para cargas de trabalho com muita leitura: esse excesso de tráfego de leitura pode ser direcionado para uma ou mais réplicas de leitura.
  • Servindo tráfego de leitura enquanto o primário está indisponível: se o seu nó primário não puder aceitar solicitações de E/S (por exemplo, devido à suspensão de E/S para backups ou manutenção agendada), você poderá direcionar o tráfego de leitura para suas réplicas de leitura. Para esse caso de uso, lembre-se de que os dados na réplica de leitura podem estar desatualizados, já que a instância principal está indisponível. A réplica de leitura também pode ser usada no preparo para reiniciar um nó principal com falha.
  • Cenários de proteção de dados: a hipótese improvável de falha do nó primário ou da indisponibilidade da zona de disponibilidade onde reside o nó primário, você pode promover uma réplica de leitura em uma outra zona de disponibilidade para que ela se torne o novo nó primário. 

P: Como posso me conectar às minhas réplicas de leitura?

Você pode se conectar a uma réplica de leitura da mesma forma que se conectaria a um nó de cache primário. Se você tem várias réplicas de leitura, sua aplicação terá de determinar como o tráfego de leitura será distribuído entre elas. Veja aqui mais detalhes:

  • Clusters do Redis (modo de cluster desabilitado), use os endpoints de nós individuais para operações de leitura. (Na API/CLI, eles são chamados de endpoints de leitura.)
  • Os clusters do Redis (modo de cluster ativado) usam o endpoint de configuração do cluster para todas as operações. Você precisará usar um cliente que ofereça suporte ao Redis Cluster (Redis 3.2). Você ainda pode ler a partir de endpoints de nós individuais. (Na API e na CLI, eles são chamados de endpoints de leitura.)

P: Quantas réplicas de leitura eu posso criar para um determinado nó primário?
O ElastiCache permite criar até 5 (cinco) réplicas de leitura para um determinado nó de cache primário.

P: O que acontece com as réplicas de leitura na ocorrência de failover?
Caso ocorra um failover, todas as réplicas de leitura associadas e disponíveis devem automaticamente retomar a replicação após a conclusão do failover (recebendo atualizações da réplica de leitura recém-promovida).

P: Como o ElastiCache mantém minha réplica de leitura atualizada com seu nó primário?
As atualizações para um nó de cache primário serão automaticamente replicadas a qualquer réplica de leitura associada. Contudo, com a tecnologia de replicação assíncrona do Redis, uma réplica de leitura pode ficar defasada em relação a seu nó de cache primário por vários motivos. Os principais motivos incluem:

  • O volume de E/S de gravação para o nó de cache primário excede a taxa na qual as alterações podem ser aplicadas à réplica de leitura.
  • Partições de rede ou latência entre o nó de cache primário e uma réplica de leitura.

As réplicas de leitura estão sujeitas aos pontos fortes e fracos da replicação do Redis. Se você está usando réplicas de leitura, deve estar ciente do potencial de defasagem entre uma réplica de leitura e seu nó de cache primário, ou “inconsistência”. O ElastiCache emite uma métrica para ajudar você a entender a inconsistência.

P: Qual é o custo das réplicas de leitura? Quando começa e termina a cobrança?
Uma réplica de leitura é cobrada como um nó de cache padrão e com as mesmas taxas. Assim como um nó de cache padrão, a taxa por “hora de nó de cache” de uma réplica de leitura é determinada pela classe do nó de cache da réplica de leitura: visite a página de preços do ElastiCache para obter o preço atualizado. Você não será cobrado pela transferência de dados que ocorrer na replicação de dados entre seu nó de cache principal e a réplica de leitura. A cobrança por uma réplica de leitura será iniciada assim que a réplica de leitura for criada com êxito (quando o status for listado como ativo). A réplica de leitura continuará sendo cobrada com taxas por hora de nó de cache do ElastiCache padrão, até que você emita um comando para excluí-la.

P: O que acontece durante o failover e quanto tempo leva?
O failover iniciado é compatível com o ElastiCache, para que você possa retomar as operações de cache o mais rápido possível. Ao ocorrer um failover, o ElastiCache inverte o registro DNS do seu nó de cache para apontar para a réplica de leitura, que, por sua vez, é promovida e se torna o novo nó primário. Aconselhamos a seguir as práticas recomendadas e implementar a repetição da conexão do nó de cache na camada de aplicação. Normalmente, do início ao fim, as etapas de um a cinco abaixo são concluídas em seis minutos.

Estes são eventos de failover automático, listados na ordem de ocorrência:

  1. Mensagem do grupo de replicação: API Test Failover chamou pelo grupo de nós <node-group-id>
  2. Mensagem do cluster de cache: failover do nó primário <primary-node-id> para o nó de réplica <node-id> concluído
  3. Mensagem do grupo de replicação: failover do nó primário <primary-node-id> para o nó de réplica <node-id> concluído
  4. Mensagem do cluster de cache: recuperando nós de cache <node-id>
  5. Mensagem do cluster de cache: recuperação dos nós de cache <node-id> concluída

P: Posso criar uma réplica de leitura em outra região como meu nó primário?
Não. A réplica de leitura só pode ser provisionada em uma zona de disponibilidade igual ou diferente da mesma região do nó de cache primário. No entanto, é possível usar o Datastore global para Redis para trabalhar com replicação totalmente gerenciada, rápida, confiável e focada em segurança entre as regiões da AWS. Com esse atributo, é possível criar cluster de réplica de leitura entre regiões para que o ElastiCache para Redis habilite leituras de baixa latência e recuperação de desastres entre as regiões da AWS.

P: Posso ver em qual AZ meu principal está localizado atualmente?
Sim. É possível ter visibilidade da localização do nó primário atual utilizando o console ou a API DescribeCacheClusters.

P: Posso adicionar e remover nós de réplica de leitura no meu ambiente Redis Cluster?
Sim. É possível adicionar ou remover réplicas de leitura em um ou mais fragmentos em um ambiente Redis Cluster. O cluster permanece online e atende a solicitações de E/S durante essa operação.

Multi-AZ

P: O que é o Multi-AZ para o ElastiCache para Redis?
O Multi-AZ é um atributo que permite que você execute em uma configuração com maior disponibilidade ao projetar seu próprio cache do ElastiCache para Redis. Todos os caches ElastiCache sem servidor são executados automaticamente em uma configuração Multi-AZ. Um grupo de replicação do ElastiCache para Redis consiste em um primário e até cinco réplicas de leitura. Se o Multi-AZ for habilitado, então pelo menos uma réplica de leitura será exigida por nó primário. Durante determinados tipos de manutenção planejada, ou no improvável caso de uma falha no nó do ElastiCache ou na zona de disponibilidade, o ElastiCache detectará automaticamente a falha de um principal, selecionará uma réplica de leitura e a promoverá a novo principal. O ElastiCache também propaga as alterações de DNS da réplica de leitura promovida. Assim, se a sua aplicação gravar no endpoint do nó primário, nenhuma alteração de endpoint será necessária.
 
P: Quais são os benefícios do uso do Multi-AZ e quando devo usá-lo?
Os principais benefícios da execução do ElastiCache para Redis no modo Multi-AZ são maior disponibilidade e menor necessidade de administração. Ao executar o ElastiCache em uma configuração Multi-AZ, seus caches estão qualificados para o SLA de disponibilidade de 99,99%. Se ocorrer uma falha de nó primário do ElastiCache para Redis, o impacto na capacidade de ler e gravar no primário será limitado ao tempo necessário para a conclusão do failover automático. Quando o Multi-AZ é habilitado, o failover do nó do ElastiCache é automático e não exige administração. Não é mais necessário monitorar os nós do Redis e iniciar manualmente uma recuperação no caso de uma falha do nó primário.
 
P: Como funciona o Multi-AZ?
Você pode usar o Multi-AZ se utiliza o ElastiCache para Redis e tem um grupo de replicação consistindo em um nó primário e uma ou mais réplicas de leitura. Se o nó primário falhar, o ElastiCache detectará automaticamente a falha, selecionará uma das réplicas de leitura disponíveis e a promoverá a novo primário. O ElastiCache propagará as alterações de DNS da réplica promovida. Portanto, o seu aplicativo poderá continuar a gravar no endpoint primário. Além disso, o ElastiCache ativará um novo nó para substituir a réplica de leitura promovida na mesma zona de disponibilidade do principal que apresentou falha. Caso a falha do nó primário tenha sido motivada por uma falha temporária na zona de disponibilidade, a nova réplica será iniciada assim que a zona de disponibilidade for recuperada.
 
P: Posso ter as minhas réplicas na mesma AZ que o primário?
Sim. Observe que o posicionamento do primário e das réplicas na mesma zona de disponibilidade não tornará o grupo de replicação do ElastiCache para Redis resiliente a uma falha na zona de disponibilidade. Além disso, não será permitido ter réplicas na mesma zona de disponibilidade da principal se o Multi-AZ estiver ativado.
 
P: Que eventos podem causar o failover do ElastiCache para uma réplica de leitura?
O ElastiCache executará um failover para uma réplica de leitura caso ocorra um dos seguintes eventos:
  • Perda de disponibilidade no AZ da primária
  • Perda de conectividade de rede para principal
  • Falha de unidade computacional em nó primário

P: Qual réplica de leitura será promovida caso ocorra uma falha no nó primário?
Se houver mais de uma réplica de leitura, será promovida a que tiver a menor diferença de replicação assíncrona em relação ao nó primário.

P: Serei alertado quando ocorrer um failover automático?
Sim, o ElastiCache criará um evento para informá-lo da ocorrência de um failover automático. Você pode usar a API DescribeEvents para retornar informações sobre eventos relacionados ao seu nó do ElastiCache, ou selecionar a seção Events no console de gerenciamento do ElastiCache.

P: Após o failover, meu primário agora está localizado em um AZ diferente dos meus outros recursos da AWS (por exemplo, instâncias do Amazon EC2). Devo preocupar-me com a latência?
As AZs são projetadas para fornecer conectividade de rede de baixa latência para outras AZs na mesma região. Você pode considerar a definição da arquitetura da sua aplicação e de outros recursos da AWS com redundância em várias zonas de disponibilidade para que a aplicação seja resiliente no caso de uma falha de zona de disponibilidade.
 
P: Onde posso obter mais informações sobre o Multi-AZ?
Para obter mais informações sobre o Multi-AZ, consulte a documentação do ElastiCache.

Backup e restauração

P: O que é o recurso de backup e restauração?
O atributo de backup e restauração permite criar instantâneos de seus caches do ElastiCache for Redis. O ElastiCache armazena os snapshots, permitindo que o usuário os utilize para restaurar caches do Redis.

P: Por que preciso de snapshots?
A criação de snapshots pode ser útil no caso de perda de dados por falha nos nós ou também no caso improvável de ocorrência de uma falha de hardware. Outro motivo comum para utilizar backups é para fins de arquivamento. Os snapshots são armazenados no Amazon S3.

P: Como o recurso de backup e restauração funciona?
Quando um backup é iniciado, o ElastiCache cria um snapshot do cache do Redis que pode ser utilizado mais tarde para recuperação ou arquivamento. O backup pode ser iniciado a qualquer momento ou pode ser configurado com frequência diária e um período de retenção de até 35 dias. Ao escolher um snapshot para restaurar, um novo cluster do ElastiCache para Redis é criado e preenchido com os dados do snapshot. Os snapshots do ElastiCache para Redis são compatíveis com o formato de arquivo Redis RDB de código aberto.

P: Como começar com o recurso de backup e restauração?
Você pode usar o atributo de backup e restauração por meio do console, das APIs do ElastiCache e da AWS CLI. O atributo pode ser reativado e desativado quando você quiser.

P: Como especifico o cache e nó do Redis a serem incluídos no backup?
O atributo de backup e restauração cria snapshots por cache. Os usuários podem especificar qual cache do ElastiCache para Redis fazer backup por meio do console, da AWS CLI ou da API do ElastiCache. Recomendamos que os usuários habilitem o backup em uma das réplicas de leitura do cache, minimizando qualquer impacto potencial na primária. Ao usar o ElastiCache sem servidor, os backups são realizados automaticamente em réplicas de leitura.

P: Posso exportar para um bucket do S3 de minha propriedade snapshots do Amazon ElastiCache para Redis?
Sim, você pode exportar para um bucket autorizado do S3 na mesma região que o seu cache snapshots do ElastiCache para Redis.

P: Tenho múltiplas contas da AWS utilizando o ElastiCache para Redis. Posso utilizar snapshots do ElastiCache de uma conta para pré-carregar um cluster do ElastiCache para Redis em outra conta?
Sim. Primeiro você deve copiar o snapshot em um bucket autorizado do S3 de sua escolha na mesma região e, então, conceder permissões de bucket entre contas para a outra conta.

P: Quanto custa utilizar o recurso de backup e restauração?
O ElastiCache fornece espaço de armazenamento para um snapshot gratuitamente para cada cache ativo do ElastiCache para Redis. O armazenamento adicional será cobrado com base no espaço consumido pelos snapshots, com USD 0,085/GB por mês (mesmo preço em todas as regiões). A transferência de dados para usar os snapshots é gratuita.

P: O que acontece com os meus snapshots se eu excluir o cluster do ElastiCache para o cache do Redis?
Ao excluir um cache do ElastiCache para Redis, os seus snapshots manuais serão retidos. Você também poderá criar um snapshot final antes da exclusão do cache. Os snapshots de cache automáticos não serão retidos.

Mecanismo aprimorado

P: Qual é a diferença entre o mecanismo do ElastiCache para Redis e o do Redis de código aberto?
O mecanismo do ElastiCache para Redis é totalmente compatível com o Redis de código aberto, mas também apresenta melhorias que aumentam a performance, a potência e a estabilidade. Algumas das melhorias incluem:

  • Mais memória utilizável: agora, você pode alocar com segurança mais memória para a aplicação, sem correr o risco de aumentar o uso de gravação de memória em disco durante sincronizações e snapshots.
  • Sincronização improvisada: sincronização mais robusta mediante cargas pesadas e durante a recuperação de desconexões de rede. Além disso, as sincronizações são mais rápidas, pois tanto o principal quanto suas réplicas não usam mais o disco para essa operação.
  • Failovers mais estáveis: agora, no caso de um failover, o fragmento se recupera mais rapidamente, pois as réplicas não descarregam mais seus dados para fazerem uma ressincronização completa com o nó primário.
  • Descarga de TLS e multiplexação de E/S: o ElastiCache foi projetado para usar melhor os recursos disponíveis da CPU ao lidar com determinados processos relacionados à rede em threads dedicados.

P: É necessário alterar o código das aplicações para usar o mecanismo aprimorado do ElastiCache?
Não. O mecanismo aprimorado é totalmente compatível com o Redis de código aberto. Portanto, você poderá usufruir da potência e estabilidade melhoradas sem precisar alterar o código das aplicações.

P: Quanto custa o mecanismo aprimorado?
Não há cobrança adicional para o uso do mecanismo aprimorado.

Criptografia

P: Quais os benefícios proporcionados pela criptografia de dados em repouso do ElastiCache for Redis?
A criptografia em repouso oferece mecanismos para proteger contra o acesso não autorizado de seus dados. Quando ativado, ele criptografa os seguintes aspectos:

  • O disco durante as operações de sincronização, backup e troca
  • Backups armazenados no Amazon S3

O ElastiCache for Redis oferece criptografia padrão (gerenciada pelo serviço) em repouso, bem como a capacidade de usar suas próprias chaves simétricas do AWS KMS gerenciadas pelo cliente no AWS KMS. Acesse Criptografia em repouso para saber mais.

P: Quais os benefícios da criptografia de dados em trânsito do ElastiCache para Redis?
O atributo de criptografia em trânsito facilita a criptografia das comunicações entre clientes e o ElastiCache para Redis, bem como entre os servidores Redis (réplicas primárias e de leitura). Leia mais sobre a Criptografia em trânsito do ElastiCache.

P: Como faço para usar a criptografia de dados em trânsito, em repouso e o AUTH do Redis?
Criptografia em trânsito, criptografia em repouso, Redis AUTH e Role-Based Access Control (RBAC) são atributos que você pode selecionar ao criar seu cache do ElastiCache para Redis. Se você habilitou a criptografia em trânsito, pode optar por usar o AUTH do Redis ou o RBAC para aumentar a segurança e o controle de acesso.

P: É necessária alguma ação para renovar certificados TLS?
Não, o ElastiCache gerencia internamente a expiração e a renovação de certificações. Nenhuma ação de usuário é necessária para a manutenção contínua de certificados.

P: Há custos adicionais para usar a criptografia?
Não, não há custo adicional para usar a criptografia.

Datastore global

P: O que é o Datastore global do ElastiCache?
O Datastore global é um atributo do ElastiCache para Redis que disponibiliza replicação gerenciada, rápida, confiável e focada na segurança entre regiões. Com ele, você pode fazer gravações no cache do ElastiCache for Redis em uma região e disponibilizar os dados para leitura em até dois outros clusters de réplica entre regiões. Isso permite leituras de baixa latência e recuperação de desastres entre regiões.

Projetado para aplicações em tempo real com uma presença global, o Datastore global normalmente replica dados entre regiões em menos de um segundo, aumentando a capacidade de resposta de suas aplicações ao fornecer leituras geolocais mais próximas dos usuários finais. No caso raro de uma degradação regional, um dos caches de réplica entre regiões que não apresentar problemas poderá ser promovido a primário com recursos completos de leitura e gravação. Geralmente, depois de iniciada, a promoção é concluída em menos de um minuto, o que permite que as aplicações permaneçam disponíveis.

P: Para quantas regiões da AWS eu posso fazer a replicação?
Você pode fazer a replicação para até duas regiões secundárias dentro de um Datastore global. No caso raro de uma degradação regional, os caches em regiões secundárias podem ser usados para atender a leituras locais de baixa latência e para fazer a recuperação de desastres.

P: Quais versões de mecanismos aceitam o Datastore global?
O Datastore global é aceito no ElastiCache para Redis 5.0.6 e em versões superiores.

P: Como posso criar um Datastore global?
Você pode configurar um Datastore global ao usar um cache atual ou criar um novo que será usado como o primário. Você pode criar um Datastore global com apenas algumas etapas no Console de Gerenciamento do ElastiCache ou ao fazer download do SDK da AWS ou da AWS CLI mais recentes. O Datastore global é compatível com o AWS CloudFormation.

P: O ElastiCache faz automaticamente o failover de um Datastore global para promover um cluster secundário no caso de degradação de um cluster principal (na região)?
Não, o ElastiCache não promove automaticamente um cluster secundário no caso de degradação de um cluster principal (na região). Você pode iniciar manualmente o failover ao promover um cluster secundário para que ele se torne o primário. Geralmente, o failover e a promoção do cluster secundário são concluídos em menos de um minuto.

P: Como os meus dados são protegidos durante o uso do Datastore global?
Para manter os seus dados mais seguros, o Datastore global usa a criptografia em trânsito para o tráfego entre regiões. Além disso, você pode criptografar caches principais e secundários usando a criptografia em repouso para manter seus dados mais bem protegidos. Cada cache primário e secundário pode ter uma chave separada do AWS KMS gerenciada pelo cliente para criptografia em repouso.

P: Quais objetivo de ponto de recuperação (RPO) e objetivo de tempo de recuperação (RTO) são oferecidos pelo Datastore global?
O ElastiCache não disponibiliza um SLA para RPO e RTO. O RPO varia com base no atraso da replicação entre regiões e depende da latência de rede entre regiões, bem como do congestionamento do tráfego de rede entre regiões. Geralmente, o RPO do Datastore global é de menos de um segundo. Assim, os dados gravados na região principal ficam disponíveis nas regiões secundárias dentro desse intervalo. Já o RTO do Datastore global for Redis, geralmente, é de menos de um minuto. Depois que o failover de um cluster secundário é iniciado, o ElastiCache, geralmente, o promove para que ele obtenha recursos completos de leitura e gravação em menos de um minuto.

P: Qual é o preço do Datastore global?
O ElastiCache não cobra nada pelo uso do Datastore global for Redis. Você paga pelos caches primários e secundários no Datastore global e pelo tráfego de transferência de dados entre regiões.

Hierarquização de dados

P: O que são níveis de dados para o ElastiCache para Redis?
O recurso de níveis de dados oferece uma nova opção de preço/performance para workloads do Redis utilizando Solid State Drives (SSDs – Unidades de estado sólido) de baixo custo em cada nó de cluster, além de armazenar dados na memória. É ideal para workloads que acessam até 20% do conjunto de dados geral regularmente e para aplicações que podem tolerar latência adicional ao acessar dados no SSD. Os nós R6gd do ElastiCache com memória e SSD contam com quase 5 vezes mais capacidade de armazenamento total e podem ajudar você a obter mais de 60% de economia no preço ao executá-los no uso máximo, comparado aos nós R6g do ElastiCache com somente memória.
 
P: Como funcionam os níveis de dados do ElastiCache for Redis?
Os níveis de dados funcionam movendo de forma automática e transparente os itens da memória usados com menos frequência para SSDs NVMe conectados localmente quando a capacidade de memória disponível é completamente consumida. Quando um item movido para o SSD for acessado posteriormente, o ElastiCache o retornará à memória de forma assíncrona antes de atender à solicitação.
 
P: Que performance posso esperar ao usar clusters com níveis de dados?
Os níveis de dados foram projetados para ter um impacto mínimo na performance da aplicação. Assumindo valores de string de 500 bytes, você pode esperar uma latência adicional de 300 µs em média para solicitações de dados armazenados no SSD em comparação com solicitações de dados na memória.
 
P: Que versões de mecanismo são compatíveis com níveis de dados?
O ElastiCache for Redis é compatível com níveis de dados Redis versões 6.2 e posteriores.
 
P: Quais tipos de nós são compatíveis com níveis de dados?
O ElastiCache for Redis é compatível com níveis de dados em clusters do Redis que usam nós R6gd.
 
P: Que recursos do ElastiCache são compatíveis com clusters que usam níveis de dados?
Todos os comandos do Redis e a maioria dos recursos do ElastiCache são compatíveis com níveis de dados. Para obter uma lista de recursos que não são compatíveis com clusters que usam níveis de dados, consulte a documentação.
 
P: Qual é o preço dos níveis de dados do ElastiCache for Redis?
Não há custos adicionais para o uso de níveis de dados além do custo por hora do nó. Os nós com níveis de dados estão disponíveis com preços sob demanda e como nós reservados. Para consultar preços, acesse a página de preços do ElastiCache.

Memcached

Atributos do Memcached

P: O que eu posso armazenar em cache usando o ElastiCache para Memcached?
Você pode armazenar em cache uma variedade de objetos usando o ElastiCache para Memcached. Esses objetos incluem o conteúdo em armazenamentos de dados persistentes (como Amazon Relational Database Service (Amazon RDS), Amazon DynamoDB ou bancos de dados autogerenciados hospedados no Amazon EC2), páginas da Web geradas dinamicamente (com o Nginx, por exemplo) e dados de sessão transitórios que podem não exigir um armazenamento de apoio persistente. Você também pode utilizar o serviço para implantar contadores de alta frequência para aplicar controle de admissões em aplicações Web de grande volume.

P: Posso utilizar o ElastiCache para Memcached com um datastore persistente da AWS como o Amazon RDS ou o DynamoDB?
Sim. O ElastiCache é um front-end ideal para datastores, como Amazon RDS ou DynamoDB, que proporciona um nível médio de alta performance para aplicações com taxas de solicitação extremamente altas ou requisitos de baixa latência.

P: Atualmente, eu uso o Memcached. Como faço para migrar para o ElastiCache?
O ElastiCache apresenta protocolo compatível com o Memcached. Portanto, você pode usar operações padrão do Memcached como get, set, incr e decr da mesma forma que usaria em implantações do Memcached. O ElastiCache é compatível com protocolos de texto e binários. Também suporta a maioria dos resultados de estatísticas padrão, os quais também podem ser vistos como gráficos com o CloudWatch. Sendo assim, você pode passar a usar o ElastiCache sem recompilar ou refazer os links de suas aplicações. As bibliotecas que usa continuarão funcionando. Para configurar os servidores de cache acessados pela aplicação, basta atualizar o arquivo de configuração Memcached da aplicação para incluir os endpoints dos servidores (nós) que provisionamos para você. Você pode usar a opção Copy Node Endpoints no console ou a API DescribeCacheClusters para obter uma lista dos endpoints. Como em qualquer processo de migração, é recomendável um teste completo da nova implantação do ElastiCache antes de concluir o corte de sua solução atual.

Você pode acessar clusters do ElastiCache em uma Amazon VPC pela rede do Amazon EC2 ou do seu próprio datacenter. Consulte os padrões de acesso da Amazon VPC para obter mais detalhes. O ElastiCache usa entradas DNS para permitir que aplicações cliente localizem servidores (nós). O nome de DNS de um nó não muda, mas o endereço IP de um nó pode ser alterado com o tempo, por exemplo, quando os nós forem substituídos automaticamente após uma falha em uma instalação que não seja da VPC. Consulte as perguntas frequentes para obter recomendações sobre como lidar com falhas de nó.

Configuração e escalabilidade

P: Como seleciono um tipo de nó correto para uma aplicação?
Embora não haja um resposta exata para essa pergunta, com o ElastiCache, você não precisa se preocupar em obter o número de nós exato, pois é possível adicionar ou remover nós posteriormente de maneira muito rápida. Você também pode usar o ElastiCache sem servidor para simplificar a execução de um cache do Memcached altamente disponível. Os dois seguintes aspectos inter-relacionados poderiam ser considerados na escolha da sua configuração inicial:

  • A memória total necessária para que os seus dados atinjam a taxa de acertos do cache de destino e
  • O número de nós necessários para manter uma performance aceitável da aplicação sem sobrecarregar o back-end de banco de dados no caso de falhas do nó.

A quantidade de memória necessária depende do tamanho do seu conjunto de dados e dos padrões de acesso da aplicação. Para melhorar a tolerância a falhas, quando você tiver uma ideia aproximada da memória total necessária, divida essa memória em nós suficientes para que a aplicação possa sobreviver à perda de um ou dois nós. Por exemplo, se a sua solicitação de memória for de 13 GB, use dois nós cache.m4.large em vez de usar um nó cache.m4.xlarge. É importante que outros sistemas, como bancos de dados, não fiquem sobrecarregados se a taxa de acertos do cache for temporariamente reduzida durante a recuperação de falhas de um ou mais nós. Consulte o Guia do Usuário do ElastiCache para obter mais detalhes.

P: Um cluster pode abranger várias AZs?
Sim. Ao criar um cluster ou adicionar nós a um cluster atual, você pode escolher as zonas de disponibilidade para os novos nós. É possível especificar o número de nós solicitada em cada zona de disponibilidade ou selecionar Distribuir nós entre as zonas. Se o cluster estiver na Amazon VPC, os nós podem apenas ser colocados em zonas de disponibilidade que fazem parte do grupo de sub-rede de cache selecionado. Para obter mais detalhes, consulte a documentação do ElastiCache VPC.

P: Quantos nós posso executar por região no ElastiCache Memcached?
É possível executar no máximo 300 nós por região. Caso precise de mais nós, preencha o formulário de solicitação de aumento de limite do ElastiCache.

P: Como o ElastiCache responde a uma falha de nó?
O serviço detectará a falha do nó e reagirá conforme as seguintes etapas automáticas:

  • O ElastiCache reparará o nó obtendo novos recursos de serviços, redirecionando o nome de DNS atual do nó para que indique esses novos recursos. Para instalações da Amazon VPC, o ElastiCache garantirá que o nome de DNS e o endereço IP do nó permanecerá o mesmo quando o nós forem recuperados no caso de falha. Para instalações que não forem da Amazon VPC, o ElastiCache garantirá que o nome de DNS de um nó não seja alterado. No entanto, o endereço IP subjacente do nó poderá mudar.
  • Caso associe um tópico SNS ao seu cluster, quando o novo nó for configurado e estiver pronto para ser utilizado, o ElastiCache enviará uma notificação SNS para você avisando que a recuperação do nó ocorreu. Assim, você terá a opção de organizar as aplicações para forçar a biblioteca cliente do Memcached a tentar reconectar-se aos nós reparados. Isso poderia ser importante, pois algumas bibliotecas do Memcached encerrarão o uso de um servidor (nó) indefinidamente, caso encontrem erros de comunicação ou esgotamento de tempo limite no servidor especificado.

P: Se eu determinar que preciso de mais memória para dar suporte a uma aplicação, como posso aumentar a memória total com o ElastiCache?
Você pode adicionar mais nós ao seu cluster do Memcached atual ao usar a opção Add Node, na guia Nodes, para seu cluster de cache no console, ou ao chamar a API ModifyCacheCluster.

Compatibilidade

P: Como o ElastiCache interage com outros serviços da AWS?
O ElastiCache funciona de modo ideal como um front-end para serviços da AWS, como o Amazon RDS e o DynamoDB, disponibilizando latência extremamente baixa para aplicações de alta performance e transferindo parte do volume de solicitações, além de proporcionar uma duradoura resiliência de dados. O serviço também pode ser usado para melhorar a performance da aplicação em conjunto com o Amazon EC2 e o Amazon EMR.

P: O ElastiCache é mais apropriado a alguma linguagem de programação específica?
As bibliotecas de clientes do Memcached estão disponíveis para a maioria das linguagens de programação mais conhecidas. Caso encontre algum problema com clientes específicos do Memcached ao utilizar o ElastiCache, entre em contato conosco no fórum da comunidade do ElastiCache.

P: Quais bibliotecas mais populares do Memcached são compatíveis com o ElastiCache?
O ElastiCache não exige bibliotecas de cliente específicas e funciona com bibliotecas de cliente Memcached existentes sem recompilação ou revinculação de aplicações (Memcached 1.4.5 e versões posteriores). Os exemplos incluem libMemcached (C) e bibliotecas baseadas nele (por exemplo, PHP, Perl, Python), spyMemcached (Java) e fauna (Ruby).

Descoberta Automática

P: O que é a Descoberta Automática e o que posso fazer com ela?
A Descoberta Automática é um atributo que poupa tempo e esforço, reduzindo ao mesmo tempo a complexidade de suas aplicações. A Descoberta Automática descobre automaticamente nós de cache por clientes quando eles são adicionados ou removidos de um cluster do ElastiCache. Anteriormente, para processar alterações de associação de cluster os desenvolvedores tinham que atualizar manualmente a lista de endpoints de nó de cache. Dependendo de como a aplicação cliente foi arquitetada, geralmente será necessária uma inicialização de cliente (desligando a aplicação e reiniciando-a), resultando em tempo de inatividade. Por meio da Descoberta Automática, o ElastiCache remove essa complexidade. Com a Descoberta Automática, além de ser compatível com versões anteriores do protocolo Memcached, o ElastiCache fornece aos clientes informações sobre a associação de cluster de cache. Um cliente capaz de processar as informações adicionais se reconfigurará sozinho, sem qualquer inicialização, para usar os nós mais atuais de um cluster do ElastiCache.

P: Como funciona a Descoberta Automática?
Um cluster do ElastiCache pode ser criado com nós que são endereçáveis por meio de endpoints indicados. Com a Descoberta Automática, o cluster do ElastiCache também recebe um endpoint de configuração exclusivo, que é um Registro de DNS válido pela duração do cluster. Esse Registro de DNS contém os Nomes de DNS dos nós que pertencem ao cluster. O ElastiCache garantirá que o endpoint de configuração sempre aponte para, pelo menos, um desses nós de destino. Uma consulta ao nó de destino então retornará endpoints para todos os nós do cluster em questão. Depois disso, você poderá se conectar aos nós do cluster como antes e usar os comandos do protocolo Memcached, como get, set, incr e decr. Para obter mais detalhes, consulte a documentação. Para usar a Descoberta Automática, você precisará de um cliente compatível com a Descoberta Automática. Os clientes de Descoberta Automática para .Net, Java e PHP estão disponíveis para fazer download no console do ElastiCache. Após a inicialização, o cliente determinará automaticamente os atuais membros do cluster do ElastiCache usando o endpoint de configuração. Quando você fizer alterações em seu cluster de cache acrescentando ou removendo nós ou se um nó for substituído mediante falha, o cliente de Descoberta Automática determinará as alterações e você não precisará inicializar seus clientes manualmente.

P: Como posso começar a usar a Descoberta Automática?
Para começar a usar, faça download do Cliente de Cluster do ElastiCache selecionando o link “Download ElastiCache Cluster Client”, no console do ElastiCache. Para efetuar o download, você deverá ter uma conta do ElastiCache; se ainda não tiver uma, poderá se cadastrar na página de detalhes do ElastiCache. Depois de efetuar download do cliente, poderá começar a configurar e ativar seu cluster do ElastiCache acessando o console do ElastiCache. Mais detalhes podem ser encontrados na documentação.

P: Se eu continuar usando meus próprios clientes Memcached com meu cluster do ElastiCache poderei ter esse atributo?
Não, você não terá o atributo de Descoberta Automática com os clientes Memcached existentes. Para usar o atributo de Descoberta Automática, um cliente deve ser capaz de usar um endpoint de configuração e determinar os endpoints de nó de cluster. Você pode usar o Cliente de Cluster do ElastiCache ou estender seu cliente Memcached existente para incluir o conjunto de comandos de Descoberta Automática.

P: Quais são os requisitos mínimos de hardware e software para a Descoberta Automática?
Para aproveitar as vantagens da Descoberta Automática, um cliente capaz de usar a Descoberta Automática deve ser usado para se conectar a um cluster do ElastiCache. Atualmente, o ElastiCache é compatível com clientes capazes de usar a Descoberta Automática para .Net, Java e PHP. Eles podem ser obtidos por download no console do ElastiCache. É possível criar clientes para qualquer outra linguagem ao criar com base nos clientes Memcached conhecidos disponíveis.

P: Como faço para modificar ou gravar meu próprio cliente Memcached para oferecer suporte à Descoberta Automática?
Você pode utilizar qualquer Biblioteca de Cliente Memcached e acrescentar suporte para a Descoberta Automática. Se quiser acrescentar ou modificar seu próprio cliente para habilitar a Descoberta Automática, consulte a documentação do conjunto de comandos da Descoberta Automática.

P: Posso continuar trabalhando com meu cliente Memcached existente se eu não precisar de Descoberta Automática?
Sim, o, ElastiCache ainda está em conformidade com o protocolo Memcached e não requer que você altere seus clientes. No entanto, para aproveitar o atributo Descoberta Automática, aprimoramos os recursos do cliente Memcached. Se você escolher não usar o Cliente de Cluster do ElastiCache, poderá continuar usando seus próprios clientes ou modificar a biblioteca de seu próprio cliente para compreender o conjunto de comandos da Descoberta Automática.

P: Posso ter clientes heterogêneos ao usar a Descoberta Automática?
Sim, o mesmo cluster do ElastiCache pode ser conectado através de um cliente compatível com Descoberta Automática e o cliente Memcached tradicional ao mesmo tempo. O ElastiCache permanece 100% em conformidade com o Memcached.

P: Posso parar de usar a Descoberta Automática?
Sim, você pode parar de usar a Descoberta Automática a qualquer momento. Você pode desativar a Descoberta Automática ao especificar o modo de operação durante a inicialização do cliente de Cluster do ElastiCache. Além disso, como o ElastiCache continua sendo compatível com o Memcached, você poderá usar qualquer cliente compatível com o protocolo Memcached como antes.

Gerenciamento de versões do mecanismo

P: Posso controlar se e quando a versão de mecanismo que ativou o cluster do ElastiCache será atualizada para novas versões compatíveis?
O ElastiCache permite que você controle se e quando o software compatível com o protocolo do Memcached que está alimentando o seu cluster será atualizado com novas versões compatíveis com o ElastiCache. Isso lhe proporciona a flexibilidade de manter a compatibilidade com versões específicas do Memcached, testar novas versões com sua aplicação antes de implantá-la na produção e realizar atualizações de versões de acordo com seus próprios termos e cronogramas. Como as atualizações de versões principais envolvem alguns riscos de compatibilidade, não serão efetuadas automaticamente e devem ser executadas manualmente. Essa abordagem à aplicação de patches de software proporciona a você o controle sobre atualizações de versão, além de transferir o trabalho de aplicação de patches para o ElastiCache. Saiba mais sobre o gerenciamento de versões lendo as perguntas frequentes a seguir. Você também pode consultar o Guia do usuário do ElastiCache. Embora a funcionalidade de gerenciamento de versões de mecanismo tenha sido criada para oferecer o maior controle possível sobre como é feita a aplicação de patches, poderemos aplicar os patches no cluster por você, caso seja identificada alguma vulnerabilidade de segurança no sistema ou no software do cache.

P: Como especifico qual versão compatível com o Memcached meu cluster deve executar?
É possível especificar qualquer versão compatível atual (secundária ou primária) ao criar um novo cluster. Se você desejar iniciar a atualização de uma versão de mecanismo compatível, use a opção “Modify” do seu cluster. Especifique a versão que deseja atualizar no campo “Cache Engine Version”. A atualização será aplicada automaticamente e de imediato (se a opção “Applied Immediately” estiver selecionada) ou durante a próxima janela de manutenção agendada para o seu cluster.

P: Posso testar meu cluster em uma nova versão antes de atualizá-lo?
Sim. É possível fazer isso ao criar um novo cluster com a nova versão de mecanismo. Você pode direcionar a aplicação de desenvolvimento/preparação para esse cluster, testá-la e decidir se atualiza ou não o cluster original.

P: O ElastiCache fornece diretrizes para suportar novas versões do ou deixar de utilizar versões do Memcached suportadas atualmente?
Pretendemos oferecer suporte a versões adicionais do Memcached para o ElastiCache, tanto principais quanto secundárias. O número de novos lançamentos de versões compatíveis em um determinado ano poderá variar de acordo com a frequência e o conteúdo dos lançamentos de versão do Memcached e o resultado de uma intensa inspeção do lançamento por nossa equipe de engenharia.

P: Como posso atualizar para a versão mais recente do Memcached?
Você pode atualizar seu cluster atual do Memcached usando o processo Modify. Ao atualizar de uma versão mais antiga do Memcached para a versão 1.4.33 ou outra mais recente, verifique se os valores existentes do parâmetro max_chunk_size atendem às condições necessárias do parâmetro slab_chunk_max. Analise os pré-requisitos de atualização.

Saiba mais sobre o preço do ElastiCache para Redis

Acesse a página de definição de preço