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 você pode usar para armazenar dados em cache. Normalmente, a aplicação vai armazenar em cache os dados mais acessados 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 Valkey, Redis OSS e Memcached. Se não souber qual mecanismo deseja usar, consulte Comparando os caches autoprojetados do Valkey, do Redis OSS e do Memcached 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, Redis OSS ou Memcached para começar a acessar seu cache.

nota
  • ElastiCache O Serverless executa Valkey, Redis OSS ou Memcached no modo de cluster e só é compatível com clientes que oferecem suporte. 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 uma disponibilidade de 99,99% SLA 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 para o Cliente VPC e depois para o Serviço. VPC

Quando você cria um novo cache sem servidor, ElastiCache cria um endpoint de nuvem privada virtual (VPC) nas sub-redes de sua escolha no seu. VPC Seu aplicativo pode se conectar ao cache por meio desses VPC endpoints.

Com o ElastiCache Serverless, você recebe um único DNS endpoint 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 o Redis OSS no modo de cluster criando um cluster com vários fragmentos ou no 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, você pode usar Parâmetros Valkey e Redis OSS ou Parâmetros específicos do Memcached 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. Você também pode usar o recurso Auto-Scaling para configurar o escalonamento com base em uma programação ou o escalonamento com base em métricas como CPU o uso da 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 até o Cliente VPC e, em seguida, até os nós de cache ElastiCache 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 Unidades de Processamento (). ElastiCache 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 CPU tempo v e os dados transferidos.

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

  • Com o Valkey e o RedisOSS, os comandos que consomem mais CPU tempo v e transferem mais dados consomem ECPUs com base na maior das duas dimensões. Por exemplo, se seu aplicativo usa o HMGET comando, consome 3 vezes o CPU tempo v do que um simples GET comandoSET/e transfere 3,2 KB de dados, ele consumirá 3,2ECPU. Como alternativa, se ele transferir apenas 2 KB de dados, consumirá 3ECPUs.

  • Com o Valkey e o RedisOSS, os comandos que exigem CPU tempo v adicional consumirão proporcionalmente mais. ECPUs Por exemplo, se seu aplicativo usa o OSS HMGETcomando Valkey ou Redis e consome 3 vezes o CPU tempo v do que um simples GET comandoSET/, 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á 3ECPUs.

  • 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 seu aplicativo usar o GET comando, recuperar 3 itens e transferir 3,2 KB de dados, ele consumirá 3,2ECPU. Como alternativa, se ele transferir apenas 2 KB de dados, consumirá 3ECPUs.

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 RedisOSS. 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 mais informações, consulte Snapshots e restauração.