

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

# MemoryDB multirregional
<a name="multi-region"></a>

O MemoryDB multirregional é um banco de dados multirregional totalmente gerenciado, ativo-ativo e multirregional que permite criar aplicações multirregionais com disponibilidade de até 99,999% e latências de leitura de microssegundos e gravação de um dígito em milissegundos. Você pode melhorar a disponibilidade e a resiliência da degradação regional, além de se beneficiar de leituras e gravações locais de baixa latência para aplicações multirregional. 

Com o MemoryDB multirregional, é possível criar aplicações multirregionais altamente disponíveis para aumentar a resiliência. Ele oferece replicação ativa-ativa para que você possa fornecer leituras e gravações localmente nas regiões mais próximas de seus clientes, com latência de leitura de microssegundos e latência de gravação de um dígito de milissegundos. O MemoryDB multirregional replica dados de forma assíncrona entre regiões, e os dados normalmente são propagados em um segundo. Ele resolve automaticamente conflitos de atualização e corrige problemas de divergência de dados, permitindo que você se concentre em sua aplicação. 

Atualmente, o MemoryDB Multi-Region é suportado nas seguintes AWS regiões: Leste dos EUA (Norte da Virgínia e Ohio), Oeste dos EUA (Oregon, Norte da Califórnia), Europa (Irlanda, Frankfurt e Londres) e Ásia-Pacífico (Tóquio, Sydney, Mumbai, Seul e Cingapura).

Você pode começar facilmente a usar o MemoryDB Multi-Region com apenas alguns cliques do Console de gerenciamento da AWS ou usando o SDK mais recente AWS , ou. AWS CLI

**Topics**
+ [Pré-requisitos e limitações](multi-region.prereq.md)
+ [Como funciona](multi-region.how.md)
+ [Consistência e resolução de conflitos](#multi-region.conflict)
+ [Usar o MemoryDB multirregional com o console](multi-Region.console.md)
+ [Usar o MemoryDB multirregional com a CLI](multi-Region.cli.md)
+ [Monitoramento do MemoryDB multirregional](multi-Region.monitoring.md)
+ [Escalar com o MemoryDB multirregional](multi-Region.Scaling.md)
+ [Comandos compatíveis e incompatíveis](multi-Region.SupportedCommands.md)

# Pré-requisitos e limitações
<a name="multi-region.prereq"></a>

Antes de começar a usar o MemoryDB multirregional, esteja ciente do seguinte:
+ **MemoryDB multirregional replica dados entre regiões de sua escolha**: ao criar um cluster multirregional, você entende e concorda que os dados serão movidos entre as regiões selecionadas.

  A remoção de uma região do grupo multirregional também exclui o cluster regional nessa região.
+ **Disponibilidade regional** - O MemoryDB Multi-Region é suportado nas seguintes AWS regiões: Leste dos EUA (Norte da Virgínia e Ohio), Oeste dos EUA (Oregon, Norte da Califórnia), Europa (Irlanda, Frankfurt e Londres) e Ásia-Pacífico (Tóquio, Sydney, Mumbai, Seul e Cingapura). 
+ **Comportamentos e configurações**: todos os clusters regionais multirregionais terão o mesmo número de fragmentos, tipos de instância, versão do mecanismo do Valkey, configurações de TLS e grupos de parâmetros. Você pode escolher diferentes tipos de autenticação do IAM ACLs, janelas de snapshot, tags, chaves gerenciadas pelo cliente (CMKs) e janelas de manutenção para cada um dos seus clusters regionais. 

  Com o MemoryDB multirregional, clusters em diferentes regiões podem ter um número diferente de réplicas.
+ **Tipos de nós compatíveis**: o MemoryDB multirregional é compatível com nós R7g de tamanho XL ou superior.

  O MemoryDB multirregional é compatível com a versão 7.3 e posterior do mecanismo do Valkey.
+ **Tipos de dados compatíveis**: o MemoryDB multirregional atualmente é compatível com a maioria dos tipos de dados do Redis OSS ou Valkey, e adicionaremos suporte para mais tipos de dados no futuro. Os tipos de dados compatíveis incluem strings, hashes, conjuntos e conjuntos classificados, embora nem todos os comandos que manipulam esses tipos de dados sejam compatíveis.
+ **Número total de regiões** - Com o MemoryDB Multi-Region, você poderá replicar automaticamente os dados do cluster MemoryDB entre até cinco regiões. AWS 
+ **Opções suportadas**: o MemoryDB Multi-Region oferece suporte horizontal/vertical a escalabilidade, integração com IAM ACLs, captura instantânea automática e sob demanda, correção automática de software e monitoramento. 
+ **Backup e restauração**: é possível criar snapshots para fazer backup dos dados dos clusters regionais de várias regiões. É possível criar um snapshot manualmente ou usar o agendador de snapshots automatizado do MemoryDB para criar um snapshot a cada dia em um horário especificado individualmente para cada cluster regional.
+ **Migração** - Você pode optar por restaurar qualquer backup no formato MemoryDB ou Redis OSS/Valkey RDB. Para migrar os dados de um backup, crie um cluster regional multirregional do MemoryDB e especifique a localização do snapshot no Amazon S3. Se for um snapshot do MemoryDB, você também poderá especificar o nome. O MemoryDB multirregional criará o cluster regional com os dados do snapshot. Como o MemoryDB multirregional é compatível com os tipos de dados strings, hashes, conjuntos e conjuntos classificados, você pode migrar dados de snapshot somente para esses tipos de dados compatíveis. Se o arquivo de backup tiver tipos de dados do Redis OSS incompatíveis, o MemoryDB multirregional falhará na operação de migração por padrão. 
+ **Reserva de recursos**: o MemoryDB multirregional foi projetado para proteger a disponibilidade regional. Alguns recursos são reservados permanentemente em cada nó para garantir que as solicitações locais de leitura e gravação possam ser atendidas independentemente da workload nas regiões de mesmo nível. Esses recursos também servem para proteger a disponibilidade local durante eventos nas regiões de mesmo nível, inclusive durante eventos de isolamento da região e sua recuperação. Isso resulta em características de desempenho diferentes em comparação com o MemoryDB de região única. O MemoryDB multirregional permite escalabilidade vertical e horizontal para expandir os recursos disponíveis.
+ **Não RPO/RTO SLAs** - o MemoryDB Multi-Region não fornece um SLA declarado. RPO/RTO Ele continuará aceitando gravações em uma AWS região que foi isolada de outras AWS regiões, potencialmente aumentando o atraso na replicação cruzada indefinidamente. Esperamos que os clientes detectem o isolamento usando a métrica “MultiRegionClusterReplicationLag” e redirecionem o tráfego de seus aplicativos para outra região, dependendo do RPO que desejam. 
+ **Sem endpoint único ou failover automático:** em caso de uma interrupção regional, você precisará redirecionar manualmente o tráfego de seus clientes para a pilha de aplicação em outra região. Será necessário garantir que eles tenham configurado corretamente o acesso multirregional aos clusters MemoryDB. 
+ **Sem suporte a TTL**: o MemoryDB multirregional não é compatível com TTL (vida útil).
+ **Não há suporte para hierarquização de dados ou pesquisa vetorial**: o MemoryDB multirregional não é compatível com a pesquisa vetorial nem com os recursos de classificação em camadas de dados.
+ O MemoryDB Multi-Region não suporta read-modify-write comandos (APPEND, RENAMENX etc.).
+ A atomicidade e a consistência das transações do Redis OSS não são garantidas no MemoryDB multirregional.
+ **Modelo de autenticação**: as ações da API do MemoryDB multirregional podem ser invocadas de qualquer região compatível. O escopo das permissões pode ser restringido especificando o ARN do cluster multirregional em uma política do IAM. O formato do ARN do cluster multirregional é `arn:aws:memorydb::<account-id>:multiregioncluster/multi-region-cluster-name`. Não há informações sobre a região no ARN.
+ **Limitações de taxa de transferência** - O MemoryDB Multi-Region pode suportar até 1,3 taxa de transferência de GB/s leitura por nó em uma região e aproximadamente 50 taxas de transferência de gravação agregadas MB/s globalmente por fragmento.
+ **AWS política** - A AWS ReadOnlyAccess política fornece acesso somente para leitura a AWS serviços e recursos, mas não recuperará automaticamente detalhes sobre um ou mais clusters multirregionais. Para recuperar detalhes sobre um ou mais clusters multirregionais, use a política [AmazonMemoryDBReadOnlyAccess](security-iam-awsmanpol.md#iam.identitybasedpolicies.predefinedpolicies-readonly) ou crie [políticas gerenciadas pelo cliente do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_job-functions.html).
+ **Excluindo um cluster regional** - Ao excluir um cluster regional, todas as Chaves Gerenciadas pelo Cliente (CMKs) associadas devem permanecer válidas até que a exclusão do cluster regional seja concluída. Isso garante que os demais clusters regionais possam convergir para um estado consistente. 

# Como funciona
<a name="multi-region.how"></a>

Veja como funciona o MemoryDB multirregional.
+ **Conceitos**

  Um cluster multirregional é uma coleção de um ou mais clusters regionais, todos pertencentes a uma única AWS conta.

  Um cluster regional é um único cluster em uma AWS região que faz parte de um cluster multirregional. Cada cluster regional armazena o mesmo conjunto de dados. Qualquer cluster multirregional pode ter apenas um cluster regional por AWS região. 

  Quando um cluster multirregional é criado, ele consiste em vários clusters regionais (um por região) que o MemoryDB trata como uma única unidade. Quando uma aplicação grava dados em qualquer cluster regional, o MemoryDB replica esses dados de forma automática e assíncrona para todos os outros clusters regionais dentro do cluster multirregional. É possível adicionar clusters regionais ao cluster multirregional para que ele fique disponível em outras regiões. Você poderá replicar automaticamente os dados do cluster MemoryDB entre até cinco regiões. 
+ **Disponibilidade e durabilidade**

  No caso improvável de isolamento regional ou degradação de uma região, você pode atualizar o DNS global para redirecionar o tráfego da aplicação para uma das outras regiões íntegras sem qualquer reconfiguração do banco de dados, simplificando o processo de manutenção da alta disponibilidade das aplicações. O MemoryDB armazena de forma durável todas as gravações de todas as regiões no log transacional Multi-AZ para garantir que não haja perda de dados na região. O MemoryDB multirregional monitora todas as gravações que foram reconhecidas na região, mas que ainda não foram replicadas em todos os clusters membros. Caso uma região esteja isolada ou degradada, ela continuará aceitando gravações locais. Quando a região isolada for conectada novamente ao cluster multirregional, as gravações que foram reconhecidas, mas ainda não replicadas em outras regiões, serão replicadas em todas as regiões do cluster multirregional. O MemoryDB multirregional também reconciliará automaticamente as gravações pendentes com quaisquer atualizações que possam ter ocorrido em outras regiões durante a interrupção usando um mecanismo CRDT. 
+ **Conectar-se a clusters do MemoryDB multirregional**

  Para gravar e ler dados em seu cluster regional, você se conecta a ele usando um dos OSS/Valkey clientes Redis compatíveis (incluindo o Valkey GLIDE). Cada cluster regional tem um endpoint ao qual seu OSS/Valkey cliente Redis pode se conectar. Você pode recuperar seus endpoints de cluster regionais usando o AWS console, a CLI ou a API. Em seguida, você pode usar (ou configurar) esse endpoint em seu aplicativo para read/write dados de clusters regionais. 

## Consistência e resolução de conflitos
<a name="multi-region.conflict"></a>

Qualquer atualização feita em uma chave em um dos clusters regionais é propagada para outros de forma assíncrona no cluster multirregional, normalmente em menos de um segundo. Se uma região se tornar isolada ou degradada, o MemoryDB multirregional acompanhará as gravações executadas que ainda não foram propagadas para todos os clusters membros. Quando a região voltar a ficar online, o MemoryDB multirregional retomará a propagação de todas as gravações pendentes dessa região para os clusters membros nas outras regiões. Ele também retomará a propagação de gravações de outros clusters membros para a região que está online novamente. Todas as gravações anteriores bem-sucedidas serão propagadas em algum momento, não importa por quanto tempo a região permaneça isolada. 

Conflitos poderão ocorrer se a aplicação atualizar a mesma chave em regiões diferentes e quase ao mesmo tempo. O MemoryDB multirregional usa o tipo de dados replicados sem conflitos (CRDT) para reconciliar entre gravações simultâneas conflitantes. CRDT é uma estrutura de dados que pode ser atualizada de forma independente e simultânea sem coordenação. Isso significa que o conflito de gravação e gravação é mesclado de forma independente em cada réplica com consistência eventual. 

Especificamente, o MemoryDB usa 2 níveis de último gravador vence (LWW) para resolver conflitos. Para o tipo de dados string, LWW resolve conflitos em um nível de chave. Para o tipo de dados, LWW resolve conflitos em um nível de subchave. A resolução de conflitos é totalmente gerenciada e ocorre em segundo plano, sem nenhum impacto na disponibilidade da aplicação. Veja a seguir um exemplo do tipo de dados hash:

A região A executa “HSET K F1 V1” no carimbo de data/hora T1; a região B executa “HSET K F2 V2” no carimbo de data/hora T2; após a replicação, as regiões A e B terão a chave K com os dois campos. Quando regiões diferentes atualizam simultaneamente subchaves diferentes na mesma coleção, porque o MemoryDB resolve conflitos no nível da subchave para o tipo de dados hash, as duas atualizações não entram em conflito uma com a outra. Portanto, os dados finais conteriam o efeito de ambas as atualizações.


| Hora | Região A | Região B | 
| --- | --- | --- | 
|  T1  |   HSET K F1 V1  |    | 
|  T2  |    |   HSET K F2 V2  | 
|  T3  |  sincronização  |  sincronização  | 
|  T4  |   K: \$1F1:V1, F2:V2\$1  |  K: \$1F1:V1, F2:V2\$1  | 

### CRDT e exemplos
<a name="clusters.multi-Region.CRDT"></a>

 O MemoryDB multirregional implementa tipos de dados replicados sem conflitos (CRDT) para resolver conflitos de gravação simultâneos emitidos por várias regiões. O CRDT permite que diferentes regiões alcancem consistência eventual de forma independente, desde que tenham recebido o mesmo conjunto de operações, independentemente da ordem.

 Quando uma única chave é atualizada simultaneamente em várias regiões, é necessário resolver o conflito de gravação para alcançar a consistência de dados. O MemoryDB multirregional usa a estratégia último gravador vence (LWW) para determinar a operação vencedora, e somente os efeitos da operação que “acontece depois” serão eventualmente observados. Dizemos que uma operação op1 “aconteceu antes” de uma operação op2 se os efeitos de op1 tiverem sido aplicados na região onde ela foi originalmente executada quando a op2 foi executada.

 Para coleções (Hash, Set e SortedSet), o MemoryDB Multi-Region resolva o conflito no nível do elemento. Isso permite que o MemoryDB Multi-Region use o LWW para resolver write/write conflitos em cada elemento. Por exemplo, adicionar simultaneamente elementos diferentes à mesma coleção de várias regiões fará com que a coleção contenha todos os elementos.

**Execução simultânea: último gravador vence**

No MemoryDB multirregional, quando há uma criação simultânea de uma chave, a última operação executada em qualquer região determinará o resultado da chave. Por exemplo:

![\[Execução simultânea: último gravador vence.\]](http://docs.aws.amazon.com/pt_br/memorydb/latest/devguide/images/concurrent-ex-last-writer-wins.png)


A chave x foi criada na Região B com o valor “b”, mas depois disso a mesma chave foi criada na Região A com o valor “a”. Eventualmente, a chave convergirá para ter o valor “a”, já que a operação na Região A foi a última realizada.

**Execução simultânea com tipos de dados conflitantes: último gravador vence**

No exemplo anterior, a chave foi criada com o mesmo tipo nas duas regiões. Um comportamento semelhante também será observado se a chave for criada com tipos de dados diferentes:

![\[Execução simultânea com tipos de dados conflitantes: último gravador vence.\]](http://docs.aws.amazon.com/pt_br/memorydb/latest/devguide/images/concurrent-ex-conflict-data-types-last-writer-wins.png)


A chave x foi criada como string na região B com o valor “b”. Mas depois disso, e antes que a operação fosse replicada para a Região A, a mesma chave é criada na Região A como um Hash. Eventualmente, a chave vai convergir para o hash criado na Região A, já que a operação na Região A foi a última executada.

**Criação e exclusão simultâneas: último gravador vence**

No cenário em que há uma exclusão e “criação” simultâneas (ou seja, o valor replacement/addition de), a última operação executada vencerá. O resultado final será determinado pela ordem da operação de exclusão. Se a exclusão ocorrer antes:

![\[Criação e exclusão simultâneas: último gravador vence se a exclusão ocorre antes.\]](http://docs.aws.amazon.com/pt_br/memorydb/latest/devguide/images/concurrent-create-delete-last-writer-wins-before.jpg)


A chave x do tipo conjunto foi excluída na Região B. Depois disso, um novo membro foi adicionado a essa chave na Região A. Eventualmente, a chave convergirá para que o conjunto com o único elemento seja adicionado na Região A, já que a operação na Região A foi a última executada.

Se a exclusão ocorrer depois:

![\[Criação e exclusão simultâneas: último gravador vence se a exclusão ocorre depois.\]](http://docs.aws.amazon.com/pt_br/memorydb/latest/devguide/images/concurrent-create-delete-last-writer-wins-after.jpg)


Um novo membro foi adicionado à chave x do tipo Set na Região A. Logo após, a chave foi excluída na Região B. Eventualmente, a chave convergirá para o estado excluído, já que a operação na Região B foi a última executada.

**Contadores, operações simultâneas: replicação total do valor com “último gravador vence”**

Os contadores no MemoryDB Multi-Region se comportam de forma semelhante aos tipos sem contadores, fazendo a replicação e a aplicação de valores completos. last-writer-strategy A operação simultânea não será combinada, mas a última operação vencerá. Por exemplo:

![\[Replicação total do valor se o último gravador vence.\]](http://docs.aws.amazon.com/pt_br/memorydb/latest/devguide/images/concurrent-full-rep-last-writer-wins.jpg)


Nesse cenário, a chave x tem o valor inicial 1. Então, a Região B aumenta o contador x em 2 e, pouco depois, a Região A aumenta o contador em 1. Como a operação na Região A foi a última executada, a chave x vai eventualmente convergir para o valor 2, já que o incremento de 1 foi a última operação realizada.

**Comandos não determinísticos são replicados como determinísticos**

Para garantir a consistência dos valores nas diferentes regiões, no MemoryDB multirregional, os comandos não determinísticos são replicados como determinísticos. Comandos não determinísticos são aqueles que dependem de fatores externos, como o SETNX. O SETNX depende de a chave existir ou não, e a chave pode estar presente em uma região remota, mas não na região local que está recebendo o comando. Por esse motivo, comandos que seriam não determinísticos passam a ser replicados como replicação completa do valor. No caso de uma string, ela será replicada como um comando SET.

![\[Comandos não determinísticos replicados de forma determinística.\]](http://docs.aws.amazon.com/pt_br/memorydb/latest/devguide/images/nondeterministic_commands.png)


Em resumo, todas as operações no tipo string são replicadas como SET ou DEL, todas as operações no tipo hash são replicadas como HSET ou HDEL, todas as operações no tipo conjunto são replicadas como SADD ou SREM e todas as operações em conjuntos classificados são replicadas como ZADD ou ZREM. 

# Usar o MemoryDB multirregional com o console
<a name="multi-Region.console"></a>

Aqui estão algumas maneiras de usar o MemoryDB multirregional com o console.

**Topics**
+ [Criar um cluster no MemoryDB multirregional](#multi-Region.console.create)
+ [Restaurar um snapshot em um cluster novo ou existente em um cluster multirregional](#multi-Region.console.restore)
+ [Modificar clusters no MemoryDB multirregional](#multi-Region.console.modify)
+ [Excluir clusters no MemoryDB multirregional](#multi-Region.console.delete)

## Criar um cluster no MemoryDB multirregional
<a name="multi-Region.console.create"></a>

1. Acesse a seção de criar cluster na lista de clusters ou no painel.   
![\[Criar um cluster, visualização do console.\]](http://docs.aws.amazon.com/pt_br/memorydb/latest/devguide/images/create-multi-region1.png)

1.  No campo **Tipo de cluster**, selecione **Cluster multirregional**. 

1.  No campo **Método de criação de cluster**, selecione **Criação fácil**. 

1.  Preencha o **Nome** e a **Descrição**, verifique os valores padrão e selecione **Criar**. 

**Criar e configurar um cluster**

1. Acesse a seção de criar cluster na lista de clusters ou no painel.   
![\[Criar e configurar um cluster, visualização do console.\]](http://docs.aws.amazon.com/pt_br/memorydb/latest/devguide/images/create-multi-region2-configure.png)

1.  No campo **Tipo de cluster**, selecione **Cluster multirregional**. 

1.  No campo **Método de criação de cluster**, selecione **Criar cluster**. 

1.  Preencha o **Nome** e a **Descrição**, verifique os valores e selecione **Criar**. 

## Restaurar um snapshot em um cluster novo ou existente em um cluster multirregional
<a name="multi-Region.console.restore"></a>

1. Acesse a seção de criar cluster na lista de clusters ou no painel.   
![\[Restaurar um cluster, visualização do console.\]](http://docs.aws.amazon.com/pt_br/memorydb/latest/devguide/images/restore-multi-region-from-snapshot1.png)

1. No campo **Tipo de cluster**, selecione **Cluster multirregional**.

1.  No campo **Método de criação de cluster**, selecione **Restaurar do snapshot**. 

1.  Selecione o snapshot de origem e preencha os campos obrigatórios. Revise sua seleção e selecione **Restaurar**.   
![\[Visualização do console da seleção do snapshot de origem a ser restaurado no cluster multirregional.\]](http://docs.aws.amazon.com/pt_br/memorydb/latest/devguide/images/restore-multi-region-from-snapshot2-confirm.png)

1. Para ver seus clusters multirregionais, acesse a seção de clusters:  
![\[Visualização do console da seção de clusters para modificar clusters multirregionais.\]](http://docs.aws.amazon.com/pt_br/memorydb/latest/devguide/images/restore-multi-region-from-snapshot3-confirm.png)

1. Agora, selecione o nome do cluster multirregional de destino.  
![\[Visualização do console da seleção do cluster multirregional a ser modificado.\]](http://docs.aws.amazon.com/pt_br/memorydb/latest/devguide/images/restore-multi-region-from-snapshot4-confirm.png)

1. Agora, selecione o nome do cluster regional de destino.  
![\[Visualização do console da seleção do cluster regional a ser modificado.\]](http://docs.aws.amazon.com/pt_br/memorydb/latest/devguide/images/restore-multi-region-from-snapshot5-confirm.png)

## Modificar clusters no MemoryDB multirregional
<a name="multi-Region.console.modify"></a>

1. Acesse a seção de cluster. Você deve ver todos os clusters atuais.  
![\[Esta é a minha imagem.\]](http://docs.aws.amazon.com/pt_br/memorydb/latest/devguide/images/modify-multi-region1.png)

   Então, dependendo do tipo de cluster que você deseja modificar, selecione uma das etapas a seguir.

1. Para modificar um único cluster com um cluster multirregional, primeiro selecione a multirregião à qual ele pertence. Depois, selecione o botão de edição nas ações (canto superior direito). Então, selecione o cluster único de destino. Você também pode modificar esse cluster na página **Detalhes**. 

**Modificar um cluster regional**

1. Para modificar um cluster multirregional, selecione o nome do cluster multirregional de destino.   
![\[Visualização do console da seleção de um cluster multirregional de destino a ser modificado.\]](http://docs.aws.amazon.com/pt_br/memorydb/latest/devguide/images/modify-multi-region2.png)

   Depois, escolha o cluster e selecione o botão **Editar** nas ações (canto superior direito) ou na página de detalhes. 

1. **Para adicionar um cluster regional, selecione o cluster de várias regiões de destino selecionado, vá até o menu suspenso **Ações** e selecione Adicionar região. AWS ** Você também pode acessar a página de detalhes AWS das Regiões, selecionar o cluster de várias regiões de destino e adicionar a partir daí.  
![\[Visualização do console da seleção de um cluster multirregional de destino ao qual adicionar um cluster regional.\]](http://docs.aws.amazon.com/pt_br/memorydb/latest/devguide/images/modify-multi-region3-add-regional-cluster.png)

1. Para adicionar uma região, selecione a região de destino. Em seguida, preencha as informações necessárias e selecione **Adicionar AWS região**.  
![\[Visualização do console da seleção de um cluster multirregional de destino ao qual adicionar uma região.\]](http://docs.aws.amazon.com/pt_br/memorydb/latest/devguide/images/modify-multi-region4-add-region.png)

1. Para adicionar um novo cluster regional a um cluster multirregional vazio, você verá as mesmas opções de criar um cluster multirregional. A única diferença é que as informações do cluster multirregional já estão presentes.  
![\[Visualização do console da seleção de um cluster multirregional vazio ao qual adicionar um novo cluster regional.\]](http://docs.aws.amazon.com/pt_br/memorydb/latest/devguide/images/modify-multi-region5-add-regional-cluster-to-empty.png)

## Excluir clusters no MemoryDB multirregional
<a name="multi-Region.console.delete"></a>

1. Para excluir um único cluster em uma região, selecione o cluster regional de destino. Depois, acesse o menu suspenso de ações, escolha o cluster individual e selecione **Excluir**.   
![\[Visualização do console da seleção de um único cluster a ser excluído.\]](http://docs.aws.amazon.com/pt_br/memorydb/latest/devguide/images/delete-multi-region1-select.png)

   Você verá uma janela de confirmação, incluindo a opção de criar um snapshot antes de excluí-lo. Se você ainda quiser excluir, digite “excluir” no campo de texto e selecione **Excluir**.  
![\[Visualização do console de uma janela de confirmação da exclusão.\]](http://docs.aws.amazon.com/pt_br/memorydb/latest/devguide/images/delete-multi-region2-snapshot.png)

1. Para excluir todos os clusters regionais associados a um cluster multirregional, selecione o cluster multirregional de destino com um ou mais clusters nele. Depois, com o cluster multirregional de destino selecionado, acesse o menu suspenso de ação e selecione **Excluir**.  
![\[Visualização do console da seleção para excluir todos os clusters associados a um cluster multirregional.\]](http://docs.aws.amazon.com/pt_br/memorydb/latest/devguide/images/delete-multi-region3-associated-clusters.png)

1. Para excluir um cluster multirregional inteiro, selecione o cluster multirregional vazio de destino. Depois, acesse a lista suspensa do menu de ação e selecione **Excluir**.  
![\[Visualização do console da exclusão de um cluster multirregional inteiro.\]](http://docs.aws.amazon.com/pt_br/memorydb/latest/devguide/images/delete-multi-region4-entire-mrc.png)

# Usar o MemoryDB multirregional com a CLI
<a name="multi-Region.cli"></a>

Veja a seguir algumas maneiras de usar o MemoryDB multirregional com a CLI.

**nota**  
O MemoryDB multirregional suporta somente o tipo de nó db.r7g.xlarge e superior.

## Criação de clusters com DBMulti região de memória
<a name="multi-Region.cli.create"></a>

**Criar um cluster multirregional**

```
aws memorydb create-multi-region-cluster \
	--multi-region-cluster-name-suffix my-multi-region-cluster \
	--node-type db.r7g.xlarge \
	--engine valkey \
	--region us-east-1
```

**Criar um cluster regional na região Leste dos EUA (Norte da Virgínia)**

```
aws memorydb create-cluster \
	--cluster-name my-cluster \
	--multi-region-cluster-name my-multi-region-cluster \
	--node-type db.r7g.xlarge \
	--acl-name open-access \
	--region us-east-1 \
```

**Criar um cluster de região na região Europa (Irlanda)**

```
aws memorydb create-cluster \
	--cluster-name my-cluster \
	--multi-region-cluster-name my-multi-region-cluster \
	--node-type db.r7g.xlarge \
	--acl-name open-access \
	--region eu-west-1 \
```

**Descreva o cluster multirregional de qualquer região**

```
aws memorydb describe-multi-region-cluster \
	--multi-region-cluster-name my-multi-region-cluster \
	--region eu-west-1
```

## Atualizar um cluster multirregional
<a name="multi-Region.cli.update"></a>

**Modificar o tipo de nó**

```
aws memorydb update-multi-region-cluster \
	--multi-region-cluster-name my-multi-region-cluster \
	--node-type db.r7g.4xlarge \
	--region us-east-1
```

**Modificar a contagem de fragmentos**

```
aws memorydb update-multi-region-cluster \
	--multi-region-cluster-name my-multi-region-cluster \
	--shard-configuration \
	ShardCount=3 \
	--update-strategy COORDINATED \
	--region us-east-1
```

## Escalabilidade de clusters do MemoryDB
<a name="multi-Region.cli.scaling"></a>

Primeiro, liste os nós cuja escala pode ser aumentada ou reduzida verticalmente com o comando `list-allowed-node-type-updates`:

```
aws memorydb list-allowed-node-type-updates \
	--cluster-name my-cluster-name
```

Isso fornecerá uma lista de nós cuja escala pode ser aumentada ou reduzida verticalmente. Para então atualizá-los, você pode usar o comando `update-cluster`:

```
aws memorydb update-cluster  \
	--cluster-name my-cluster \
	--node-type db.r6g.2xlarge
```

Consulte mais informações sobre como escalar com várias regiões em [Escalar com o MemoryDB multirregional](multi-Region.Scaling.md).

## Excluir clusters no MemoryDB multirregional
<a name="multi-Region.cli.update"></a>

**Excluir um cluster regional**

```
aws memorydb delete-cluster \	
	--cluster-name my-cluster \
	--multi-region-cluster-name my-multi-region-cluster \
	--region us-east-1
```

**Excluir um cluster multirregional**

```
aws memorydb delete-multi-region-cluster \
	--multi-region-cluster-name my-multi-region-cluster \
	--region us-east-1
```

# Monitoramento do MemoryDB multirregional
<a name="multi-Region.monitoring"></a>

Você pode usar CloudWatch a Amazon para monitorar o comportamento e o desempenho de um cluster multirregional. O MemoryDB publica a métrica `MultiRegionClusterReplicationLag` para cada cluster regional dentro do cluster multirregional.

`MultiRegionClusterReplicationLag` mostra o tempo decorrido entre o momento em que uma atualização é gravada no log de transações Multi-AZ do cluster regional remoto de várias regiões, e o momento em que essa atualização é gravada no nó primário do cluster regional local de várias regiões. Essa métrica é expressa em milissegundos e é emitida para cada par de região de origem e de destino no nível do fragmento.

Durante o funcionamento normal, `MultiRegionClusterReplicationLag` deve ser constante. Um valor elevado para `MultiRegionClusterReplicationLag` pode indicar que as atualizações de um cluster regional não se propagaram para outros clusters regionais em tempo hábil. Com o tempo, isso pode fazer com que outros clusters regionais *fiquem para trás* já que eles não recebem atualizações de forma consistente. 

`MultiRegionClusterReplicationLag`pode aumentar se uma AWS região ficar isolada ou degradada e você tiver um cluster regional nessa região. Nesse caso, você pode redirecionar temporariamente a atividade de leitura e gravação do seu aplicativo para uma AWS região saudável diferente. 

# Escalar com o MemoryDB multirregional
<a name="multi-Region.Scaling"></a>

À medida que a demanda dos clusters muda, você pode decidir melhorar o desempenho ou reduzir os custos alterando o tipo de nó ou o número de fragmentos no cluster do MemoryDB. Escalar um cluster do MemoryDB multirregional dimensiona todos os clusters regionais nele. O cluster do MemoryDB multirregional é compatível com a refragmentação on-line. O cluster do MemoryDB multirregional não é compatível com a refragmentação offline. 

As condições sob as quais você pode decidir redimensionar seu cluster incluem o seguinte:
+ **Pressão de memória**

  Se os nós nos clusters regionais estão sob uso intenso da memória, você pode optar por aumentar a escala vertical e horizontalmente e ter mais recursos para melhor armazenar dados e atender a solicitações. 

  Você pode determinar se seus nós estão sob pressão de memória monitorando as seguintes métricas: FreeableMemory SwapUsage,, BytesUsedForMemory DB e MultiRegionClusterReplicationLag 
+ **Gargalo na CPU ou na rede**

  Se os latency/throughput problemas estiverem afetando seu cluster, talvez seja necessário expandir ou aumentar a escala para resolver os problemas.

  É possível monitorar os níveis de latência e throughput monitorando as seguintes métricas: `CPUUtilization`, `NetworkBytesIn`, ` NetworkBytesOut`, `CurrConnections`, ` NewConnections` e ` and MultiRegionClusterReplicationLag`. 
+ **Seu cluster está superdimensionado**

  A demanda atual no cluster permite que haja uma redução na escala horizontal e verticalmente sem afetar o desempenho e proporcionando corte de custos.

Você pode monitorar o uso do seu cluster para determinar se você pode aumentar ou diminuir a escala com segurança usando as seguintes métricas: FreeableMemory SwapUsage,, BytesUsedForMemory DB CPUUtilization, NetworkBytesIn, NetworkBytesOut, CurrConnections, NewConnections e MultiRegionClusterReplicationLag 

Existem duas maneiras de escalar o cluster do MemoryDB multirregional: escalabilidade vertical e horizontal.
+ A escalabilidade horizontal permite alterar o número de fragmentos no cluster do MemoryDB multirregional adicionando ou removendo fragmentos. O processo de refragmentação on-line permite o escalonamento in/out enquanto os clusters regionais continuam atendendo às solicitações recebidas. 
+ Vertical altera o tipo de nó para redimensionar o cluster do MemoryDB multirregional. O escalonamento vertical on-line permite o escalonamento up/down enquanto os clusters regionais continuam atendendo às solicitações recebidas. 

A escalabilidade usa a estratégia de atualização “coordenada” por padrão. Isso significa que todos os clusters regionais são escalados com sucesso ou nenhum deles é escalado. 

A operação de aumentar a escala horizontalmente também é compatível com a estratégia de atualização “não coordenada”. Isso significa que é possível aumentar a escala horizontalmente de alguns clusters regionais com sucesso, mas de outros não. Se a operação de aumentar a escala horizontalmente de um cluster regional for bem-sucedida, todos os outros clusters regionais continuarão a tentar fazer esse aumento até ter sucesso.

Um cluster multirregional falhará ao aumentar a escala horizontalmente de forma “não coordenada” se todos os clusters regionais também falharem. 

**nota**  
Aumentar a escala horizontalmente de forma “não coordenada” pode criar capacidades desequilibradas prolongadas entre os clusters regionais durante esse aumento em momentos diferentes. Isso pode causar aumento nos clusters MultiRegionClusterReplicationLag métricos e regionais. Os dados podem divergir por muito tempo. 

Os clusters regionais do cluster do MemoryDB multirregional podem ter configurações diferentes para o número de nós de réplica, mas todos os fragmentos em um cluster regional têm o mesmo número de nós de réplica. 

Se você estiver reduzindo o tamanho e a capacidade de memória do cluster multirregional MemoryDB, aumentando ou diminuindo a escala, certifique-se de que a nova configuração tenha memória suficiente e livre IPs para seus dados, sobrecarga de mecanismo suficiente e que as MultiRegionClusterReplicationLag métricas para clusters regionais estejam dentro de um intervalo de segundos ou um minuto. 

Você pode escalar horizontal e verticalmente seu cluster multirregional do MemoryDB usando a API Console de gerenciamento da AWS, the AWS CLI e MemoryDB. 

# Comandos compatíveis e incompatíveis
<a name="multi-Region.SupportedCommands"></a>

**Comandos suportados**

**nota**  
Atualmente, o comando SET não é compatível com as opções EX, PX, EXAT, PXAT e KEEPTTL.
O comando RESTORE não é compatível com a configuração de TTL como um valor diferente de zero. As opções ABSTTL, IDLETIME e FREQ também não são compatíveis.


| Tipo de dados | Comandos da do  | 
| --- | --- | 
|  String  |  SET\$1, DECR, DECRBY, GET, GETRANGE, SUBSTR, GETDEL, GETSET, INCR, INCRBY, INCRBYFLOAT, MGET, MSET, MSETNX, SETNX, STRLEN, LCS  | 
|  Hash  |  HINCRBY, HINCRBYFLOAT, HDEL, HSET, HMSET, HGET, HEXISTS, HLEN, HKEYS, HVALS, HGETALL, HMGET, HSTRLEN, HSETNX, HRANDFIELD, HSCAN  | 
|  Defina  |  SADD, SREM, SISMEMBER, SMISMEMBER, SCARD, SMEMBERS, SRANDMEMBER, SSCAN, SUNION, SINTERCARD, SINTER, SDIFF, SPOP  | 
|  Conjunto classificado  |  ZADD, ZINCRBY, ZSCORE, ZMSCORE, ZCARD, ZRANK, ZREVRANK, ZRANGE, ZRANGEBYSCORE, ZRANGEBYLEX, ZREVRANGE, ZREVRANGEBYLEX, ZREVRANGEBYSCORE, ZREMRANGEBYLEX, ZREMRANGEBYSCORE, ZREMRANGEBYRANK, ZUNION, ZINTER, ZINTERCARD, ZDIFF, ZLEXCOUNT, ZCOUNT, ZREM, ZMPOP, ZPOPMIN, ZPOPMAX, ZSCAN, ZRANDMEMBER  | 
|  Genérico  |  SCAN, DEL, UNLINK, DUMP, RESTORE\$1\$1, EXISTS, KEYS, RANDOMKEY, TYPE  | 

**Comandos não suportados**

As categorias gerais de comandos incompatíveis são os tipos de dados incompatíveis (Bitmaps, Hyperloglog, List, Geospatial e Stream), comandos relacionados a TTL, comandos de bloqueio e comandos relacionados a funções. A lista completa é esta: 


| Tipo de dados | Comandos da do  | 
| --- | --- | 
| String | APPEND, GETEX, SETEX, SETRANGE | 
| Bitmap | BITCOUNT, BITFIELD, BITFIELD\$1RO, BITOP, BITPOS, GETBIT, SETBIT | 
| Hyperloglog | PFADD, PFCOUNT, PFDEBUG, PFMERGE, PFSELFTEST | 
| Lista | BLMOVE, BLMPOP, BLPOP, BRPOP, BRPOPLPUSH, LINDEX, LINSERT, LLEN, LMOVE, LMPOP, LPOP, LPOS, PUSH, LPUSHX, LRANGE, LREM, LSET, LTRIM, RPOP, RPOPLPUSH, RPUSH, RPUSHX | 
| Defina | SMOVE, SUNIONSTORE, SDIFFSTORE, SINTERSTORE | 
| Conjunto classificado | BZMPOP, BZPOPMAX, BZPOPMIN, ZDIFFSTORE, ZINTERSTORE, ZRANGESTORE, ZUNIONSTORE | 
| Geoespacial | GEOADD, GEODIST, GEOHASH, GEOPOS, GEORADIUS, GEORADIUS\$1RO, GEORADIUSBYMEMBER, GEORADIUSBYMEMBER\$1RO, GEOSEARCH, GEOSEARCHSTORE | 
| Fluxo | XACK, XADD, XAUTOCLAIM, XCLAIM, XDEL, XLEN, XPENDING, XRANGE, XREAD, XREADGROUP, XREVRANGE, XSETID, XTRIM, XGROUP, XINFO | 
| Genérico | COPY, FLUSHDB, FLUSHALL, MOVE, RENAME, RENAMENX, SORT, SORT\$1RO, SWAPDB, OBJECT, FUNCTION, FCALL, FCALL\$1RO, EXPIRE, EXPIREAT, EXPIRETIME, PERSIST, PEXPIRE, PEXPIREAT, PEXPIRETIME, PSETEX, PTTL, TTL | 