Recuperação de desastres e clusters globais do Amazon DocumentDB - Amazon DocumentDB

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

Recuperação de desastres e clusters globais do Amazon DocumentDB

Ao usar um cluster global, você pode se recuperar rapidamente de desastres, como falhas na região. A recuperação de desastres geralmente é medida usando valores para RTO RPO e.

  • Objetivo de tempo de recuperação (RTO) — O tempo que um sistema leva para retornar ao estado de funcionamento após um desastre. Em outras palavras, RTO mede o tempo de inatividade. Para um cluster global, RTO pode ser da ordem de minutos.

  • Objetivo do ponto de recuperação (RPO) — A quantidade de dados que pode ser perdida (medida em tempo). Para um cluster global, normalmente RPO é medido em segundos.

  • Para recuperar de uma paralisação não planejada, você pode executar um failover entre regiões para um dos secundários em seu cluster global. Quando o cluster global tem várias regiões secundárias, lembre-se de desanexar todas as regiões secundárias se a Região da AWS primária sofrer uma interrupção. Em seguida, promova uma dessas regiões secundárias para ser a nova Região da AWS primária. Por fim, crie novos clusters em cada uma das outras regiões secundárias e anexe esses clusters ao seu cluster global.

  • Ao promover um cluster secundário para ser o cluster primário, também é necessário atualizar os endpoints que os aplicativos usam para se conectar ao cluster global. Para obter um novo endpoint de gravador de um cluster recém-promovido, é possível converter um endpoint de leitor antigo removendo -ro da string de endpoint. Por exemplo, se um endpoint de leitor anterior for global-16rr-test-cluster-1.cluster-ro-12345678901.us-west-2.docdb.amazonaws.com, o novo endpoint de gravador promovido será global-16rr-test-cluster-1.cluster-cps2igpwyrwa.us-west-2.rds.amazonaws.com.

Failover para clusters globais do Amazon DocumentDB

Se um cluster inteiro em um Região da AWS ficar indisponível, você poderá promover outro cluster no cluster global para ter capacidade de leitura/gravação.

Ative manualmente o mecanismo de failover caso um cluster em uma Região da AWS diferente seja uma opção melhor para ser o cluster primário. Por exemplo, você pode aumentar a capacidade de um dos clusters secundários e promovê-lo para ser o cluster primário. Ou o equilíbrio da atividade entre eles Regiões da AWS pode mudar, de modo que mudar o cluster primário para um diferente Região da AWS pode resultar em menor latência para as operações de gravação.

O procedimento a seguir descreve o que fazer para promover um dos clusters secundários em um cluster global do DocumentDB.

Como promover um cluster secundário:

  1. Pare de emitir DML instruções e outras operações de gravação no cluster primário durante Região da AWS a interrupção.

  2. Identifique um cluster de um secundário Região da AWS para usar como um novo cluster primário. Se você tiver dois (ou mais) secundários Regiões da AWS em seu cluster global, escolha o cluster secundário que tenha o menor tempo de espera.

  3. Desanexe o cluster secundário escolhido do banco de dados global.

    A remoção de um cluster secundário de um cluster global interrompe imediatamente a replicação do primário para esse secundário e o promove a cluster provisionado autônomo com recursos completos de leitura/gravação. Qualquer outro cluster secundário associado ao cluster primário na região com a interrupção ainda estará disponível e poderá aceitar chamadas do seu aplicativo. Eles também consomem recursos. Como você está recriando o cluster global para evitar problemas de cérebro dividido, entre outros, remova os outros clusters secundários antes de criar o cluster global nas etapas a seguir.

    Para obter as etapas detalhadas para desanexar, consulte Remover um cluster de um cluster global do Amazon DocumentDB.

  4. Reconfigure seu aplicativo para enviar todas as operações de gravação para esse cluster autônomo agora usando seu novo endpoint. Se você aceitou os nomes fornecidos ao criar o cluster global, você poderá alterar o endpoint removendo “-ro” da string do endpoint do cluster em seu aplicativo.

    Por exemplo, o endpoint do cluster secundário my-global.cluster-ro-aaaaaabbbbbb.us-west-1.docdb.amazonaws.com se torna my-global.cluster-aaaaaabbbbbb.us-west-1.docdb.amazonaws.com quando esse cluster é separado do cluster global.

    Esse cluster se torna o cluster principal de um novo cluster global quando você começa a adicionar Regiões a ele, na próxima etapa.

  5. Adicione um Região da AWS ao cluster. Quando você faz isso, o processo de replicação de primário para secundário começa.

  6. Adicione mais Regiões da AWS conforme necessário para recriar a topologia necessária para dar suporte ao seu aplicativo. Certifique-se de que as gravações de aplicativos sejam enviadas para o cluster correto antes, durante e depois de fazer alterações como essas, para evitar inconsistências de dados entre os clusters do cluster global (problemas de cérebro dividido).

  7. Quando a interrupção for resolvida e você estiver pronto para reatribuir a Região da AWS original como o cluster primário, siga as mesmas etapas em sentido inverso:

  8. Remova um dos clusters secundários do cluster global. Isso permitirá que ele forneça tráfego de leitura/gravação.

  9. Redirecione todo o tráfego de leitura para o cluster primário na Região da AWS original.

  10. Adicione um Região da AWS para configurar um ou mais clusters secundários da Região da AWS mesma forma que antes.

Os clusters globais do Amazon DocumentDB podem ser gerenciados usando AWS SDKs, permitindo que você crie soluções para automatizar o processo global de failover de clusters para casos de uso de recuperação de desastres e planejamento de continuidade de negócios. Uma dessas soluções é disponibilizada para nossos clientes sob o licenciamento do Apache 2.0 e pode ser acessada em nosso repositório de ferramentas aqui. Essa solução aproveita o Amazon Route53 para gerenciamento de endpoints e fornece funções AWS Lambda que podem ser acionadas com base em eventos apropriados.