Melhores práticas para tabelas globais
As seções a seguir descrevem as melhores práticas para implantar e usar tabelas globais.
Versão
Há duas versões disponíveis das tabelas globais do DynamoDB: versão 2019.11.21 (atual) e versão 2017.11.29 (legada). Você deve usar a versão 2019.11.21 (atual) sempre que possível.
Proteção contra exclusão
Você deve ativar a proteção contra exclusão nas réplicas de tabelas globais que deseja proteger contra exclusão acidental. Você deve ativar a proteção contra exclusão em cada réplica.
Usar o AWS CloudFormation
O AWS CloudFormation atualmente não oferece suporte à coordenação de recursos multirregionais, como tabelas globais entre pilhas. Se você definir cada réplica de uma tabela global em uma pilha regional separada, encontrará erros devido ao desvio detectado entre as pilhas ao realizar atualizações de réplicas. Para evitar esse problema, você deve escolher uma região como a região de referência para implantar suas tabelas globais e definir todas as réplicas da tabela global na pilha dessa região.
Importante
Você não pode alterar o tipo de um recurso no seu modelo para converter um recurso AWS::DynamoDB::Table
em um recurso AWS::DynamoDB::GlobalTable
. Tentar converter uma tabela de região única em uma tabela global alterando o tipo de recurso do CloudFormation pode resultar na exclusão da tabela do DynamoDB.
Em vez disso, você pode utilizar o recurso AWS::DynamoDB::GlobalTable
para criar uma tabela em uma única região. Essa tabela será implantada como qualquer outra tabela de região única. Se você atualizar a pilha posteriormente para adicionar outras regiões a um recurso, as réplicas serão adicionadas à tabela e ela será convertida com segurança em uma tabela global.
Se você tiver um recurso AWS::DynamoDB::Table
existente que deseja converter em um recurso AWS::DynamoDB::GlobalTable
, as etapas recomendadas para converter o tipo de recurso são:
-
Defina a política de exclusão
AWS::DynamoDB::Table
a ser mantida. -
Remova a tabela da definição de pilha.
-
Adicione réplicas à tabela de região única no console da AWS, convertendo-a em uma tabela global.
-
Importe a tabela global como um novo recurso
AWS::DynamoDB::GlobalTable
para a pilha.
Backups e recuperação pontual
Habilitar backups automatizados e recuperação para um ponto no tempo (PITR) para uma réplica em uma tabela global pode ser suficiente para atingir seus objetivos de recuperação de desastres. Os backups de réplicas criados com backup para AWS podem ser replicados automaticamente em todas as regiões para maior resiliência. Considere as metas do seu plano de recuperação de desastres no contexto da alta disponibilidade multirregional ao escolher sua estratégia de backup e habilitação de PITR.
Projetando para alta disponibilidade multirregional
Para obter orientação prescritiva sobre a implantação de tabelas globais, consulte Melhores práticas para o design de tabelas globais do DynamoDB.