Configurar clusters multirregionais - Amazon Aurora DSQL

Configurar clusters multirregionais

Este capítulo explica como configurar e gerenciar clusters em várias Regiões da AWS.

Conectar-se ao seu cluster multirregional

Os clusters emparelhados multirregionais fornecem dois endpoints regionais, um em cada Região da AWS do cluster emparelhado. Ambos os endpoints apresentam um único banco de dados lógico que comporta operações simultâneas de leitura e gravação com alta consistência de dados. Além dos clusters emparelhados, um cluster multirregional também tem uma Região testemunha que armazena uma janela limitada de registros de transações criptografados, que é usada para melhorar a durabilidade e a disponibilidade multirregional. As regiões testemunha multirregionais não têm endpoints.

Criar clusters multirregionais

Para criar clusters multirregionais, primeiro crie um cluster com uma região testemunha. Em seguida, você emparelha esse cluster com um segundo cluster que compartilha a mesma Região testemunha do seu primeiro cluster. O exemplo a seguir mostra como criar clusters no Leste dos EUA (Norte da Virgínia) e Leste dos EUA (Ohio) com o Oeste dos EUA (Oregon) como a região testemunha.

Etapa 1: criar o primeiro cluster no Leste dos EUA (Norte da Virgínia)

Para criar um cluster na Região da AWS Leste dos EUA (Norte da Virgínia) com propriedades multirregionais, use o comando abaixo.

aws dsql create-cluster \ --region us-east-1 \ --multi-region-properties '{"witnessRegion":"us-west-2"}'
exemplo Resposta:
{
    "identifier": "abc0def1baz2quux3quuux4",
    "arn": "arn:aws:dsql:us-east-1:111122223333:cluster/abc0def1baz2quux3quuux4",
    "status": "UPDATING",
    "encryptionDetails": {
        "encryptionType": "AWS_OWNED_KMS_KEY",
        "encryptionStatus": "ENABLED"
   }
   "creationTime": "2024-05-24T09:15:32.708000-07:00"
}
nota

Quando a operação de API é bem-sucedida, o cluster entra no estado PENDING_SETUP. A criação do cluster permanece PENDING_SETUP até que você atualize o cluster com o ARN de seu cluster emparelhado.

Etapa 2: criar o segundo cluster no Leste dos EUA (Ohio)

Para criar um cluster na Região da AWS Leste dos EUA (Ohio) com propriedades multirregionais, use o comando abaixo.

aws dsql create-cluster \ --region us-east-2 \ --multi-region-properties '{"witnessRegion":"us-west-2"}'
exemplo Resposta:
{
    "identifier": "foo0bar1baz2quux3quuxquux5",
    "arn": "arn:aws:dsql:us-east-2:111122223333:cluster/foo0bar1baz2quux3quuxquux5",
    "status": "PENDING_SETUP",
    "creationTime": "2025-05-06T06:51:16.145000-07:00",
    "deletionProtectionEnabled": true,
    "multiRegionProperties": {
        "witnessRegion": "us-west-2",
        "clusters": [
            "arn:aws:dsql:us-east-2:111122223333:cluster/foo0bar1baz2quux3quuxquux5"
        ]
    }
}      

Quando a operação de API é bem-sucedida, o cluster passa para o estado PENDING_SETUP. A criação do cluster permanece PENDING_SETUP até que você o atualize com o ARN de outro cluster para emparelhamento.

Etapa 3: emparelhar o cluster no Leste dos EUA (Norte da Virgínia) com o do Leste dos EUA (Ohio)

Para emparelhar o cluster do Leste dos EUA (Norte da Virgínia) com o cluster do Leste dos EUA (Ohio), use o comando update-cluster. Especifique o nome do cluster do Leste dos EUA (Norte da Virgínia) e uma string JSON com o ARN do cluster do Leste dos EUA (Ohio).

aws dsql update-cluster \ --region us-east-1 \ --identifier 'foo0bar1baz2quux3quuxquux4' \ --multi-region-properties '{"witnessRegion": "us-west-2","clusters": ["arn:aws:dsql:us-east-2:111122223333:cluster/foo0bar1baz2quux3quuxquux5"]}'
exemplo Resposta
{
    "identifier": "foo0bar1baz2quux3quuxquux4",
    "arn": "arn:aws:dsql:us-east-1:111122223333:cluster/foo0bar1baz2quux3quuxquux4",
    "status": "UPDATING",
    "creationTime": "2025-05-06T06:46:10.745000-07:00"
}

Etapa 4: emparelhar cluster no Leste dos EUA (Ohio) com o do Leste dos EUA (Norte da Virgínia)

Para emparelhar o cluster do Leste dos EUA (Ohio) com o cluster do Leste dos EUA (Norte da Virgínia), use o comando update-cluster. Especifique o nome do cluster do Leste dos EUA (Ohio) e uma string JSON com o ARN do cluster do Leste dos EUA (Norte da Virgínia).

aws dsql update-cluster \ --region us-east-2 \ --identifier 'foo0bar1baz2quux3quuxquux5' \ --multi-region-properties '{"witnessRegion": "us-west-2", "clusters": ["arn:aws:dsql:us-east-1:111122223333:cluster/foo0bar1baz2quux3quuxquux4"]}'
exemplo Resposta
{
    "identifier": "foo0bar1baz2quux3quuxquux5",
    "arn": "arn:aws:dsql:us-east-2:111122223333:cluster/foo0bar1baz2quux3quuxquux5",
    "status": "UPDATING",
    "creationTime": "2025-05-06T06:51:16.145000-07:00"
}
nota

Após o emparelhamento bem-sucedido, os dois clusters passam do status “PENDING_SETUP” para “CREATING” e, finalmente, para o status “ACTIVE” quando estiverem prontos para uso.

Visualizar propriedades de clusters multirregionais

Ao descrever um cluster, você pode visualizar as propriedades multirregionais de clusters em diferentes Regiões da AWS.

aws dsql get-cluster \ --region us-east-1 \ --identifier 'foo0bar1baz2quux3quuxquux4'
exemplo Resposta
{
    "identifier": "foo0bar1baz2quux3quuxquux4",
    "arn": "arn:aws:dsql:us-east-1:111122223333:cluster/foo0bar1baz2quux3quuxquux4",
    "status": "PENDING_SETUP", 
    "encryptionDetails": {
    "encryptionType": "AWS_OWNED_KMS_KEY",
    "encryptionStatus": "ENABLED"
},
    "creationTime": "2024-11-27T00:32:14.434000-08:00",
    "deletionProtectionEnabled": false,
    "multiRegionProperties": {
       "witnessRegion": "us-west-2",
       "clusters": [
          "arn:aws:dsql:us-east-1:111122223333:cluster/foo0bar1baz2quux3quuxquux4",
          "arn:aws:dsql:us-east-2:111122223333:cluster/foo0bar1baz2quux3quuxquux5"
       ]
    }
}

Clusters pares durante a criação

Você pode reduzir o número de etapas incluindo informações de emparelhamento durante a criação do cluster. Depois de criar o primeiro cluster no Leste dos EUA (Norte da Virgínia) (Etapa 1), você pode criar o segundo no Leste dos EUA (Ohio) e, ao mesmo tempo, iniciar o processo de emparelhamento incluindo o ARN do primeiro.

aws dsql create-cluster \ --region us-east-2 \ --multi-region-properties '{"witnessRegion":"us-west-2","clusters": ["arn:aws:dsql:us-east-1:111122223333:cluster/foo0bar1baz2quux3quuxquux4"]}'

Isso associa as Etapas 2 e 4, mas você ainda precisa concluir a Etapa 3 (atualizar o primeiro cluster com o ARN do segundo) para estabelecer a relação de emparelhamento. Depois que todas as etapas forem concluídas, os dois clusters passarão pelos mesmos estados do processo padrão (de PENDING_SETUP para CREATING e, finalmente, para ACTIVE) quando estiverem prontos para uso.

Excluir clusters multirregionais

Para excluir um cluster multirregional, você precisa concluir duas etapas.

  1. Desative a proteção contra exclusão para cada cluster.

  2. Exclua cada cluster emparelhado separadamente nas respectivas Região da AWS.

Atualizar e excluir clusters no Leste dos EUA (Norte da Virgínia)

  1. Desative a proteção contra exclusão usando o comando update-cluster.

    aws dsql update-cluster \ --region us-east-1 \ --identifier 'foo0bar1baz2quux3quuxquux4' \ --no-deletion-protection-enabled
  2. Exclua o cluster usando o comando delete-cluster.

    aws dsql delete-cluster \ --region us-east-1 \ --identifier 'foo0bar1baz2quux3quuxquux4'

    O comando retorna a seguinte resposta.

    {
        "identifier": "foo0bar1baz2quux3quuxquux4",
        "arn": "arn:aws:dsql:us-east-1:111122223333:cluster/foo0bar1baz2quux3quuxquux4",
        "status": "PENDING_DELETE", 
        "creationTime": "2025-05-06T06:46:10.745000-07:00"
    }
    nota

    O cluster faz a transição para o status PENDING_DELETE. A exclusão não será concluída enquanto você não excluir o cluster emparelhado no Leste dos EUA (Ohio).

Atualizar e excluir clusters no Leste dos EUA (Ohio)

  1. Desative a proteção contra exclusão usando o comando update-cluster.

    aws dsql update-cluster \ --region us-east-2 \ --identifier 'foo0bar1baz2quux3quux4quuux' \ --no-deletion-protection-enabled
  2. Exclua o cluster usando o comando delete-cluster.

    aws dsql delete-cluster \ --region us-east-2 \ --identifier 'foo0bar1baz2quux3quuxquux5'

    O comando retorna a seguinte resposta:

    {
        "identifier": "foo0bar1baz2quux3quuxquux5",
        "arn": "arn:aws:dsql:us-east-2:111122223333:cluster/foo0bar1baz2quux3quuxquux5",
        "status": "PENDING_DELETE",
        "creationTime": "2025-05-06T06:46:10.745000-07:00"
    }
    nota

    O cluster faz a transição para o status PENDING_DELETE. Após alguns segundos, o sistema faz automaticamente a transição de ambos os clusters emparelhados para o status DELETING depois da validação.