Como ElastiCache funciona - Amazon ElastiCache

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Como ElastiCache funciona

Aqui você encontra uma visão geral dos principais componentes de uma ElastiCache implantação.

Cache e mecanismos de cache

Um cache é um armazenamento de dados na memória que é possível usar para armazenar dados em cache. Normalmente, seu aplicativo armazena em cache os dados acessados com frequência em um cache para otimizar os tempos de resposta. ElastiCache oferece duas opções de implantação: clusters sem servidor e com design próprio. Consulte Escolha entre opções de implantação.

nota

A Amazon ElastiCache trabalha com os mecanismos OSS Valkey, Memcached e Redis. Se não souber qual mecanismo deseja usar, consulte Comparando os caches autoprojetados do Valkey, Memcached e Redis OSS neste guia.

Como ElastiCache funciona

ElastiCache Sem servidor

ElastiCache O Serverless permite que você crie um cache sem se preocupar com planejamento de capacidade, gerenciamento de hardware ou design de cluster. Você simplesmente fornece um nome para seu cache e recebe um único endpoint que pode ser configurado em seu cliente Valkey, Memcached e Redis OSS para começar a acessar seu cache.

nota
  • ElastiCache O Serverless executa Valkey, Memcached ou Redis OSS no modo de cluster e só é compatível com clientes que oferecem suporte a TLS.

Benefícios principais

  • Sem planejamento de capacidade: o ElastiCache Serverless elimina a necessidade de planejar a capacidade. ElastiCache O Serverless monitora continuamente a utilização de memória, computação e largura de banda de rede do seu cache e escala vertical e horizontalmente. Ele permite que um nó de cache cresça e, paralelamente, inicia uma operação de aumento de escala horizontal para garantir que o cache possa escalar para atender aos requisitos da aplicação em todos os momentos.

  • Pay-per-use: Com o ElastiCache Serverless, você paga pelos dados armazenados e pela computação utilizada pela sua carga de trabalho no cache. Consulte Dimensões de preço.

  • Alta disponibilidade: o ElastiCache Serverless replica automaticamente seus dados em várias zonas de disponibilidade (AZ) para obter alta disponibilidade. Ele monitora automaticamente os nós de cache subjacentes e os substitui em caso de falhas. Ele oferece um SLA de disponibilidade de 99,99% para cada cache.

  • Atualizações automáticas de software: o ElastiCache Serverless atualiza automaticamente seu cache para a última versão secundária e corrige o software sem nenhum impacto na disponibilidade do seu aplicativo. Quando uma nova versão principal estiver disponível, você ElastiCache receberá uma notificação.

  • Segurança: o ElastiCache Sem Servidor sempre criptografa os dados em trânsito e em repouso. É possível usar uma chave gerenciada pelo serviço ou usar a própria chave gerenciada pelo cliente para criptografar dados em repouso.

O diagrama a seguir ilustra como o ElastiCache Serverless funciona.

Um diagrama da operação de cache ElastiCache sem servidor, das zonas de disponibilidade até a VPC do cliente e, em seguida, até a VPC do serviço.

Quando você cria um novo cache sem servidor, ElastiCache cria um Endpoint de Nuvem Privada Virtual (VPC) nas sub-redes de sua escolha em sua VPC. A aplicação pode se conectar ao cache por meio desses endpoints da VPC.

Com o ElastiCache Serverless, você recebe um único endpoint DNS ao qual seu aplicativo se conecta. Quando você solicita uma nova conexão com o endpoint, o ElastiCache Serverless manipula todas as conexões de cache por meio de uma camada de proxy. A camada proxy ajuda a reduzir a configuração do cliente complexa, porque o cliente não precisa redescobrir a topologia do cluster em caso de alterações no cluster subjacente. A camada proxy é um conjunto de nós proxy que processam conexões usando um balanceador de carga da rede.

Quando a aplicação cria uma nova conexão de cache, a solicitação é enviada para um nó proxy pelo balanceador de carga da rede. Quando a aplicação executa comandos de cache, o nó proxy conectado à aplicação executa as solicitações em um nó de cache no cache. A camada proxy abstrai a topologia do cluster de cache e os nós do cliente. Isso permite balancear ElastiCache a carga de forma inteligente, escalar e adicionar novos nós de cache, substituir os nós de cache quando eles falham e atualizar o software nos nós de cache, tudo sem afetar a disponibilidade do seu aplicativo ou a necessidade de redefinir as conexões.

Clusters autoprojetados ElastiCache

Você pode escolher criar seus próprios ElastiCache clusters escolhendo uma família de nós de cache, tamanho e número de nós para seu cluster. Projetar o próprio cluster proporciona um controle mais refinado e permite a você escolher o número de fragmentos no cache e o número de nós (primário e réplica) em cada fragmento. Você pode optar por operar o Valkey ou Redis OSS em modo de cluster criando um cluster com vários fragmentos ou em modo sem cluster com um único fragmento.

Benefícios principais

  • Crie seu próprio cluster: com ElastiCache, você pode criar seu próprio cluster e escolher onde deseja colocar seus nós de cache. Por exemplo, se tiver uma aplicação que deseja trocar a alta disponibilidade pela baixa latência, você poderá optar por implantar os nós de cache em uma única AZ. Como alternativa, você pode projetar seu cluster com nós em vários AZs para obter alta disponibilidade.

  • Controle refinado: ao projetar o próprio cluster, você tem mais controle sobre o ajuste fino das configurações no cache. Por exemplo, é possível usar Parâmetros do Valkey e do Redis OSS or Parâmetros específicos do Memcached para configurar o mecanismo de cache.

  • Escalar vertical e horizontalmente: você pode optar por escalar manualmente o cluster aumentando ou diminuindo o tamanho do nó de cache quando necessário. Você também pode escalar horizontalmente ao adicionar novos fragmentos ou adicionar mais réplicas aos fragmentos. Também é possível usar o recurso ajuste de escala automático para configurar o escalonamento com base em uma programação ou o escalonamento com base em métricas como uso de CPU e memória no cache.

O diagrama a seguir ilustra como os clusters ElastiCache autoprojetados funcionam.

Um diagrama da operação de clusters ElastiCache autoprojetados, das zonas de disponibilidade à VPC do cliente e, em seguida, ElastiCache aos nós de cache gerenciados.

Dimensões de preço

Você pode implantar ElastiCache em duas opções de implantação. Ao implantar o ElastiCache Serverless, você paga pelo uso dos dados armazenados em GB/hora e pela computação em ElastiCache unidades de processamento (ECPU). Ao escolher criar seus próprios ElastiCache clusters, você paga por hora de uso do nó de cache. Consulte detalhes de preço aqui.

Armazenamento de dados

Você paga pelos dados armazenados no ElastiCache Serverless cobrados em gigabytes por hora (GB-hrs). ElastiCache O Serverless monitora continuamente os dados armazenados em seu cache, fazendo amostragens várias vezes por minuto, e calcula uma média horária para determinar o uso do armazenamento de dados do cache em GB-h. Cada cache ElastiCache sem servidor é medido para um mínimo de 1 GB de dados armazenados.

ElastiCache Unidades de processamento (ECPUs)

Você paga pelas solicitações que seu aplicativo executa no ElastiCache Serverless in ElastiCache Processing Units (ECPUs), uma unidade que inclui o tempo de vCPU e os dados transferidos.

  • Leituras e gravações simples exigem um ECPU para cada quilobyte (KB) de dados transferidos. Por exemplo, um comando GET que transfere até 1 KB de dados consome uma ECPU. Uma solicitação SET que transfere 3,2 KB de dados consumirá 3,2 ECPUs.

  • Com o Valkey e o Redis OSS, os comandos que consomem mais tempo de vCPU e transferem mais dados consomem ECPUs com base na maior das duas dimensões. Por exemplo, se usar o comando HMGET e consumir três vezes mais tempo de vCPU do que um simples comando SET/GET e transferir 3,2 KB de dados, a aplicação consumirá 3,2 eCPUs. Como alternativa, se ele transferir apenas 2 KB de dados, consumirá 3 ECPUs.

  • Com o Valkey e o Redis OSS, os comandos que exigem tempo adicional de vCPU consumirão proporcionalmente mais. ECPUs Por exemplo, se seu aplicativo usa o comando Valkey ou Redis OSS HMGET e consome 3 vezes mais tempo de vCPU do que um simples comando SET/GET, ele consumirá 3. ECPUs

  • Com o Memcached, os comandos que operam em vários itens consumirão proporcionalmente mais. ECPUs Por exemplo, se seu aplicativo executar um multiget em 3 itens, ele consumirá 3 ECPUs.

  • Com o Memcached, os comandos que operam em mais itens e transferem mais dados consomem ECPUs com base na maior das duas dimensões. Por exemplo, se a aplicação usar o comando GET, recuperar três itens e transferir 3,2 KB de dados, ela consumirá 3,2 ECPU. Como alternativa, se ele transferir apenas 2 KB de dados, consumirá 3 ECPUs.

ElastiCache O Serverless emite uma nova métrica chamada ElastiCacheProcessingUnits que ajuda você a entender o que é ECPUs consumido pela sua carga de trabalho.

Horas de nó

Você pode escolher criar seu próprio cluster de cache escolhendo a família de EC2 nós, o tamanho, o número de nós e o posicionamento nas zonas de disponibilidade. Ao projetar o cluster por conta própria, você paga por hora por nó de cache.

ElastiCache cópias de segurança

Um backup é uma point-in-time cópia de um cache sem servidor ou de um cluster autoprojetado pelo Valkey ou Redis OSS. ElastiCache permite que você faça um backup de seus dados a qualquer momento ou configure backups automáticos. Backups podem ser usados para restaurar um cache existente ou para propagar um novo cache. Backups consistem em todos os dados de um cache mais alguns metadados. Para obter mais informações, consulte Snapshots e restauração.