P: O que é o Amazon ElastiCache?

O Amazon ElastiCache é um web service que facilita a implantação e a execução de nós de servidor compatíveis com Memcached ou Redis na nuvem. O Amazon ElastiCache melhora a performance de aplicações Web, permitindo que você recupere informações de um sistema rápido, na memória e gerenciado, em vez de depender totalmente de bancos de dados mais lentos baseados em disco. 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 Amazon 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 Amazon ElastiCache automatiza tarefas administrativas comuns necessárias para operar um ambiente distribuído de chave-valor na memória. Ao usar o Amazon ElastiCache, você pode adicionar uma camada na memória ou de cache à arquitetura o aplicativo em questão de minutos com alguns cliques no Console de Gerenciamento da AWS. Depois que um cluster é provisionado, o Amazon ElastiCache detecta e substitui automaticamente nós com falha, disponibilizando um sistema resiliente que mitiga o risco de sobrecarga de bancos de dados, que retarda os tempos de carga de sites e aplicativos. Por meio da integração com o monitoramento do Amazon CloudWatch, o Amazon ElastiCache disponibiliza maior visibilidade sobre as principais métricas de performance associadas aos seus nós. O Amazon ElastiCache oferece compatibilidade de protocolo com o Memcached e o Redis. Portanto, o código, os aplicativos e as ferramentas conhecidos que você usa hoje em ambientes do Memcached ou do Redis atuais funcionarão perfeitamente com o serviço. O suporte à configuração em cluster do Amazon ElastiCache proporciona os benefícios de um serviço gerenciado rápido, escalável e fácil de usar que pode atender às necessidades dos aplicativos mais exigentes. Assim como todos os serviços da Amazon Web Services, não há investimentos adiantados, e você paga somente pelos recursos que utilizar.

P: O que é o armazenamento em memória cache e ele como ajuda meus aplicativos?

O Amazon ElastiCache pode ser usado para melhorar significativamente a latência e o throughput de cargas de trabalho de aplicativos que exijam muita leitura (como redes sociais, jogos, compartilhamento de mídia e portais de perguntas frequentes) ou cargas de trabalho de computação intensiva (como mecanismo de recomendação). O armazenamento em cache na memória melhora a performance do aplicativo 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: Posso usar o Amazon ElastiCache para casos de uso que não envolvam cache?

R: Sim. O ElastiCache for Redis pode ser usado como um armazenamento de dados de valor-chave principal na memória, fornecendo performance de dados rápida e com tempo inferior a um milissegundo, alta disponibilidade e escalabilidade. Você pode optar por configurar um cluster de 500 nós que varia entre 83 fragmentos (um mestre e cinco réplicas por fragmento) e 500 fragmentos (um único mestre e sem réplicas) que fornecerá a você até 340 TB de memória. O suporte para cluster de 500 nós está disponível no Amazon ElastiCache for Redis do Redis versão 5.0.6 em diante. Veja aqui outros casos de uso, como classificações, limites de taxa, filas e chat.

P: Posso usar o Amazon ElastiCache por meio do AWS CloudFormation?

O AWS CloudFormation simplifica o provisionamento e o gerenciamento mediante a disponibilização de modelos do AWS CloudFormation para provisionar serviços ou aplicações de modo rápido e confiável. O AWS CloudFormation proporciona compatibilidade abrangente ao Amazon ElastiCache, disponibilizando modelos para criar clusters(MemCached e Redis) e grupos de replicação. Os modelos foram atualizados de acordo com o anúncio mais recente do ElastiCache Redis sobre a configuração em cluster do Redis, além de disponibilizarem flexibilidade e facilidade de uso para os clientes do Amazon ElastiCache.

P: O que o Amazon ElastiCache pode gerenciar em meu nome?

O Amazon ElastiCache gerencia o trabalho envolvido na configuração de um ambiente na memória distribuído, que abrange do provisionamento de recursos de servidor solicitados por você até a instalação do software. Quando o seu ambiente estiver funcionando, o serviço automatizará tarefas administrativas comuns, como a detecção e a recuperação de falhas, assim como a aplicação de patches de software. O Amazon ElastiCache disponibiliza métricas de monitoramento detalhadas associadas aos seus nós, permitindo a você diagnosticar e reagir aos problemas muito rapidamente. Por exemplo, é possível configurar limites e ser avisado por meio de alarmes quando um de seus nós estiver sobrecarregado de solicitações.

P: O que são nós, fragmentos e clusters do Amazon ElastiCache?

Um nó é o menor componente de uma implantação do Amazon ElastiCache. Trata-se de um bloco de tamanho fixo de RAM anexada à rede e segura. Cada nó executa uma instância do serviço compatível com o protocolo Memcached ou Redis, além de ter porta e nome de DNS próprios. Vários tipos de nós são compatíveis, cada um com uma quantidade de memória associada diferente. Um fragmento do Redis é um subconjunto do espaço de chaves do cluster que pode incluir um nó primário, além de zero ou mais réplicas de leitura. Para obter mais detalhes sobre a implantação do Redis, consulte a seção abaixo. Os fragmentos se combinam para formar um cluster.

P: O Amazon ElastiCache é compatível com quais mecanismos?

O Amazon ElastiCache oferece o Redis, escolhido como o banco de dados preferido dos desenvolvedores na Pesquisa com desenvolvedores da Stack Overflow de 2020, e o Memcached totalmente gerenciados para as aplicações mais exigentes que precisam de tempos de resposta inferiores a um milissegundo.

P: Como começo a usar o Amazon ElastiCache?

Caso você ainda não esteja cadastrado no Amazon ElastiCache, é possível clicar no botão "Get started" na página do Amazon ElastiCache e completar o processo de cadastro. É necessário ter uma conta da Amazon Web Services. Caso ainda não tenha uma conta, você será solicitado a criá-la ao iniciar o processo de cadastro do Amazon ElastiCache. Depois de fazer seu cadastro no ElastiCache, consulte a documentação do Amazon ElastiCache, que inclui o nosso Guia de conceitos básicos do Amazon ElastiCache for Redis ou do Amazon ElastiCache for Memcached.

Assim que você se familiarizar com o Amazon ElastiCache, poderá iniciar um cluster em minutos usando o Console de Gerenciamento da AWS ou as APIs do Amazon ElastiCache.

P: Como faço para criar um cluster?

Os clusters são simples de criar com o Console de Gerenciamento da AWS, as APIs do Amazon ElastiCache ou as ferramentas da linha de comando. Para executar um cluster usando o Console de Gerenciamento da AWS, clique no botão “Create” na guia “Memcached” ou “Redis”. A partir daí, tudo o que você precisa especificar é o identificador, o tipo de nó e o número de nós do seu cluster para criar um cluster com a quantidade de memória necessária. Como alternativa, você pode criar o cluster usando a API CreateCacheCluster ou o comando elasticache-create-cache-cluster. Se você não especificar uma zona de disponibilidade ao criar um cluster, a AWS fará isso automaticamente com base nos seus requisitos de memória e capacidade disponível.

P: Quais tipos de nó posso selecionar?

O Amazon ElastiCache é compatível com nós dos seguintes tipos:

Nós da geração atual:

  • cache.m4.large: 6,42 GiB
  • cache.m4.xlarge: 14,28 GiB
  • cache.m4.2xlarge: 29,7 GiB
  • cache.m4.4xlarge: 60,78 GiB
  • cache.m4.10xlarge: 154,64 GiB
  • cache.m5.large: 6,38 GiB
  • cache.m5.xlarge: 12,93 GiB
  • cache.m5.2xlarge: 26,04 GiB
  • cache.m5.4xlarge: 52,26 GiB
  • cache.m5.12xlarge: 157,12 GiB
  • cache.m5.24xlarge: 314,32 GiB
  • cache.m6g.large: 6,38 GiB
  • cache.m6g.xlarge: 12,94 GiB
  • cache.m6g.2xlarge: 26,05 GiB
  • cache.m6g.4xlarge: 52,26 GiB
  • cache.m6g.8xlarge: 103,68 GiB
  • cache.m6g.12xlarge: 157,13 GiB
  • cache.m6g.16xlarge: 209,55 GiB
  • cache.r4.large: 12,3 GiB
  • cache.r4.xlarge: 25,05 GiB
  • cache.r4.2xlarge: 50,47 GiB
  • cache.r4.4xlarge: 101,38 GiB
  • cache.r4.8xlarge: 203,26 GiB
  • cache.r4.16xlarge: 407 GiB
  • cache.r5.large: 13,07 GiB
  • cache.r5.xlarge: 26,32 GiB
  • cache.r5.2xlarge: 52,82 GiB
  • cache.r5.4xlarge: 105,81 GiB
  • cache.r5.12xlarge: 317,77 GiB
  • cache.r5.24xlarge: 635,61 GiB
  • cache.r6g.large: 13,07 GiB
  • cache.r6g.xlarge: 26,32 GiB
  • cache.r6g.2xlarge: 52,82 GiB
  • cache.r6g.4xlarge: 105,81 GiB
  • cache.r6g.8xlarge: 209,55 GiB
  • cache.r6g.12xlarge: 317,77 GiB
  • cache.r6g.16xlarge: 419,1 GiB
  • cache.t2.micro: 555 MB
  • cache.t2.small: 1,55 GiB
  • cache.t2.medium: 3,22 GiB
  • cache.t3.micro: 0,5 GiB
  • cache.t3.small: 1,37 GiB
  • cache.t3.medium: 3,09 GiB
Nós da geração anterior:
 
  • cache.m1.small: 1,3 GiB
  • cache.m1.medium: 3,35 GiB
  • cache.m1.large: 7,1 GiB
  • cache.m1.xlarge: 14,6 GiB
  • cache.m2.xlarge: 16,7 GiB
  • cache.m2.2xlarge: 33,8 GiB
  • cache.m2.4xlarge: 68 GiB
  • cache.m3.medium: 2,78 GiB
  • cache.m3.large: 6,05 GiB
  • cache.m3.xlarge: 13,3 GiB
  • cache.m3.2xlarge: 27,9 GiB
  • cache.r3.large: 13,5 GiB
  • cache.r3.xlarge: 28,4 GiB
  • cache.r3.2xlarge: 58,2 GiB
  • cache.r3.4xlarge: 118 GiB
  • cache.r3.8xlarge: 237 GiB
  • cache.t1.micro: 213 MB
  • cache.c1.xlarge: 6,6 GiB

Cada tipo de nó acima lista a memória disponível para o Memcached ou o Redis após levar em consideração a sobrecarga do software de sistema Amazon ElastiCache na conta. A quantidade total de memória em um cluster é um número inteiro múltiplo da memória disponível em cada estilhaço. Por exemplo, um cluster que contenha 10 estilhaços de 6 GB cada disponibilizará 60 GB de memória total.

P: Como posso acessar meus nós?

Quando seu cluster estiver disponível, será possível recuperar os endpoints do nó seguindo estas etapas no Console de Gerenciamento da AWS:

  • Navegue até a guia “Amazon ElastiCache”.
  • Clique no link “(número de) nós” e navegue para a guia “Nós”.
  • Clique no botão “Copy Node Endpoint(s)”.

Outro modo seria utilizar a API DescribeCacheClusters para recuperar a lista de endpoints

Então, você pode configurar seu cliente Memcached ou Redis com esta lista de endpoints e usar sua linguagem de programação favorita para adicionar ou excluir dados de seus nós do ElastiCache. Para autorizar solicitações de rede para os seus nós, será necessário autorizar o acesso. Para obter uma explicação detalhada para começar, consulte nosso Guia de conceitos básicos sobre o Amazon ElastiCache for Redis ou sobre o Amazon ElastiCache for Memcached.

P: O que é uma janela de manutenção? Meus nós ficarão disponíveis durante a manutenção do software?

Você pode considerar a janela de manutenção do Amazon ElastiCache como uma oportunidade de controlar o momento de uma correção de software: quando solicitada ou conforme a necessidade. Se um evento de "manutenção" está programado para determinada semana, ele será iniciado e concluído em algum momento durante a janela de manutenção de 60 minutos que você identificar.

Seus nós podem sofrer algum período de inatividade durante a janela de manutenção, caso haja uma correção de software agendada. Consulte Engine Version Management para obter mais detalhes. A correção pode ser solicitada pelo usuário em caso de, por exemplo, uma atualização do software de cache, ou pode ser determinada conforme a necessidade (se identificamos alguma vulnerabilidade de segurança no sistema ou software de cache). As correções de software ocorrem ocasionalmente (geralmente, uma vez a cada poucos meses) e raramente exigem mais do que uma fração da janela de manutenção. Se você não especificar uma janela de manutenção semanal preferencial ao criar seu cluster, um valor padrão de 60 minutos será atribuído. Se desejar fazer modificações durante a manutenção executada em seu nome, altere a instância de banco de dados no Console de Gerenciamento da AWS ou use a API ModifyCacheCluster. Cada um de seus clusters pode ter janelas de manutenção preferenciais diferentes, se assim você desejar.


P: Como será a cobrança e o faturamento do uso que eu fizer do Amazon ElastiCache?

Você paga somente por aquilo que usa e Não há taxa mínima. A definição de preço é feita de acordo com as horas de nó utilizadas para cada tipo de nó. As horas parciais consumidas são faturadas como horas inteiras. Não há custos para a transferência de dados entre o Amazon EC2 e o Amazon ElastiCache na mesma zona de disponibilidade. Enquanto a cobrança por transferência de dados regionais do Amazon EC2 é efetuada ao transferir dados entre uma instância do Amazon EC2 e um nó do Amazon ElastiCache em diferentes zonas de disponibilidade da mesma região, você só é cobrado pela transferência de dados para dentro ou para fora da instância do Amazon EC2. Não há nenhuma cobrança do Amazon ElastiCache Data Transfer para o tráfego dentro ou fora do próprio Amazon ElastiCache Node. As taxas padrão de transferência de dados se aplicam aos dados transferidos de uma região. Para obter mais informações, visite a página de definição de preço.

P: Quando o faturamento dos meus nós do Amazon ElastiCache começa e quando termina?

O faturamento de um nó começa assim que ele estiver disponível. O faturamento continua até que o nó seja encerrado, o que ocorreria com a sua exclusão.

P: O que define as horas faturáveis do nó do ElastiCache?

As horas dos nós são faturadas de acordo com o tempo em que eles estiverem sendo executados em um estado “disponível”. Se você não desejar mais ser cobrado pelo nó, deverá encerrá-lo para evitar o faturamento das horas de nó adicionais.

P: Os preços incluem impostos?

Salvo indicação em contrário, nossos preços excluem impostos e taxas aplicáveis, incluindo o IVA e o imposto sobre vendas aplicável. Para clientes com endereço de pagamento no Japão, o uso da AWS está sujeito ao imposto sobre consumo japonês. Saiba mais.


P: O que são os nós reservados do Amazon ElastiCache?

Nós reservados ou instâncias reservadas (IRs) são serviços que oferecem um desconto significativo sobre o uso sob demanda quando você aceita um compromisso com período de vigência de um ano 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 nó 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: Quais as diferenças entre os nós reservados e os nós sob demanda?

Quanto à sua funcionalidade, os nós reservados e os sob demanda são exatamente iguais. A única diferença é como seus nós são faturados. Com nós reservados, você faz um pagamento único e adiantado e obtém uma taxa vigente de uso por hora mais econômica (em comparação com a dos nós sob demanda) pela duração do período.

P: Como faço para comprar e criar nós reservados?

Você pode utilizar a opção “Purchase Reserved Nodes” no Console de Gerenciamento da AWS. Outra opção é usar as ferramentas de API para listar as reservas disponíveis para compra com o método de API DescribeReservedCacheNodesOfferings, e depois comprar uma reserva de nó de cache chamando o método PurchaseReservedCacheNodesOffering.

Criar um nó reservado não é muito diferente de executar um nó sob demanda. Basta especificar a região e a categoria do nó para as quais você fez a reserva. Assim que você concluir a compra da sua reserva com sucesso, o Amazon ElastiCache aplicará ao novo nó a taxa por hora reduzida para a qual você está qualificado.

P: Sempre haverá reservas disponíveis para compra?

Sim. Os nós reservados são comprados para a região e não para a zona de disponibilidade. Isso significa que mesmo que a capacidade seja limitada em uma zona de disponibilidade, as reservas ainda podem ser compradas naquela região e usadas em uma zona de disponibilidade diferente dentro da região especificada.

P: Qual a quantidade de cache reservado que posso comprar?

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 Amazon ElastiCache.

P: E se eu quiser converter um nó atual em um nó reservado?

Basta comprar uma reserva de nó da mesma categoria de nó dentro da mesma região do nó que você está executando no momento e deseja reservar. Se a compra da reserva for bem-sucedida, o Amazon 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 na definição de preço associadas a um nó reservado são ativadas após sua solicitação ser recebida enquanto a autorização de pagamento é processada. Você pode acompanhar o status de sua reserva na página Atividade da Conta da AWS 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, seu 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 Amazon ElastiCache utilizadas 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 é possível cancelar a instância de banco de dados reservada, 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 da instância de banco de dados reservada, independentemente da utilização.

P: Como as opções de pagamento afetam a minha conta?

Quando você compra uma IR com a opção de pagamento adiantado integral, paga por todo o período de vigência da IR em um único pagamento adiantado. Você pode optar por não pagar nada adiantado escolhendo a opção sem pagamento adiantado. O valor total da IR sem pagamento adiantado é distribuído por todas as horas do período de vigência e você será cobrado 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.


P: Como controlo o acesso ao Amazon ElastiCache?

Ao não usar a VPC, o Amazon ElastiCache permite que você controle o acesso aos clusters por meio de grupos de segurança de cache. Um grupo de segurança funciona como um firewall, controlando o acesso de rede ao cluster. Como padrão, o acesso de rede é desativado para os seus clusters. Se você quiser que os aplicativos acessem o cluster, habilite explicitamente o acesso de hosts em grupos de segurança do EC2 específicos. Esse processo é chamado de ingresso.

Para permitir o acesso de rede ao cluster, crie um grupo de segurança e vincule os grupos de segurança do EC2 desejados (que por sua vez especificam as instâncias EC2 permitidas) a ele. O grupo de segurança pode ser associado ao cluster no momento da criação ou utilizando a opção “Modify” (Modificar) no Console de Gerenciamento da AWS.

No momento, o controle de acesso baseado no intervalo IP não é permitido para os clusters. Todos os clientes do cluster devem estar na rede do EC2 e autorizados por meio de grupos de segurança, conforme descrito anteriormente.

Ao usar a VPC, consulte aqui para obter mais informações.

P: Os programas em execução nos servidores em meu próprio datacenter podem acessar o Amazon ElastiCache?

Sim. Você pode acessar um cluster do Amazon ElastiCache a partir de um aplicativo em execução em seu datacenter, desde que haja conectividade entre sua VPC e o datacenter, seja por uma VPN ou por Direct Connect. Os detalhes estão descritos aqui.

P: Programas em execução em instâncias do EC2 em uma VPC podem acessar o Amazon ElastiCache?

Sim, as instâncias do EC2 em uma VPC podem acessar o Amazon ElastiCache se o cluster do ElastiCache tiver sido criado na VPC. Os detalhes sobre como criar um cluster do Amazon ElastiCache em uma VPC são fornecidos aqui.

P: O que é a Amazon Virtual Private Cloud (VPC) e por que eu posso querer usá-la com o Amazon ElastiCache?

O Amazon VPC permite que você crie um ambiente de rede virtual em uma seção privada e isolada da nuvem da Amazon Web Services (AWS), onde poderá exercer um controle completo sobre os aspectos como a faixa de endereços IP, sub-redes, tabelas de roteamento e gateways de rede. Com o Amazon VPC, você pode definir uma topologia de rede virtual e personalizar a configuração da rede para que ela fique bem semelhante a uma rede IP tradicional, que pode ser operada no seu próprio datacenter.

Um dos cenários em que você pode querer usar o Amazon ElastiCache na VPC é se quiser executar um aplicativo web voltado ao público, enquanto ainda mantém servidores de back-end não acessíveis para publicidade em uma sub-rede privada. Você pode criar uma sub-rede voltada ao público para seus servidores web que têm acesso à Internet, e colocar sua infraestrutura de back-end em uma sub-rede privada sem acesso à Internet. Sua infraestrutura de back-end poderia incluir instâncias de banco de dados do RDS e um cluster do Amazon ElastiCache disponibilizando a camada na memória. Para obter mais informações sobre a Amazon VPC, consulte o Guia do usuário do Amazon Virtual Private Cloud.

P: Como faço para criar um cluster do Amazon ElastiCache na VPC?

Para um exemplo prático de como criar um cluster do Amazon ElastiCache em uma VPC, consulte o Guia do usuário do Amazon ElastiCache.

Veja a seguir os pré-requisitos necessários para criar um cluster em uma VPC:

  • É necessário ter uma VPC configurada com, pelo menos, uma sub-rede. Para obter mais informações sobre como criar sub-redes e a Amazon VPC, consulte o Guia de conceitos básicos da Amazon VPC.
  • É preciso ter um grupo de sub-rede (para Redis ou Memcached) definido para sua VPC.
  • É preciso ter um grupo de segurança de VPC definido para sua VPC (ou você pode usar o padrão fornecido).
  • Além disso, você deve alocar adequadamente blocos CIDR grandes para cada uma de suas sub-redes, assim haverá endereços IP excedentes para o Amazon ElastiCache utilizar durante as atividades de manutenção, incluindo substituição de nó de cache.

P: Como faço para criar um cluster do Amazon ElastiCache em uma VPC existente?

A criação de um cluster do Amazon ElastiCache em uma VPC existente é a mesma que para uma VPC recém-criada. Veja a seguir mais detalhes para o Redis ou o Memcached.

P: Como faço para conectar com um nó do ElastiCache na VPC?

Nós do Amazon ElastiCache, implantados em uma VPC, podem ser acessados por instâncias do EC2 implantadas na mesma VPC. Caso essas instâncias de EC2 estejam implantadas em uma sub-rede pública com IPs elásticos associados, você poderá acessar as instâncias de EC2 por meio da Internet.

Se você deseja acessar os nós do Amazon ElastiCache implantados em uma VPC da Internet ou de instâncias do EC2 fora da VPC, consulte as diretrizes para Redis ou Memcached.

O ElastiCache garante que o nome DNS e o endereço IP do nó de cache permaneçam o mesmo quando o nós de cache forem recuperados no caso de falha. 

P: O que é um grupo de sub-redes e por que eu preciso de um?

Um grupo de sub-redes é um conjunto de sub-redes que você deve designar para o seu cluster do Amazon ElastiCache em uma VPC. Um grupo de sub-redes é criado usando o console do Amazon ElastiCache. Cada grupo de sub-redes deve ter, pelo menos, uma sub-rede. O Amazon ElastiCache usa o grupo de sub-redes para selecionar uma sub-rede. Os endereços IP da sub-rede selecionada são então associados aos endpoints do nó. Além disso, o Amazon ElastiCache cria e associa interfaces de rede elástica para nós com os endereços IP mencionados anteriormente.

É altamente recomendável que você use nomes DNS para conectar-se aos seus nós, pois os endereços IP subjacentes podem mudar (ex.: depois da substituição do nó de cache).

P: Posso alterar o grupo de sub-redes do meu cluster do ElastiCache?

Um grupo de sub-redes atual pode ser atualizado para adicionar mais sub-redes para zonas de disponibilidade atuais ou para novas zonas de disponibilidade adicionadas desde a criação do cluster do ElastiCache. No entanto, não é permitido alterar o grupo de sub-redes de um cluster implantado no momento.

P: Por que usar o Amazon ElastiCache dentro de uma VPC é diferente de usá-lo fora?

A funcionalidade básica do Amazon ElastiCache permanece a mesma, independentemente de a VPC ser usada ou não. O Amazon ElastiCache gerencia a correção de erros de software, descoberta automática, escalabilidade, recuperação e detecção de falha automática, independentemente de seu cluster do ElastiCache estar dentro ou fora de uma VPC.

Em uma VPC, os nós de um cluster do ElastiCache têm somente um endereço IP privado (em uma sub-rede que você define). Fora de uma VPC, o acesso ao cluster do ElastiCache pode ser controlado usando grupos de segurança, conforme está descrito aqui.

P: Posso mover meu cluster do ElastiCache existente de fora da VPC para dentro da VPC?

Não, não é possível mover um cluster existente do Amazon ElastiCache de fora da VPC para dentro da VPC. Será necessário criar um novo cluster do Amazon ElastiCache dentro da VPC.

P: Posso mover meu cluster do ElastiCache existente de dentro da VPC para fora da VPC?

Atualmente, a migração direta de cluster do ElastiCache de dentro para fora da VPC não é suportada. Será necessário criar um novo cluster do Amazon ElastiCache fora da VPC.

P: Como posso controlar o acesso de rede ao meu cluster?

O Amazon ElastiCache permite que você controle o acesso ao cluster e, portanto, aos nós usando grupos de segurança em implantações sem VPC. Um grupo de segurança funciona como um firewall, controlando o acesso de rede ao nó. Como padrão, o acesso de rede é desativado para os seus nós. Se quiser que os aplicativos acessem o nó, você poderá definir o grupo de segurança para permitir acesso de instâncias do EC2 associadas a grupos de segurança do EC2 ou com intervalos de IP específicos. Esse processo é chamado de ingresso. Após o ingresso ser configurado para um grupo de segurança, as mesmas regras se aplicam a todos os nós associados a esse grupo de segurança. Os grupos de segurança podem ser configurados na seção “grupos de segurança” do console de Amazon ElastiCache ou utilizando as APIs do Amazon ElastiCache.

Em implantações da VPC, o acesso aos nós é controlado usando o grupo de segurança da VPC e o grupo de sub-redes. O grupo de segurança da VPC é o equivalente do grupo de segurança em uma VPC.

P: Que precauções devo tomar para garantir que meus nós do ElastiCache na VPC estejam acessíveis pelo meu aplicativo?

Você é responsável por modificar tabelas de roteamento e ACLs de rede na sua VPC para garantir que seus nós do ElastiCache estejam acessíveis de suas instâncias cliente na VPC. Para saber mais, consulte a documentação do Amazon ElastiCache for Redis ou do Amazon ElastiCache for Memcached.

P: Posso usar grupos de segurança para configurar os clusters que fazem parte de uma VPC?

Não. Grupos de segurança não são usados durante operações em uma VPC. Em vez disso, eles são usados nas definições que não são de VPC. Ao criar um cluster em uma VPC, você precisará usar grupos de segurança da VPC.

P: Posso associar um grupo de segurança do EC2 normal a um cluster executado em uma VPC?

Não. Você só pode associar grupos de segurança da VPC que façam parte da mesma VPC do cluster.

P: Os nós de um cluster do ElastiCache abrangem várias sub-redes?

Sim. Os nós de um cluster do Amazon ElastiCache podem abranger várias sub-redes, contanto que as sub-redes façam parte do mesmo grupo de sub-redes que foi associado ao cluster do ElastiCache no momento da criação.


P: O que são grupos de parâmetros? Como eles são úteis?

Um parameter group age 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 parameter group, um parameter group padrão será usado. Esse parameter group padrão contém padrões de mecanismos e padrões de sistema do Amazon ElastiCache otimizados para o cluster que você está executando. Contudo, se você desejar executar o cluster com valores personalizados de configuração de mecanismo, basta criar um novo parameter group, modificar os parâmetros desejados e alterar o cluster para utilizar o novo parameter group. Após serem associados, todos os clusters que utilizarem um parameter group específico receberão todas as atualizações de parâmetro para o parameter group mencionado. Para obter mais informações sobre como configurar parameter groups, consulte o Guia do usuário do Amazon ElastiCache for Redis ou do Amazon ElastiCache for Memcached.

P: Como posso escolher os parâmetros de configuração corretos para os meus clusters?

Como padrão, o Amazon ElastiCache escolhe os parâmetros de configuração ideais para o seu cluster, considerando a capacidade de recursos de computação/memória 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 Amazon ElastiCache.

P: Como posso visualizar a definição atual dos meus parâmetros para um determinado parameter group?

Você pode usar o Console de Gerenciamento da AWS, as APIs do Amazon 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.


P: O que eu posso armazenar em cache usando o Amazon ElastiCache for Memcached?

Você pode armazenar em cache vários objetos usando o serviço, a partir do conteúdo de datastores persistentes (como Amazon RDS, DynamoDB ou bancos de dados autogerenciados hospedados no EC2) para gerar dinamicamente páginas da web (com Ngix, por exemplo) ou dados de sessões temporárias que podem não precisar de um armazenamento de backup persistente. Você também pode utilizar o serviço para implantar contadores de alta frequência para aplicar controle de admissões em aplicativos web de grande volume.

P: Posso utilizar o Amazon ElastiCache para Memcached com um datastore persistente da AWS como o Amazon RDS ou o Amazon DynamoDB?

Sim, o Amazon ElastiCache é um front-end ideal para datastores, como Amazon RDS ou Amazon DynamoDB, que proporciona um nível médio de alta performance para aplicativos com taxas de solicitação extremamente altas e/ou requisitos de baixa latência.

P: Atualmente utilizo o Memcached. Como faço para migrar para o Amazon ElastiCache?

O Amazon 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 Amazon ElastiCache suporta tanto o protocolos de texto quanto binário. Também suporta a maioria dos resultados de estatísticas padrão, os quais também podem ser vistos como gráficos por meio do CloudWatch. Sendo assim, você pode passar a usar o Amazon ElastiCache sem recompilar ou refazer os links de seus aplicativos – as bibliotecas que usa continuarão funcionando. Para configurar os servidores de cache acessados pelo aplicativo, basta atualizar o arquivo de configuração Memcached do aplicativo para incluir os endpoints dos servidores (nós) que provisionamos para você. Você pode simplesmente usar a opção “Copy Node Endpoints” no Console de Gerenciamento da AWS 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 Amazon ElastiCache antes de concluir o corte de sua solução atual.

É possível acessar o cluster do Amazon ElastiCache em uma Amazon VPC, seja da rede do Amazon EC2 ou de seu próprio datacenter. Consulte mais detalhes em Padrões de acesso da Amazon VPC.

O Amazon 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ó.


P: Como seleciono um tipo de nó correto para um aplicativo?

Embora não haja um resposta exata para essa pergunta, com o Amazon ElastiCache, você não precisa se preocupar em obter o número de nós exato, pois é possível adicionar ou remover facilmente nós posteriormente. Os dois seguintes aspectos interrelacionados podem 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 do aplicativo 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 do aplicativo. 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 o aplicativo 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 Amazon ElastiCache para obter mais detalhes.

P: Um cluster pode ocupar várias zonas de disponibilidade?

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 a quantidade de nós solicitada em cada zona de disponibilidade ou selecionar “distribuir nós entre as zonas”. Se o cluster estiver no 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 Amazon 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 Amazon ElastiCache responde a uma falha de nó?

O serviço detectará a falha do nó e reagirá conforme as seguintes etapas automáticas:

  • O Amazon 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 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 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 Amazon ElastiCache enviará uma notificação SNS para você avisando que a recuperação do nó ocorreu. Assim, você terá a opção de organizar os aplicativos para forçar a biblioteca cliente do Memcached a tentar reconectar-se aos nós reparados. Isso pode 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 apoiar um aplicativo, como posso aumentar a memória total com o Amazon 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 de Gerenciamento da AWS, ou ao chamar a API ModifyCacheCluster.


P: Como o Amazon ElastiCache interage com outros Amazon Web Services?

O Amazon ElastiCache funciona de modo ideal como um front-end para serviços da Amazon Web Services, como o Amazon RDS e o Amazon DynamoDB, disponibilizando latência extremamente baixa para aplicativos de alta performance e transferindo parte 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 do aplicativo em conjunto com o Amazon EC2 e o EMR.

P: O Amazon 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 Amazon ElastiCache, entre em contato conosco no fórum da comunidade do Amazon ElastiCache.

P: Quais bibliotecas mais populares do Memcached são compatíveis com o Amazon ElastiCache?

O Amazon ElastiCache não requer bibliotecas de clientes específicas e opera com bibliotecas de clientes do Memcached existentes, sem recompilação ou revinculação de aplicações (Memcached 1.4.5 e superior). Alguns exemplos são libMemcached (C) e bibliotecas com base nele (p.e. PHP, Perl, Python), spyMemcached (Java) e fauna (Ruby).


P: O que é a descoberta automática e o que posso fazer com ela?

A descoberta automática é um recurso que poupa tempo e esforço, reduzindo ao mesmo tempo a complexidade de seus aplicativos. A descoberta automática descobre automaticamente nós de cache por clientes quando eles são adicionados ou removidos de um cluster do Amazon ElastiCache. Até agora, para processar alterações de associação de cluster os desenvolvedores precisavam atualizar manualmente a lista de endpoints de nó de cache. Dependendo de como o aplicativo cliente era arquitetado, geralmente será necessária uma inicialização de cliente, ao desligar o aplicativo e reiniciá-lo, resultando em tempo de inatividade. Através da descoberta automática, eliminamos essa complexidade. Com a descoberta automática, além de ser compatível com versões anteriores do protocolo Memcached, o Amazon 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 Amazon ElastiCache.

P: Como funciona a descoberta automática?

Um cluster do Amazon ElastiCache pode ser criado com nós que são endereçáveis via endpoints indicados. Com a descoberta automática, o cluster do Amazon 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 Amazon 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, clique aqui. Para usar a descoberta automática, você precisará usar um cliente compatível com descoberta automática. Os clientes de descoberta automática para .Net, Java e PHP estão disponíveis para fazer download no console do Amazon ElastiCache. Após a inicialização, o cliente determinará automaticamente os atuais membros do cluster do Amazon 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 Amazon ElastiCache clicando no link “Download do Cliente de Cluster do ElastiCache”, no console do Amazon ElastiCache. Para poder efetuar o download, você deverá ter uma conta do Amazon ElastiCache; se ainda não tiver uma, poderá se cadastrar na página de detalhes do Amazon ElastiCache. Depois de efetuar download do cliente, poderá começar a configurar e ativar seu cluster do Amazon ElastiCache acessando o console do Amazon ElastiCache. Mais detalhes estão disponíveis aqui.

P: Se eu continuar usando meus próprios clientes Memcached com meu cluster do ElastiCache poderei ter esse recurso?

Não, você não terá o recurso de descoberta automática com os clientes Memcached existentes. Para usar o recurso 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 Amazon 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/software para a descoberta automática?

Para aproveitar a descoberta automática, um cliente compatível com descoberta automática deverá ser usado para se conectar a um Cluster do Amazon ElastiCache. Atualmente, o Amazon ElastiCache é compatível com clientes com capacidade de descoberta automática para .Net, Java e PHP. Eles podem ser obtidos por download no console do Amazon ElastiCache. Nossos clientes podem 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, Amazon ElastiCache ainda está em conformidade com o protocolo Memcached e não requer que você altere seus clientes. No entanto, para aproveitar o recurso de descoberta automática, foi necessário aprimorar as capacidades do cliente Memcached. Se você escolher não usar o Cliente de Cluster do Amazon 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 Amazon ElastiCache pode ser conectado através de um cliente compatível com descoberta automática e o cliente Memcached tradicional ao mesmo tempo. O Amazon 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 Amazon ElastiCache. Além disso, como o Amazon ElastiCache continua sendo totalmente compatível com o Memcached, você poderá usar qualquer cliente compatível com o protocolo Memcached como antes.


P: Posso controlar se e quando a versão de mecanismo que ativou o cluster do Amazon ElastiCache será atualizada para novas versões compatíveis?

O Amazon 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 Amazon ElastiCache. Isso lhe proporciona a flexibilidade de manter a compatibilidade com versões específicas do Memcached, testar novas versões com seu aplicativo antes de implantá-lo em 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 Amazon 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 Amazon 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 e/ou principal) 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. Basta especificar 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 o aplicativo de desenvolvimento/preparação para esse cluster, testá-lo e decidir se atualiza ou não o cluster original.

P: O Amazon ElastiCache fornece diretrizes para suportar novas versões do e/ou deixar de utilizar versões do Memcached suportadas atualmente?

Com o passar do tempo, pretendemos oferecer suporte a versões adicionais do Memcached para o Amazon 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: Qual versão do protocolo de transferência a cabo do Memcached é compatível com o Amazon ElastiCache?

O Amazon ElastiCache é compatível com o protocolo de texto e binário do Memcached nas versões 1.6.6, 1.5.16, 1.5.10, 1.4.34, 1.4.33, 1.4.24, 1.4.14 e 1.4.5 do Memcached.

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. Reveja os pré-requisitos de atualização aqui.


P: O que é o Amazon ElastiCache for Redis?

Amazon ElastiCache for Redis é um serviço Web que facilita a implantação e a execução de nós de servidor 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 Amazon ElastiCache, da interface de linhas de comando (CLI) ou das APIs do serviço Web. O Amazon ElastiCache for 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.

P: O Amazon ElastiCache para Redis apresenta compatibilidade de protocolo com o Redis de código aberto?

Sim, o Amazon ElastiCache for Redis apresenta compatibilidade de protocolo com o Redis de código aberto. Código, aplicações, drivers e ferramentas usados por um cliente com armazenamentos de dados Redis autônomos continuarão a funcionar com o Amazon ElastiCache for Redis, sem necessidade de alterações de código para implantações do Redis existentes em migração para o Amazon ElastiCache for Redis, exceto onde observado o contrário. No momento, oferecemos compatibilidade com as versões do Redis 6.0.5, 5.0.6, 5.0.5, 5.0.4, 5.0.3, 5.0.0, 4.0.10, 3.2.10, 3.2.6, 3.2.4, 2.8.24, 2.8.23, 2.8.22, 2.8.21, 2.8.19, 2.8.6 e 2.6.13.

P: Quanto custa o Amazon ElastiCache for Redis?

Consulte a nossa página de definição de preço para obter informações atualizadas.

P: Quais são os nós, clusters e grupos de replicação do Amazon ElastiCache for Redis?

Um nó do Amazon ElastiCache for Redis é o menor componente de uma implantação do Amazon ElastiCache for Redis. Cada nó do Amazon ElastiCache for Redis é compatível com o protocolo Redis e tem sua porta e nome de DNS próprios. Há compatibilidade com vários tipos de nós do Amazon ElastiCache for Redis, cada um com uma quantidade variada de capacidade de CPU e memória associada. Um nó do Amazon ElastiCache for Redis pode assumir uma função primária ou de réplica de leitura. Um nó primário pode ser replicado para vários nós de réplica de leitura. Um cluster do Amazon ElastiCache for Redis é um conjunto de um ou mais nós do Amazon ElastiCache for Redis. O nó primário estará no cluster principal e o nó de réplica de leitura estará em um cluster de réplica de leitura. Um cluster gerencia um espaço de chave lógico, em que cada nó é responsável por uma parte do espaço de chave. A maioria de suas operações de gerenciamento será executada no cluster. Um grupo de replicação do Amazon ElastiCache for Redis encapsula os clusters primário e de réplica de leitura para uma instalação do Redis. Um grupo de replicação terá apenas um cluster primário e nenhum ou muitos clusters de réplica de leitura. Todos os nós dentro de um grupo de replicação (e consequentemente do cluster) serão do mesmo tipo e terão as mesmas configurações de parâmetro e grupo de segurança.

P: O Amazon ElastiCache for Redis é compatível com a persistência do Redis?

O Amazon ElastiCache for Redis não é compatível com o recurso Append Only File (AOF – Arquivo somente para anexação), mas você pode conseguir a persistência criando snapshots de seus dados do Redis usando o recurso Backup and Restore (Backup e Restauração). Clique aqui para obter mais detalhes.

P: Como eu posso migrar do Amazon ElastiCache para Memcached para o Amazon ElastiCache para Redis e vice-versa?

Atualmente não fornecemos suporte para a migração automática do Memcached para o Redis e vice-versa. Você pode, porém, usar um cliente Memcached para ler de um cluster do Memcached e usar um cliente Redis para gravar em um cluster do Redis. De maneira semelhante, você pode ler de um cluster do Redis usando um cliente Redis e usar um cliente Memcached para gravar em um cluster do Memcached. Lembre-se de considerar as diferenças no formato dos dados e na configuração do cluster entre os dois mecanismos.

P: O Amazon ElastiCache para Redis fornece suporte para operação Multi-AZ?

Sim, com o Amazon ElastiCache for Redis, você pode criar uma réplica de leitura em outra Zona de disponibilidade da AWS. Na falha do nó primário, provisionaremos um novo. Em cenários em que o nó primário falha, o ElastiCache for Redis 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, consulte aqui.

P: Quais opções o Amazon ElastiCache for Redis oferece para falhas de nós?

O Amazon ElastiCache for Redis reparará o nó obtendo novos recursos de serviços e depois redirecionará o nome de DNS existente do nó para que indique os novos recursos de serviços. Desse modo, o nome de DNS para um nó do Redis permanece constante, mas o endereço IP de um nó do Redis pode mudar com o tempo. Se você tem um grupo de replicação com uma ou mais réplicas de leitura e o Multi-AZ está habilitado, caso ocorra uma falha de nó primário, o Amazon ElastiCache automaticamente detecta a falha, seleciona uma réplica e a promove para o novo nó primário. Além disso, o DNS é propagado para que você continue a usar o endpoint principal e, após a promoção, o DNS indique o nó primário recém-promovido. Para obter mais detalhes, consulte a seção Multi-AZ destas perguntas frequentes. 

Quando a opção de replicação do Redis é marcada e o Multi-AZ está desabilitado, se o nó primário falhar, você poderá optar por iniciar um failover para um nó de réplica de leitura. O destino do failover pode estar na mesma zona ou em outra. Para fazer o failback para a zona original, promova a réplica de leitura na zona original a principal. Você pode optar por projetar seu aplicativo de forma a forçar a biblioteca do cliente Redis a se reconectar ao nó de servidor do Redis reparado. Isso pode ajudar, pois algumas bibliotecas do Redis param de usar um servidor indefinidamente quando encontram erros de comunicação ou atingem o tempo limite.

P: Como funciona o failover?

Ao implantar o ElastiCache for Redis com o Modo de cluster desabilitado para grupos de replicação habilitados para Multi-AZ, o comportamento de failover é o descrito na seção Multi-AZ destas perguntas frequentes. Se você prefere não habilitar o Multi-AZ, e se o Amazon ElastiCache monitora o nó primário, e se este fica indisponível ou deixa de responder, o Amazon ElastiCache for Redis corrige o nó adquirindo novos recursos de serviço e redirecionando o nome DNS existente do nó para que indique os novos recursos de serviços. Desse modo, o nome de DNS para um nó do Redis permanece constante, mas o endereço IP de um nó do Redis pode mudar com o tempo. Entretanto, se não for possível corrigir o nó primário (e Multi-AZ estiver desabilitado), você poderá optar por promover uma das réplicas de leitura para o novo nó primário. Clique aqui para saber como selecionar um novo nó primário. O registro DNS do endpoint do nó primário será atualizado para que indique o nó de réplica de leitura promovido. Um nó de réplica de leitura no AZ do nó primário original será, então, criado para ser uma réplica de leitura no grupo de replicação e seguirá o novo nó primário.

Ao implantar o ElastiCache for Redis com o Modo de cluster habilitado, você estará expandindo o espaço de chaves do cache para vários fragmentos. Isso significa que seus dados e o acesso de leitura/gravação a eles se expandirão por vários nós do Redis em várias AZ (obrigatório com o Modo de cluster habilitado). A função do nó primário será executar automaticamente o failover para uma das réplicas de leitura. Não é necessário criar e provisionar um novo nó primário porque o ElastiCache lidará com isso de maneira transparente. O failover e a promoção da réplica garantem que você possa retomar a gravação no novo nó primário assim que a promoção for concluída.

P: Minhas réplicas de leitura ficam disponíveis durante uma falha do nó primário?

Sim, durante uma falha do nó principal, as réplicas de leitura continuam a atender às solicitações. Depois que o nó principal é restaurado, seja como um nó corrigido ou como uma réplica de leitura promovida, há um breve período durante o qual as réplicas de leitura não atendem a nenhuma solicitação enquanto sincronizam as informações de cache do nó principal.

P: Como eu configuro os parâmetros dos meus nós do Amazon ElastiCache para Redis?

Você pode configurar sua instalação do Redis usando um parameter group de cache, que deve ser especificado para um cluster do Redis. Todos os clusters de réplica de leitura usam o parameter group de seu cluster principal. Um parameter group do Redis age como um “contêiner” para valores de configuração do Redis que podem ser aplicados a um ou mais clusters principais do Redis. Se você criar um cluster principal do Redis sem especificar um parameter group de cache, um parameter group padrão será usado. Esse grupo padrão contém padrões para o tipo de nó que você planeja executar. Contudo, se você quer que seu cluster principal do Redis seja executado com valores de configuração especificados, basta criar um novo parameter group de cache, modificar os parâmetros desejados e modificar o cluster do Redis principal para utilizar o novo parameter group.

P: Eu posso acessar o Redis por meio do console do Amazon ElastiCache?

Sim, o Redis aparece como uma opção de mecanismo no console do Amazon ElastiCache. Você pode criar um novo cluster de cache do Redis com o Assistente de inicialização, escolhendo o mecanismo do Redis. Também é possível modificar ou excluir um cluster do Redis existente usando o console do Amazon ElastiCache.

P: É possível criar clusters do Amazon ElastiCache for Redis em uma Amazon VPC?

Sim. Se a sua conta for uma VPC por padrão, seus clusters do Redis serão criados na VPC padrão associada à sua conta. Usando o console do Amazon ElastiCache, é possível especificar uma VPC diferente quando você cria seu cluster.

P: Como posso proteger meu cluster do Redis?

O Amazon ElastiCache for Redis é compatível com dois métodos de proteção do cluster do Redis. Você pode escolher entre o Redis AUTH ou o Role-Based Access Control (RBAC – Controle de acesso baseado em funções) gerenciado, dois recursos que permitem optar por seu uso e exigem que a criptografia em trânsito esteja habilitada. O Redis AUTH permite adicionar uma senha para proteger o acesso ao cluster do Redis e é compatível com a versão 3.2.6 em diante. A partir do Redis 6, o recurso RBAC permite criar e gerenciar usuários e grupos de usuários para proteger seu cluster do Redis. É possível atribuir usuários aos grupos de usuários de acordo com uma função específica (por exemplo, administradores, recursos humanos, análise de dados etc.) que, em seguida, são implantados em um ou mais grupos de replicação do Amazon ElastiCache for Redis. Ao fazer isso, você pode estabelecer limites de segurança entre usuários usando o mesmo grupo ou grupos de replicação do Redis e impedir que os clientes acessem dados uns dos outros. Siga estes links para saber mais sobre o Redis Auth e o RBAC

P: Como fazer upgrade para uma versão de mecanismo mais recente?

Você pode fazer a atualização facilmente para uma versão mais recente ao usar as APIs ModifyCacheCluster ou ModifyReplicationGroup e ao especificar sua versão de mecanismo preferencial para o parâmetro EngineVersion. No console do Amazon ElastiCache, é possível selecionar um cluster de cache ou um grupo de replicação e clicar em “Modify” (Modificar). Na janela “Modify Cache Cluster” (Modificar cluster de cache) ou “Modify Replication Group” (Modificar grupo de replicação), selecione sua versão de mecanismo preferencial a partir das opções disponíveis. O processo de upgrade do mecanismo foi concebido para melhorar os esforços de retenção dos seus dados atuais e exige que a replicação do Redis seja bem-sucedida. Obtenha mais detalhes sobre isso aqui.

P: Posso fazer downgrade para uma versão de mecanismo anterior?

Não. Não há compatibilidade com o downgrade para uma versão de mecanismo anterior.

P: Como faço para dimensionar para um tipo de nó maior ou para mais nós?

No Amazon ElastiCache for Redis, é possível dimensionar facilmente para tipos de instância maiores com o modo de cluster desabilitado e para mais instâncias com o modo de cluster habilitado. 

Você pode dimensionar facilmente para um tipo de nó maior ao usar as APIs ModifyCacheCluster ou ModifyReplicationGroup, e ao especificar seu tipo de nó preferencial para o parâmetro CacheNodeType. No console do Amazon ElastiCache, é possível selecionar um cluster de cache ou um grupo de replicação e clicar em “Modify” (Modificar). Na janela “Modify Cache Cluster” (Modificar cluster de cache) ou “Modify Replication Group” (Modificar grupo de replicação), selecione seu tipo de nó preferencial a partir das opções disponíveis. O processo de expansão foi concebido para melhorar os esforços de retenção dos seus dados atuais e exige que a replicação do Redis seja bem-sucedida. Obtenha mais detalhes sobre isso aqui.

O modo de cluster permite dimensionar horizontalmente adicionando ou removendo fragmentos. Já o dimensionamento vertical permite dimensionar um único nó. Conceitualmente, o dimensionamento horizontal do cluster é fácil de entender no lado do servidor: simplesmente um fragmento é adicionado ou removido. Cada fragmento tem um nó primário e até cinco nós de réplica somente leitura. Assim que o novo nó estiver pronto, o cluster precisará realocar ou balancear o espaço de chaves entre os nós, conforme configurado. Com o ElastiCache for Redis, o rebalanceamento é automático.

P. Qual é a métrica correta a ser utilizada para medir a utilização do Redis?

O Amazon ElastiCache fornece duas métricas para medir o uso de CPU das workloads do Amazon ElastiCache for Redis: 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. Ambas as métricas estão disponíveis em todas as regiões da AWS. Você pode acessá-las usando o CloudWatch ou pelo Console de Gerenciamento da AWS.

Além da utilização de CPU, o Amazon ElastiCache for Redis acrescenta o processamento dinâmico de rede ao manuseio aprimorado de E/S no Redis versão 5.0.3 e acima. O ElastiCache usa a capacidade extra CPU disponível nos nós com quatro ou mais vCPUs para oferecer de forma transparente um aumento de até 83% na taxa de transferência e uma redução de até 47% na latência por nó. Consulte este blog: Boosting application performance & reducing costs with Amazon Elasticache for Redis

P: Posso ter réplicas entre regiões com o Amazon ElastiCache for Redis?

Sim, você pode criar réplicas entre regiões usando o recurso Global Datastore no Amazon ElastiCache for Redis. O Global Datastore disponibiliza replicação gerenciada, rápida, confiável e segura entre regiões. Com ele, você pode fazer gravações no cluster do Amazon ElastiCache for Redis em uma região e disponibilizar os dados para leitura por meio 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.


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:

  • Processamento de falhas
  • Dimensionamento de leitura

Quando você executa um nó de cache com uma réplica de leitura, o nó “primário” atende a solicitações de gravações e leituras. A réplica de leitura funciona como “espera”, que é “promovida” em cenários de failover. Após um failover, o nó em espera se torna o primário e aceita suas operações de cache. As réplicas de leitura também facilitam o dimensionamento elástico além das restrições de capacidade de um único nó de cache, para workloads de cache com uso intenso de leitura.

P: Quando seria interessante considerar o uso de uma réplica de leitura do Redis?

Há inúmeros casos em que implantar uma ou mais réplicas de leitura para um determinado nó principal pode fazer sentido. Razões comuns para implantar uma réplica de leitura incluem:

  • Expandir além da capacidade computacional ou de E/S de um único nó principal para cargas de trabalho com uso intenso de leitura. Esse tráfego de leitura excessivo pode ser direcionado a uma ou mais réplicas de leitura.
  • Atender ao tráfego de leitura enquanto o nó principal está indisponível. Se seu nó principal não consegue atender às solicitações de E/S (por exemplo, devido à suspensão de E/S para backups ou manutenção programada), é possível 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: na 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 eu implanto um nó de réplica de leitura para um determinado nó primário?
 
É possível criar uma réplica de leitura em alguns minutos utilizando uma API CreateReplicationGroup ou com alguns cliques no console de gerenciamento do Amazon ElastiCache. Ao criar um grupo de replicação, você especifica o MasterCacheClusterIdentifier. O MasterCacheClusterIdentifier é o Identificador de cluster de cache “primário” do qual você deseja replicar. Então, você cria o cluster de réplica de leitura no grupo de replicação chamando a API CreateCacheCluster e especificando o ReplicationGroupIdentifier e o CacheClusterIdentifier do cluster primário. Como no caso de um cluster de cache padrão, você também pode especificar a Zona de disponibilidade. Ao iniciar a criação de uma réplica de leitura, o Amazon ElastiCache faz um snapshot do seu cluster de cache principal e inicia a replicação. Como resultado, ocorrerá uma breve suspensão de E/S em seu cluster de cache principal à medida que ocorrer o snapshot. A suspensão de E/S geralmente dura em torno de um minuto.

As réplicas de leitura são tão fáceis de excluir quanto de criar; basta utilizar o console de gerenciamento do Amazon ElastiCache ou chamar a API DeleteCacheCluster (especificando o CacheClusterIdentifier da réplica de leitura que você deseja excluir).

P: Posso criar um primário e réplicas de leitura ao mesmo tempo?
 
Sim. Você pode criar um novo cluster de cache junto com réplicas de leitura em minutos usando a API CreateReplicationGroup ou usando o assistente “Create” (Criar), no console de gerenciamento do Amazon ElastiCache, e selecionando “Multi-AZ Replication” (Replicação Multi-AZ). Ao criar o cluster, especifique um identificador, o número total desejado de fragmentos em um cluster e réplicas de leitura por fragmento, junto com parâmetros de criação de cache, como tipo de nó, versão de mecanismo etc. Você também pode especificar a zona de disponibilidade para cada fragmento no cluster.
 
P: Como posso me conectar à(s) minha(s) réplica(s) de leitura?
 
É possível se conectar a uma réplica de leitura da mesma maneira que a um nó de cache primário, utilizando a API DescribeCacheClusters ou o Console de Gerenciamento da AWS para recuperar um ou mais endpoints para suas réplicas de leitura. 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:
 
  • Os clusters do Redis (modo de cluster desativado) usam 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). Ainda será possível ler endpoints de nós individuais (na API/CLI, eles são chamados de endpoints de leitura).
P: Quantas réplicas de leitura eu posso criar para um determinado nó primário?
 
Atualmente, o Amazon 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: Posso criar uma réplica de leitura de outra réplica de leitura?
 
Não há compatibilidade para criar uma réplica de leitura de outra Réplica de leitura.
 
P: Posso promover minha réplica de leitura para que se torne um nó primário “independente”?
 
Não, essa opção não é compatível no momento. Em vez disso, você pode obter um snapshot do nó do Amazon ElastiCache for Redis (selecionando o nó primário ou qualquer réplica de leitura). Você pode utilizar o snapshot para criar um novo nó primário no Amazon ElastiCache for Redis.
 
P: Minha réplica de leitura se manterá atualizada com relação ao 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 principal por vários motivos. Os principais motivos incluem:
 
  • O volume de E/S de gravação para o nó de cache principal 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 principal 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 Amazon ElastiCache emite uma métrica para ajudar você a entender a inconsistência.

P: Como obtenho visibilidade das réplicas de leitura ativas?
 
Você pode utilizar a API DescribeCacheClusters padrão para retornar uma lista de todos os clusters de cache implantados (incluindo réplicas de leitura) ou simplesmente clicar na guia “Cache Clusters” do console de gerenciamento do Amazon ElastiCache.
 
O Amazon ElastiCache monitora o status da replicação das suas réplicas de leitura e atualiza o campo Replication State com “Error” se a replicação é interrompida por qualquer motivo. É possível examinar os detalhes do erro associado gerado pelo mecanismo do Redis visualizando o campo Replication Error (Erro de replicação) e executar as ações adequadas para recuperação. Você pode saber mais sobre a resolução de erros de replicação na seção "Solucionar problemas de uma réplica de leitura" no Guia do Usuário do Amazon ElastiCache. Se o erro de replicação é corrigido, o campo Replication State (Estado da replicação) muda para Replicating (Replicando).

O Amazon ElastiCache permite que você tenha visibilidade da defasagem de uma réplica de leitura em relação a seu nó principal por meio da métrica do Amazon CloudWatch (“Replica Lag”), disponível através do Console de Gerenciamento da AWS ou das APIs do Amazon CloudWatch.

P: Minha réplica de leitura ficou significativamente defasada em relação ao seu nó primário. O que devo fazer?
 
Como abordado em perguntas anteriores, a "inconsistência" ou defasagem entre uma réplica de leitura e seu nó de cache principal é comum na replicação assíncrona do Redis. Se uma réplica de leitura atual ficou defasada demais para atender aos seus requisitos, você pode reinicializá-la. Lembre-se de que a defasagem da réplica pode aumentar e diminuir naturalmente ao longo do tempo, dependendo do padrão de uso de estado estável do seu nó de cache principal.
 
P: Como posso excluir uma réplica de leitura? Ela será excluída automaticamente se seu nó primário for excluído?
 
Você pode facilmente excluir uma réplica de leitura com apenas alguns cliques no Console de Gerenciamento da AWS ou usando as APIs DeleteCacheCluster ou DecreaseReplicaCount. Se desejar excluir a réplica de leitura além do nó de cache primário, você deverá usar a API DeleteReplicationGroup ou o Console de Gerenciamento da AWS .
 
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 detalhes do Amazon ElastiCache para obter a definição de preço atualizada. 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 é iniciada assim que a réplica de leitura é criada com êxito (ou seja, quando o status for listado como “ativo”). A réplica de leitura continuará sendo cobrada com taxas por hora de nó de cache do Amazon 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 é suportado pelo Amazon ElastiCache, para que você possa retomar as operações de cache o mais rápido possível. Ao ocorrer um failover, o Amazon ElastiCache simplesmente 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ó principal. 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, entre o início e o final das etapas 1 a 5 abaixo, são necessários 6 minutos para a conclusão.
 
Estes são eventos de failover automático, listados na ordem de ocorrência :
 
  1. Mensagem do grupo de replicação: API Test Failover chamada para 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 <node-id> do cache
  5. Mensagem do cluster de cache: recuperação dos nós <node-id> do cache concluída
P: Posso criar uma réplica de leitura em outra região como meu nó primário?
 
 
Não. Sua réplica de leitura só pode ser provisionada em uma Zona de disponibilidade igual ou diferente da mesma Região do seu nó de cache primário.
 
No entanto, é possível usar o Global Datastore for Redis para trabalhar com replicação totalmente gerenciada, rápida, confiável e segura entre as regiões da AWS. Com esse recurso, é possível criar cluster de réplica de leitura entre regiões para que o ElastiCache for Redis habilite leituras de baixa latência e recuperação de desastres entre as regiões da AWS.
 
P: É possível ver em qual zona de disponibilidade meu nó primário está situado atualmente?
 
Sim, é possível ter visibilidade da localização do nó principal atual utilizando o Console de Gerenciamento da AWS ou a API DescribeCacheClusters.
 
Após o failover, minha principal agora está localizada em uma zona de disponibilidade diferente do que meus outros recursos AWS (por exemplo, instâncias EC2).
 
P: Devo me preocupar com a latência?
 
As zonas de disponibilidade são projetadas para fornecer conectividade de rede de baixa latência para outras zonas de disponibilidade na mesma região. Além disso, você tem a opção de criar seu aplicativo e outros recursos da AWS com redundância por meio de múltiplas zonas de disponibilidade para que seu aplicativo seja resistente no caso de uma falha de zona de disponibilidade.
 
P: Posso adicionar e remover nós de réplica de leitura no meu ambiente Redis Cluster?
 
Sim. É possível adicionar e remover réplicas em um ou mais estilhaços em um ambiente Redis Cluster. O cluster permanece online e atende a solicitações de E/S durante essa operação.

P: O que é o Multi-AZ para um grupo de replicação do Amazon ElastiCache for Redis?

Um grupo de replicação do Amazon ElastiCache for Redis consiste em um nó 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. Consulte AutoFailover. O Redis replica de forma assíncrona os dados do nó primário para as réplicas de leitura. Durante determinados tipos de manutenção planejada, ou no improvável caso de uma falha no nó do Amazon ElastiCache ou na zona de disponibilidade, o Amazon ElastiCache detectará automaticamente a falha de um nó primário, selecionará uma réplica de leitura e a promoverá a novo nó primário. O Amazon 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 Amazon ElastiCache for Redis no modo Multi-AZ são maior disponibilidade e menor necessidade de administração. Se ocorrer uma falha de nó primário do Amazon ElastiCache for Redis, o impacto na capacidade de ler/gravar no nó primário será limitado ao tempo necessário para a conclusão do failover automático. Quando o Multi-AZ está habilitado, o failover do nó do Amazon 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 Amazon ElastiCache for 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 Amazon ElastiCache detectará automaticamente a falha, selecionará uma das réplicas de leitura disponíveis e a promoverá a novo nó primário. O Amazon ElastiCache propagará as alterações de DNS da réplica promovida. Portanto, a sua aplicação poderá continuar a gravar no endpoint primário. Além disso, o Amazon ElastiCache gerará um novo nó para substituir a réplica de leitura promovida na mesma zona de disponibilidade do nó primário 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 réplicas na mesma zona de disponibilidade que o primário?

Sim. Observe que o posicionamento do nó primário e das réplicas na mesma zona de disponibilidade não tornará o grupo de replicação do Amazon ElastiCache for Redis resiliente a uma falha na zona de disponibilidade. Isso não será permitido se o Multi-AZ estiver habilitado.

P: Que eventos podem causar o failover do Amazon ElastiCache para uma réplica de leitura?

O Amazon ElastiCache executará um failover para uma réplica de leitura caso ocorra um dos seguintes eventos:

  • Perda de disponibilidade na zona de disponibilidade principal
  • Perda de conectividade de rede para principal
  • Falha de unidade computacional na principal
P: Quando devo usar o Multi-AZ?
 
O uso da replicação do Redis juntamente com o Multi-AZ oferece maior disponibilidade e tolerância a falhas. Essas implantações são particularmente adequadas para uso em ambientes de produção.
 
P: Como posso criar um grupo de replicação do Amazon ElastiCache for Redis com o Multi-AZ habilitado?
 
Você pode criar o nó primário e as réplicas de leitura do Amazon ElastiCache for Redis clicando em Launch Cache Cluster no console de gerenciamento do Amazon ElastiCache. Além disso, você também pode chamar a API CreateReplicationGroup. Para os grupos de replicação existentes (Redis 2.8.24, 2.8.23, 2.8.22, 2.8.21, 2.8.19 e 2.8.6), você pode habilitar o Multi-AZ escolhendo um grupo de replicação e clicando em Modify (Modificar) no Console de Gerenciamento do Amazon ElastiCache ou usando a API ModifyReplicationGroup. A mudança de um grupo de replicação para o Multi-AZ não causa falha nos dados do Redis e não interfere com a capacidade de atendimento de solicitações dos nós.
 
P: Qual réplica de leitura será promovida caso ocorra uma falha no nó primário?

Se houver mais que 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: Quanto custa usar o Multi-AZ?

O Multi-AZ é gratuito. Você pagará apenas pelos nós Amazon ElastiCache que utilizar.

P: Quais são as implicações de performance do Multi-AZ?

No momento, o Amazon ElastiCache usa o mecanismo de replicação nativa assíncrona do Redis e está sujeito a seus pontos fortes e limitações. Especificamente, quando uma réplica de leitura se conecta a um nó primário pela primeira vez, ou quando o nó primário é alterado, a réplica de leitura executa uma sincronização completa dos dados do nó primário, impondo uma carga sobre si mesma e sobre o nó primário. Para obter detalhes adicionais a respeito da replicação do Redis, consulte aqui.

P: Quais são os tipos de nó compatíveis com o Multi-AZ?

Todos os tipos de nó de cache do Amazon ElastiCache disponíveis são compatíveis com o Multi-AZ, exceto as famílias de nó T1.

P: Serei alertado quando ocorrer um failover automático?

Sim, o Amazon 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 Amazon ElastiCache, ou clicar na seção Eventos do console de gerenciamento do Amazon ElastiCache.

P: Após o failover, o nó primário passa a estar localizado em uma zona de disponibilidade diferente dos meus outros recursos da AWS (por exemplo, instâncias do EC2). Devo preocupar-me com a latência?

As zonas de disponibilidade são projetadas para fornecer conectividade de rede de baixa latência para outras zonas de disponibilidade na mesma região. Você pode considerar a definição da arquitetura do seu aplicativo e de outros recursos da AWS com redundância em várias zonas de disponibilidade para que seu aplicativo 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 Amazon ElastiCache.


P: O que é o recurso de backup e restauração?

O recurso de backup e restauração permite aos clientes criarem snapshots dos seus clusters do Amazon ElastiCache for Redis. O Amazon ElastiCache armazena os snapshots, permitindo que o usuário os utilize para restaurar clusters do Redis.

P: O que é um snapshot?

Um snapshot é uma cópia de todo o seu cluster do Redis em um determinado momento.

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, que é um meio durável de armazenamento, o que significa que até mesmo um corte de energia não apagará os dados.

P: O que posso fazer com um snapshot?

Os snapshots podem ser usados para pré-carregar um cluster do Amazon ElastiCache for Redis com dados predefinidos.

P: Como o recurso de backup e restauração funciona?

Quando um backup é iniciado, o Amazon ElastiCache cria um snapshot do cluster do Redis especificado 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 Amazon ElastiCache for Redis é criado e preenchido com os dados do snapshot. Dessa forma, é possível criar múltiplos clusters do ElastiCache for Redis a partir de um snapshot especificado.

P: Onde os meus snapshots são armazenados?

Os snapshots são armazenados no S3.

P: Como começar com o recurso de backup e restauração?

Você pode selecionar o recurso do backup e restauração pelo Console de Gerenciamento da AWS, pelas APIs do Amazon ElastiCache (APIs CreateCacheCluster, ModifyCacheCluster, CreateReplicationGroup e ModifyReplicationGroup) e pela CLI. O recurso pode ser reativado e desativado quando quiser.

P: Como especifico de qual cluster e nó do Redis quero fazer backup?

O recurso de backup e restauração cria snapshots de clusters. O usuário pode especificar de qual cluster do ElastiCache para Redis deve ser feito o backup pelo Console de Gerenciamento da AWS, pela ILC ou pela API CreateSnapshot. Em um grupo de replicação, é possível escolher o cluster primário ou qualquer uma das réplicas de leitura para fazer o backup. Recomendamos que os usuários habilitem o backup em uma das suas réplicas de leitura para reduzir os efeitos da latência no nó principal do Redis.

P: Como posso especificar quando um backup deverá ser executado?

Através do Console de Gerenciamento da AWS, da ILC ou das APIs é possível especificar quando iniciar um backup único ou recorrente. O usuário pode:

  • Criar um snapshot agora mesmo (por meio do botão do console “Backup”, na guia “Redis”, ou da API CreateSnapshot)
  • Configurar um backup diário automático. O backup será executado durante a sua janela de backups preferencial. Isso pode ser configurado pela criação ou modificação de um cluster pelo console ou pelas APIs CreateCacheCluster, ModifyCacheCluster ou ModifyReplicationGroup.
P: O que é uma janela de backup e por que ela é necessária?
 
A janela de backup preferencial é o período, definido pelo usuário, durante o qual o backup do cluster do Amazon ElastiCache for Redis será iniciado. Isso é útil para fazer backup em um momento específico durante o dia, ou não fazer backups durante um período de alta utilização.
 
P: Qual é o impacto na performance ao criar um snapshot?
 
Enquanto cria um snapshot, você pode verificar latências maiores no nó durante um breve período. Os snapshots usam o BGSAVE nativo do Redis e estão sujeitos aos seus pontos fortes e limitações. Em especial, o processo do Redis se divide e o pai continua servindo requisições enquanto o filho salva os dados no disco, e então termina. Essa divisão aumenta o uso de memória enquanto o snapshot é gerado. Quando este uso de memória ultrapassa a quantidade de memória disponível no nó de cache, a gravação da memória em disco (swapping) pode ser acionada, diminuindo mais a performance no nó. Por esse motivo, recomendamos a geração de snapshots em uma das réplicas de leitura (em vez do nó principal). Também sugerimos configurar parâmetro de memória reservada para minimizar a gravação de memória em disco. Clique aqui para obter mais detalhes.
 
P: Posso criar um snapshot a partir de uma réplica de leitura do Amazon ElastiCache for Redis?
 
Sim. Em um grupo de replicação com o modo de cluster desabilitado, a criação do snapshot a partir de uma réplica de leitura é a melhor forma de fazer backup dos dados minimizando o impacto na performance. Em um grupo de replicação com o modo de cluster habilitado, não é possível optar por fazer backup do nó primário ou de qualquer dos clusters de réplica de leitura.
 
P: Em que regiões o recurso de backup e restauração está disponível?
 
O recurso de backup e restauração está disponível em todas as regiões em que o serviço de ElastiCache está disponível.
 
P: Posso exportar para um bucket do S3 de minha propriedade snapshots do Amazon ElastiCache for Redis?
 
Sim. Você pode exportar para um bucket autorizado do S3 na mesma região que o seu cluster snapshots do Amazon ElastiCache for Redis. Para obter mais detalhes sobre a exportação de snapshots e a definição de permissões exigidas, clique aqui.
 
P: Posso copiar snapshots de uma região para outra?
 
Sim. Primeiro você deve copiar o snapshot em um bucket autorizado do S3 de sua escolha na mesma região e, então, usar a API de cópia do objeto PUT do S3 para copiá-lo em um bucket em outra região. Para obter mais detalhes sobre a cópia de objetos do S3, consulte aqui.
 
P: Tenho várias contas da AWS utilizando o Amazon ElastiCache for Redis. Posso utilizar snapshots do Amazon ElastiCache de uma conta para pré-carregar um cluster do Amazon ElastiCache for 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. Para obter mais detalhes sobre permissões entre contas do S3, consulte aqui. Finalmente, especifique onde seu arquivo RDB está localizado no S3 durante a criação do cluster pelo Launch Cache Cluster Wizard no console ou pela API CreateCacheCluster.
 
P: Quanto custa utilizar o recurso de backup e restauração?
 
O Amazon ElastiCache fornece espaço de armazenamento para um snapshot gratuitamente para cada cluster ativo do Amazon ElastiCache for Redis. O armazenamento adicional será cobrado com base no espaço consumido pelos snapshots, com 0,085 USD/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 é o período de retenção?
 
O período de retenção é o período durante o qual os snapshots automáticos ficam retidos. Por exemplo, se o período de retenção é configurado em 5, um snapshot criado hoje será retido por 5 dias antes de ser excluído. Você pode optar por copiar um ou mais snapshots para armazená-los manualmente para que não sejam excluídos ao final do período de retenção.
 
P: Como posso gerenciar a retenção dos meus snapshots automatizados?
 
Você pode usar o Console de Gerenciamento da AWS ou a API ModifyCreateCluster ou ModifyReplicationGroup para gerenciar o período de retenção de backups automatizados por meio da modificação do parâmetro RetentionPeriod. Se você quiser desativar completamente os backups automatizados, poderá configurar o período de retenção para 0 (não recomendado).
 
P: O que acontece com os meus snapshots se eu excluir o cluster do Amazon ElastiCache for Redis?
 
Ao excluir um cluster do Amazon ElastiCache for Redis, os seus snapshots manuais serão retidos. Você também poderá criar um snapshot final antes da exclusão do cluster. Os snapshots de cache automáticos não são retidos.
 
P: Quais tipos de nós de cache são compatíveis com o recurso de backup e restauração?
 
Todos os tipos de nós de instância do Amazon ElastiCache for Redis com exceção do t1.micro são compatíveis com o backup e restauração:
 
Nós de cache da geração atual:
 
  • cache.m4.large
  • cache.m4.xlarge
  • cache.m4.2xlarge
  • cache.m4.4xlarge
  • cache.m4.10xlarge
  • cache.m5.large
  • cache.m5.xlarge
  • cache.m5.2xlarge
  • cache.m5.4xlarge
  • cache.m5.12xlarge
  • cache.m5.24xlarge
  • cache.m6g.large
  • cache.m6g.xlarge
  • cache.m6g.2xlarge
  • cache.m6g.4xlarge
  • cache.m6g.8xlarge
  • cache.m6g.12xlarge
  • cache.m6g.16xlarge
  • cache.r4.large
  • cache.r4.xlarge
  • cache.r4.2xlarge
  • cache.r4.4xlarge
  • cache.r4.8xlarge
  • cache.r4.16xlarge
  • cache.r5.large
  • cache.r5.xlarge
  • cache.r5.2xlarge
  • cache.r5.4xlarge
  • cache.r5.12xlarge
  • cache.r5.24xlarge
  • cache.r6g.large
  • cache.r6g.xlarge
  • cache.r6g.2xlarge
  • cache.r6g.4xlarge
  • cache.r6g.8xlarge
  • cache.r6g.12xlarge
  • cache.r6g.16xlarge
  • cache.t2.medium
  • cache.t2.small
  • cache.t2.micro
  • cache.t3.medium
  • cache.t3.small
Nós da geração anterior:
 
  • cache.m1.small
  • cache.m1.medium
  • cache.m1.large 
  • cache.m1.xlarge 
  • cache.m2.xlarge 
  • cache.m2.2xlarge 
  • cache.m2.4xlarge
  • cache.m3.medium
  • cache.m3.large 
  • cache.m3.xlarge
  • cache.m3.2xlarge 
  • cache.r3.large 
  • cache.r3.xlarge 
  • cache.r3.2xlarge
  • cache.r3.4xlarge
  • cache.r3.8xlarge
  • cache.c1.xlarge
P: Posso utilizar os meus próprios snapshots do RDB armazenados no S3 para pré-carregar um cluster do Amazon ElastiCache for Redis?
 
Sim. Você pode especificar o local no S3 dos seus arquivos RDB durante a criação do cluster por meio do assistente “Create Cluster” (Criar cluster) no console ou por meio das APIs CreateCacheCluster ou CreateReplicationGroup.
 
P: Posso utilizar o recurso de backup e restauração caso esteja executando o Amazon ElastiCache em uma VPC?
 
Sim.

P: O que é o ElastiCache para Redis Cluster?

O ElastiCache para Redis Cluster permite que os clientes criem e executem Redis Clusters gerenciados com vários estilhaços. Ele é compatível com o Redis de código aberto 3.2.4 ou posterior e é disponibilizado com várias melhorias para oferecer uma experiência mais estável e robusta (consulte a seção “Mecanismo aprimorado” abaixo para obter detalhes adicionais sobre essas melhorias).

P: Por que é necessário um ambiente do Redis com escalabilidade horizontal aumentada?

Existem três cenários principais para a execução de um ambiente do Redis com escalabilidade horizontal aumentada. Primeiro, se o tamanho da memória total dos seus dados do Redis exceder ou se for esperado que exceda a capacidade de memória de uma única VM. Segundo, se o throughput de gravação do aplicativo para o Redis exceder a capacidade de uma única VM. Terceiro, se você desejar distribuir os dados entre vários estilhaços, de modo que qualquer possível problema que surja com um único nó tenha um impacto menor no ambiente geral do Redis.

P: Por que devo executar a carga de trabalho do Redis Cluster no Amazon ElastiCache?

O Amazon ElastiCache disponibiliza um ambiente distribuído e gerenciado do Redis na memória, que abrange do provisionamento de recursos do servidor à instalação do software do mecanismo e à aplicação de qualquer parâmetro de configuração que você escolher. Ele usa as melhorias do mecanismo do Redis desenvolvido pela Amazon, o que resulta em uma experiência mais robusta e estável (consulte a seção “enhanced engine” para obter mais detalhes). Quando o seu ambiente do Redis estiver funcionando, o serviço automatizará tarefas administrativas comuns como a detecção e a recuperação de falhas, além de backups e aplicação de patches de software. Ele também disponibilizará uma solução Multi-AZ robusta com failover automático. No caso de falha de um ou mais nós principais no seu cluster, o Amazon ElastiCache detectará automaticamente a falha e responderá ao promover a réplica mais atualizada a principal. Este processo é automático e não exige trabalho manual da sua parte. O Amazon ElastiCache também disponibiliza métricas de monitoramento detalhadas associadas aos seus nós do ElastiCache, permitindo a você diagnosticar e responder aos problemas muito rapidamente.

P: O ElastiCache para Redis Cluster é compatível com o Redis de código aberto?

Sim, o Amazon ElastiCache para Redis Cluster é compatível com o Redis de código aberto 3.2.4 ou posterior. Você pode usar clientes do Redis Cluster de código aberto para acessar clusters com escalabilidade horizontal no ElastiCache para Redis.

P: Qual é o caminho de atualização do ElastiCache para Redis 2.8.x atual para o ElastiCache para Redis Cluster (versão 3.2.4)?

Caso esteja usando o Redis 3.2 com o parâmetro cluster_mode desabilitado, só será possível escolher o nó ou o cluster que você deseja atualizar e modificar a versão de mecanismo. O ElastiCache provisionará um Redis 3.2.4 Cluster e migrará seus dados para ele e, ao mesmo tempo, manterá o endpoint.

Se você estiver usando o Redis 3.2 com o cluster_mode habilitado, para poder migrar para o Redis Cluster, primeiro crie um snapshot dos seus dados usando o recurso de backup e restauração. Depois, selecione o snapshot criado e clique em “Restore Snapshot” para criar um cluster do Redis 3.2 usando os dados do snapshot. Finalmente, atualize o novo endpoint no seu cliente. Para usar o Redis 3.2 no modo cluster, você deve mudar para um cliente do Redis Cluster.

P: A definição de preço da configuração em cluster é diferente da configuração que não é em cluster?

O Amazon ElastiCache para Redis proporciona a flexibilidade de oferecer configurações em cluster e sem ser em cluster pelo mesmo preço. Agora, os clientes podem aproveitar a funcionalidade do mecanismo aprimorado no Amazon ElastiCache para Redis e usar a compatibilidade total do recurso com configuração e escalabilidade em cluster pelo mesmo preço. 

P: O que é o Multi-AZ para o ElastiCache para Redis Cluster?

Cada estilhaço de um cluster do ElastiCache para Redis consiste em um principal e até cinco réplicas de leitura. O Redis replica de forma assíncrona os dados do primário para as réplicas de leitura. 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 Amazon ElastiCache detectará automaticamente a falha de um principal, selecionará uma réplica de leitura e a promoverá a novo principal.

O ElastiCache for Redis Cluster fornece aprimoramentos e gerenciamento para ambientes Redis 3.x e posteriores. Ao executar um ambiente não gerenciado do Redis, no caso de uma falha do nó principal, o cluster contará com uma maioria de mestres para determinar e executar o failover. Se essa maioria não existir, o cluster entrará em estado de falha, rejeitando todas as leituras e gravações adicionais. Isso pode gerar um grande impacto na disponibilidade do aplicativo, como também exigir intervenção humana para fazer recuperar manualmente o cluster. O recurso Multi-AZ do ElastiCache para Redis foi criado para tratar de qualquer caso de failover do Redis Cluster com força e eficiência.

P: Como o Multi-AZ no ElastiCache para Redis Cluster difere do Multi-AZ no ElastiCache para Redis versões 2.8.x?

O Redis 3.x e posteriores trabalham com clientes inteligentes que armazenam um mapa de nós com todos os endpoints dos nós do cluster. Durante um failover, o cliente atualiza o mapa de nós com o endpoint do IP do novo principal. Isso disponibiliza um tempo de failover até quatro vezes mais rápido que o do ElastiCache para Redis 2.8.x.

P: Como o Multi-AZ funciona para o Redis Cluster?

Você pode usar o Multi-AZ se estiver usando um ElastiCache para Redis Cluster com cada fragmento apresentando uma ou mais réplicas de leitura. Se um nó principal de um fragmento falhar, o ElastiCache detectará automaticamente a falha, selecionará uma das réplicas de leitura disponíveis e a promoverá a novo principal. O cliente do Redis 3.x e posteriores atualizará a réplica promovida como principal. Não é necessária alteração de aplicação. 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 principal tenha sido motivada por uma falha temporária na zona de disponibilidade, a nova réplica será executada assim que a zona de disponibilidade for recuperada.

P: O que é um backup no ElastiCache para Redis Cluster?

Um backup do ElastiCache para Redis Cluster é uma série de snapshots dos estilhaços de cluster, armazenados juntos para manter uma cópia do seus dados completos do Redis durante um determinado período.

P: Como um backup no ElastiCache para Redis Cluster é diferente de um snapshot no ElastiCache para Redis?

Como o ambiente do ElastiCache para Redis que não é em cluster tem um nó principal, um backup seria um único arquivo que contém uma cópia dos dados do Redis. O ElastiCache para Redis Cluster pode ter um ou mais estilhaços, portanto o backup deve conter vários arquivos.

P: Como eu especifico de quais nós do ElastiCache para Redis deve ser feito o backup em cada estilhaço?

Não é possível especificar manualmente um nó em que fazer backup dentro de cada estilhaço. Ao iniciar um backup, o ElastiCache selecionará automaticamente a réplica de leitura mais atualizada em cada estilhaço e criará um snapshot desses dados.

P: Como o recurso de backup e restauração do ElastiCache para Redis Cluster funciona?

Quando um backup é iniciado, o ElastiCache fará o backup de um cluster especificado. Esse backup poderá ser utilizado posteriormente para recuperação ou arquivamento. O backup incluirá uma cópia de cada um dos estilhaços do cluster, um backup completo contém uma série de arquivos. 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 backup para restaurar, um novo cluster do ElastiCache para Redis será criado e preenchido com os dados do backup. Além disso, você pode usar esse recurso para obter um caminho de migração simples para uma experiência gerenciada do Redis Cluster no ElastiCache. Se você estiver executando Redis autogerenciado no EC2, poderá obter snapshots do RDB ou cargas de trabalho existentes (Redis Cluster e Redis com um único estilhaço) e armazená-los no S3. Em seguida, basta usá-los como entrada para criar um Redis Cluster estilhaçado no ElastiCache e o número desejado de estilhaços. O ElastiCache fará o resto.

No momento, o ElastiCache usa o mecanismo nativo do Redis para criar e armazenar um arquivo RDB de cada estilhaço como backup.

P: O backup no ElastiCache para Redis Cluster é um snapshot point-in-time?

Ao iniciar um backup, o ElastiCache acionará backups de todos os estilhaços do seu cluster ao mesmo tempo. Em casos raros, pode ser necessário recriar o snapshot de um ou mais nós que não foram concluídos com sucesso na primeira vez. O ElastiCache faz isso automaticamente e nenhuma intervenção do usuário é exigida. Mas, nesse caso, embora cada snapshot individual seja uma representação point-in-time do nó por meio do qual ele foi criado, nem todos os snapshots do cluster serão criados ao mesmo tempo.

P: Como posso especificar quando um backup deverá ser executado?

Através do Console de Gerenciamento da AWS, da ILC ou das APIs é possível especificar quando iniciar um backup único ou recorrente. O usuário pode:

  • Faça um backup agora mesmo (usando o botão do console “Create Snapshot” ou a API CreateSnapshot)
  • Configurar um backup diário automático. O backup será executado durante a sua janela de backups preferencial. Isso pode ser configurado pela criação ou modificação de um cluster pelo console ou pelas APIs CreateCacheCluster, ModifyCacheCluster, CreateReplicationGroup ou ModifyReplicationGroup.

P: Posso utilizar os meus próprios snapshots do RDB armazenados no S3 para pré-propagar um ambiente de escalabilidade horizontal aumentada do ElastiCache para Redis Cluster?

Sim. Você pode especificar o local no S3 dos seus arquivos RDB durante a criação do cluster por meio do assistente “Create Cluster” no console ou por meio da API CreateReplicationGroup. O ElastiCache analisará automaticamente o keyspace do Redis do snapshot do RDB e o redistribuirá entre os estilhaços do novo cluster.


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 potência e a estabilidade. Algumas das melhorias são:

  • Mais memória utilizável: agora, você pode alocar com segurança mais memória para o aplicativo, 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, seu estilhaço se recupera mais rapidamente, pois as réplicas não descarregam mais seus dados para poderem fazer uma ressincronização completa com o principal.

P: Como faço para usar o mecanismo aprimorado?

Para usar o mecanismo aprimorado do console de gerenciamento do Amazon ElastiCache, basta selecionar um mecanismo compatível com a versão de mecanismo do Redis 2.8.22 ou superior ao criar um cluster. Depois disso, o mecanismo aprimorado poderá ser usado. Você também poderá usar o mecanismo aprimorado por meio da API do ElastiCache ou da ILC da AWS ao especificar a versão de mecanismo durante a execução da API CreateCacheCluster.

P: É necessário alterar o código dos aplicativos para usar o mecanismo aprimorado do ElastiCache?

O mecanismo aprimorado é totalmente compatível com o Redis de código aberto. Portanto, você poderá usufruir da robusteza e da estabilidade melhoradas sem precisar alterar o código dos aplicativos.

P: Quanto custa o mecanismo aprimorado?

Não há cobrança adicional para o uso do mecanismo aprimorado. Como sempre, só serão cobrados os nós que você utilizar.


P: O que é o redimensionamento online de clusters?

O Amazon ElastiCache for Redis possibilita adicionar e remover fragmentos de um cluster do Redis com o modo de cluster em execução. Você pode aumentar ou diminuir de modo dinâmico a escala horizontal das workloads de clusters do Redis para adaptar-se a mudanças na demanda. O Amazon ElastiCache redimensionará o cluster ao adicionar ou remover fragmentos e redistribuir hash slots de modo uniforme na nova configuração de fragmento. O serviço faz tudo isso enquanto o cluster permanece online e atende a solicitações.

P: Quais são os benefícios do uso do redimensionamento online de clusters?

A capacidade de aumentar e diminuir a escala horizontal de modo dinâmico de um cluster pode ajudar você a gerenciar a variação de aplicativos e cumprir demandas flutuantes. Você pode dimensionar corretamente clusters ao adicionar ou remover fragmentos para ajustar o dimensionamento da performance e a capacidade na memória. Esse recurso elimina a necessidade de provisionar clusters em excesso com base nos picos da demanda, ajuda a melhorar a eficiência e reduz os custos.

P: Como posso usar o redimensionamento online de clusters?

O redimensionamento online de clusters está disponível para clusters do Redis com o modo de cluster habilitado na versão 3.2.10 ou superior. Para estilhaçar novamente o cluster, selecione-o e especifique se deseja adicionar ou remover fragmentos. Ao redimensionar o cluster para aumentar a escala horizontal do cluster, o Amazon ElastiCache adiciona fragmentos e migra slots de fragmentos existentes para novos fragmentos, de modo que os slots sejam distribuídos de maneira uniforme (de acordo com a quantidade) entre os fragmentos. De modo similar, ao redimensionar o cluster para diminuir a escala horizontal, o Amazon ElastiCache migra os slots para os fragmentos restantes, para distribuir de maneira uniforme os slots, e exclui fragmentos especificados.

P: Qual é o tempo necessário para o redimensionamento online de clusters?

O tempo necessário para redimensionar clusters depende de vários fatores, como o número de slots que devem ser migrados entre os fragmentos, o tamanho dos dados e a taxa de solicitações de entrada no cluster. O fluxo de trabalho é otimizado para paralelizar a migração de slots e acelerar o dimensionamento.

P: O cluster pode ser usado enquanto ocorre o redimensionamento de clusters?

Sim. O cluster permanece online e atende a solicitações de entrada, enquanto ocorre a reconfiguração de fragmentos. No entanto, a criação de snapshots de um cluster não é aceita quando a refragmentação está em andamento.

P: Existe algum impacto na performance desta operação no cluster?

Embora o redimensionamento online de clusters ofereça benefícios para aumentar/diminuir a escala horizontal, sem tempo de inatividade, é uma operação com uso intenso da computação e pode aumentar a latência da conexão do seu cliente. Para reduzir a carga no cluster durante a operação, recomendamos seguir as práticas recomendadas (descritas na documentação).

P: Como posso acompanhar o andamento de uma operação online de reconfiguração de fragmentos?

É possível acompanhar o andamento da refragmentação visualizando o status do cluster, dos fragmentos e dos nós. Durante a operação, o cluster, os fragmentos e os nós permanecerão no status “em modificação”. De modo similar, quando os estilhaços estiverem sendo criados, excluídos, ou participando de uma migração de slots, o status individual do estilhaço refletirá esses status para demonstrar o andamento da operação. Além disso, o status da operação completa também poderá ser rastreado usando o indicador de andamento da operação de reconfiguração de estilhaços, que indica a porcentagem concluída e disponibiliza informações sobre o tempo restante para o término da operação. Por fim, as mensagens de evento indicam o andamento ao descrever as ações tomadas (criação de fragmentos, migração de slots, etc.) durante essa operação.

P: O que é a operação de rebalanceamento do cluster do Amazon ElastiCache for Redis?

A operação de rebalanceamento pode ser usada para redistribuir slots entre fragmentos existentes para obter uma distribuição uniforme. Esse recurso pode ser muito útil quando um cluster for criado com uma distribuição de slots desigual especificada manualmente, ou uma operação de aumento/diminuição de escala horizontal deixar o cluster com uma distribuição desigual. Pressupondo que os slots sejam idênticos na memória deles e nos requisitos de E/S, a distribuição uniforme de slots de acordo com a quantidade é uma maneira fácil de balancear a carga entre os estilhaços.

P: Como a aplicação de tags funciona durante o aumento da escala horizontal de um cluster?

Quando os novos nós são adicionados para aumentar a escala horizontal de um cluster, os nós assumem o mesmo conjunto de tags comuns em todos os nós atuais. Além disso, os usuários podem modificar as tags em todos os nós e continuar a usar a aplicação de tags anterior.

P: O cliente ou a aplicação precisa fazer alterações com relação ao uso do redimensionamento online de clusters?

Não. A distribuição otimizada de slots usada no redimensionamento de clusters é compatível com o comportamento do cliente de cluster do Redis e não exige nenhuma alteração na aplicação. O Amazon ElastiCache mantém os endpoints do cluster, o que permite que você continue usando clientes existentes sem que seja necessário fazer nenhuma alteração.


P: Quais os benefícios proporcionados pela criptografia de dados em repouso do Amazon ElastiCache for Redis?

A criptografia em repouso oferece mecanismos para proteger contra o acesso não autorizado de seus dados no servidor. Quando habilitada em um grupo de replicação, ela criptografa os seguintes aspectos: 

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

O Amazon ElastiCache for Redis oferece criptografia em repouso (gerenciada pelo serviço) por padrão, além da capacidade de usar suas próprias chaves principais simétricas do cliente gerenciadas pelo cliente no AWS Key Management Service (KMS). A criptografia em repouso pode ser habilitada em um grupo de replicação somente quando este é criado. Você pode ler mais aqui.

P: Quais os benefícios da criptografia de dados em trânsito do Amazon ElastiCache for Redis?

O recurso de criptografia de dados em trânsito permite criptografar todas as comunicações entre clientes e um servidor do Redis, bem como entre os servidores do Redis (nó primário e nós de réplicas de leitura). É um recurso opcional e só pode ser habilitado nos grupos de replicação do Redis quando são criados. Você pode ler mais aqui.

P: Como faço para usar a criptografia de dados em trânsito, em repouso e o AUTH do Redis?

Os recursos de criptografia em trânsito, criptografia em repouso, AUTH do Redis e Controle de acesso baseado em função (RBAC) são todos opcionais. No momento da criação de clusters do Redis por meio do console ou da interface da linha de comando, é possível especificar se você quer habilitar a criptografia em repouso e/ou em trânsito. 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. Após a configuração do cluster com criptografia habilitada, o Amazon ElastiCache gerencia de forma transparente a expiração e a renovação de certificados, sem necessidade de nenhuma ação adicional da aplicação. Além disso, clientes do Redis precisam ser compatíveis com TLS para usar a criptografia de dados em trânsito. Se você pode usar o AUTH do Redis, será necessário ter o Redis 3.2.6 em diante, enquanto o RBAC exige que você use o Redis 6.

P: Preciso de algum cliente específico do Amazon ElastiCache for Redis quando estiver usando criptografia de dados em trânsito ou em repouso?

Não. A criptografia de dados em trânsito exige que os clientes ofereçam suporte ao TLS. A maioria dos clientes do Redis (como Lettuce, Predis e go-Redis) é compatível com TLS em algumas definições de configuração. Verifique se o cliente do Redis escolhido está configurado para ser compatível com TLS e continue a usar o Amazon ElastiCache for Redis da mesma forma que antes.

P: Posso habilitar a criptografia de dados em trânsito e em repouso nos clusters do Amazon ElastiCache for Redis já existentes?

Não. A compatibilidade da criptografia de dados em trânsito e em repouso somente está disponível para novos clusters e não está disponível em clusters do Amazon ElastiCache for Redis já existentes. O Amazon ElastiCache for Redis versão 6.0.5, 5.0.0, 4.0.10 e 3.2.6 é compatível com esses recursos.

P: É necessária alguma ação para renovar certificados?

Não. O Amazon 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: Posso usar meus certificados para criptografia?

Não. No momento, o Amazon ElastiCache não permite que você use seus próprios certificados. O Amazon ElastiCache gerencia os certificados para você de forma transparente.

P: A criptografia de dados em trânsito e em repouso é compatível com quais tipos de instância?

A criptografia de dados em trânsito e em repouso é compatível com todas as gerações atuais de instâncias. Veja aqui uma lista completa das condições de criptografia em trânsito e aqui das condições de criptografia em repouso.

P: Há custos adicionais para usar a criptografia?

Não há custo adicional para usar a criptografia.


P: O Amazon ElastiCache for Redis é compatível com quais programas de conformidade?

O Amazon ElastiCache for Redis é compatível com programas de conformidade como SOC 1, SOC 2, SOC 3, ISO, MTCS, C5, PCI, 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 Amazon ElastiCache for Redis está em conformidade com o PCI?

Sim. O programa de conformidade com o PCI da AWS inclui o Amazon ElastiCache para Redis 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 Amazon ElastiCache for Redis está no escopo, consulte Serviços da AWS no escopo pelo programa de conformidade.

P: O Amazon ElastiCache para Redis é qualificado pela HIPAA?

Sim, o Amazon ElastiCache for Redis é um serviço qualificado pela HIPAA e foi adicionado ao Adendo de associado comercial da AWS (BAA). Isso significa que você pode usar o Amazon ElastiCache for Redis como ajuda para processar, manter e armazenar Protected Health Information (PHI – Informações de saúde protegidas) e como base para aplicações de saúde.

P: O que devo fazer para usar o Amazon ElastiCache for Redis qualificado pela HIPAA?

Se você assinou um Business Associate Agreement (BAA – Acordo de associado comercial) com a AWS, poderá usar o ElastiCache for Redis a fim de criar aplicações em conformidade com a HIPAA. Se você não tiver um BAA, ou apresentar outras dúvidas sobre o uso da AWS para aplicações compatíveis com a HIPAA, entre em contato conosco para obter mais informações. Consulte Arquitetura de segurança e conformidade com a HIPAA na Amazon Web Services para obter mais informações sobre como configurar os serviços da Amazon qualificados pela HIPAA para armazenar, processar e transmitir informações de saúde protegidas (PHI).

P: O Amazon ElastiCache for Redis é autorizado pelo FedRAMP?

O programa de conformidade com o FedRAMP da AWS inclui o Amazon ElastiCache for Redis como um serviço autorizado pelo FedRAMP. Os clientes do governo dos Estados Unidos, bem como seus parceiros, já podem usar a versão mais recente do Amazon ElastiCache for Redis para processar e armazenar sistemas, dados e workloads essenciais à missão e nível de impacto alto do FedRAMP na região AWS GovCloud (EUA) e de nível de impacto moderado nas regiões Leste/Oeste dos EUA.

Para saber mais, veja os recursos seguintes:

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

P: Há um custo adicional para usar os recursos de conformidade?

Não existe custo adicional para usar os recursos de conformidade.


P: O que é o Global Datastore for Redis?

O Global Datastore é um recurso do Amazon ElastiCache for Redis que disponibiliza replicação gerenciada, rápida, confiável e segura entre regiões. Com ele, você pode fazer gravações no cluster do Amazon 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 presença global, o Global Datastore for Redis aceita uma latência de replicação entre regiões de, geralmente, menos de um segundo. Isso aumenta a capacidade de resposta de aplicações ao disponibilizar leituras geolocais mais próximas dos usuários finais. No caso raro de uma degradação regional, um dos clusters de réplica entre regiões que não apresentar problemas poderá ser promovido a cluster primário com recursos completos de leitura/gravação. Geralmente, depois de iniciada, a promoção é concluída em menos de um minuto, o que permite que os aplicativos 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 Global Datastore for Redis. No caso raro de uma degradação regional, os clusters 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 Global Datastore for Redis?

O Global Datastore é aceito no Amazon ElastiCache for Redis 5.0.6 e em versões superiores. Os clientes podem fazer upgrade do mecanismo de versão para a versão 5.0.6 e usar o Global Datastore.

P: Como posso criar um Global Datastore for Redis?

Você pode configurar um Global Datastore ao usar um cluster atual ou criar um novo que será usado como o principal. Você pode criar um Global Datastore for Redis com apenas alguns cliques no Console de Gerenciamento do Amazon ElastiCache ou ao fazer download do SDK ou da CLI mais recente da AWS. O Global Datastore é compatível com o AWS CloudFormation.

P: O Amazon ElastiCache faz automaticamente o failover de um Global Datastore for Redis para promover um cluster secundário no caso de degradação de um cluster primário (na região)?

Não, o Amazon ElastiCache não promove automaticamente um cluster secundário no caso de degradação de um cluster primário (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 posso executar o failover de aplicativos para a recuperação de desastres se meu cluster principal sofrer uma degradação de serviço?

Se o seu cluster primário em um Global Datastore for Redis sofrer uma degradação de serviço, você poderá atribuir um cluster secundário como o novo cluster principal e, depois, remover o cluster primário antigo do Global Datastore. Assim que um cluster secundário for promovido a primário, o Amazon ElastiCache reconfigurará o primário antigo (se estiver acessível) como secundário. Depois disso, ele reconfigurará a replicação para que ela sincronize todas as regiões secundárias com o novo primário. Se sua pilha completa de aplicações estiver replicada em outra região da AWS, você poderá fazer o failover da pilha completa de aplicações (inclusive dos seus recursos computacionais) para a região da AWS especificada. Se o restante da pilha de aplicações não exigir o failover, verifique se a aplicação tem acesso ao endpoint do cluster secundário.

P: Como os meus dados são protegidos durante o uso do Global Datastore for Redis?

Para manter os seus dados seguros, o Global Datastore for Redis usa a criptografia em trânsito para o tráfego entre regiões. Além disso, você pode criptografar clusters primários e secundários usando a criptografia em repouso para manter seus dados seguros de ponta a ponta. Cada cluster primário e secundário pode ter uma Customer Master Key (CMK – Chave mestra do cliente) gerenciada pelo cliente separada no AWS Key Management Service (KMS) para a criptografia em repouso.

P: Quais Recovery Point Objective (RPO – Objetivo de ponto de recuperação) e Recovery Time Objective (RTO – Objetivo de tempo de recuperação) são oferecidos pelo Global Datastore for Redis?

O Amazon 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 Global Datastore é 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 Global Datastore for Redis, geralmente, é de menos de um minuto. Depois que o failover de um cluster secundário é iniciado, o Amazon ElastiCache, geralmente, o promove para que ele obtenha recursos completos de leitura/gravação em menos de um minuto.

P: Qual é a definição de preço do Global Datastore for Redis?

O Amazon ElastiCache não cobra nada pelo uso do Global Datastore for Redis. Você paga pelos clusters primários e secundários no Global Datastore e pelo tráfego de transferência de dados entre regiões.