Migrar dados para o Amazon Aurora com compatibilidade com o PostgreSQL - Amazon Aurora

Migrar dados para o Amazon Aurora com compatibilidade com o PostgreSQL

Você tem várias opções para migrar dados do seu banco de dados existente para um cluster de bancos de dados Amazon Aurora Edição compatível com PostgreSQL. Suas opções de migração também dependem do banco de dados do qual você está migrando e do tamanho dos dados que você está migrando. Veja a seguir suas opções:

Migrar uma instância de banco de dados do RDS for PostgreSQL usando um snapshot

É possível migrar dados diretamente de um snapshot de banco de dados do RDS for PostgreSQL para um cluster de bancos de dados Aurora PostgreSQL.

Como migrar uma instância de banco de dados do RDS for PostgreSQL usando uma réplica de leitura do Aurora

Também é possível migrar de uma instância de banco de dados do RDS for PostgreSQL criando uma réplica de leitura do Aurora PostgreSQL de uma instância de banco de dados do RDS for PostgreSQL. Quando o atraso da réplica entre a instância de banco de dados do RDS for PostgreSQL e a réplica de leitura do Aurora PostgreSQL for zero, você poderá interromper a replicação. Nesse ponto, é possível transformar a réplica de leitura do Aurora em um cluster de banco de dados independente do Aurora PostgreSQL para leitura e gravação.

Como importar dados do Amazon S3 para o Aurora PostgreSQL

É possível migrar dados importando-os de Amazon S3 para uma tabela pertencente a um cluster de bancos de dados Aurora PostgreSQL.

Como migrar de um banco de dados incompatível com o PostgreSQL

Você pode usar o AWS Database Migration Service (AWS DMS) para migrar dados de um banco de dados incompatível com PostgreSQL. Para ter mais informações sobre o AWS DMS, consulte O que é o AWS Database Migration Service? no Guia do usuário do AWS Database Migration Service.

nota

No momento, não é permitido habilitar a autenticação Kerberos no cluster de banco de dados do Aurora PostgreSQL durante a migração do RDS para o PostgreSQL. É possível habilitar a autenticação Kerberos somente em um cluster de banco de dados do Aurora PostgreSQL autônomo.

Para obter uma lista de Regiões da AWS onde o Aurora está disponível, consulte Amazon Aurora na Referência geral da AWS.

Importante

Se você planeja migrar uma instância de banco de dados do RDS for PostgreSQL para um cluster de Aurora PostgreSQL banco de dados no futuro próximo, recomendamos que você desative os upgrades de versão secundária automática para a instância de banco de dados no início da fase de planejamento de migração. A migração para Aurora PostgreSQL pode ser adiada se a versão do RDS para PostgreSQL ainda não for compatível com o Aurora PostgreSQL.

Para obter informações sobre Aurora PostgreSQL versões, consulte Versões de mecanismo para Amazon Aurora PostgreSQL.

Migrar um snapshot de uma instância de banco de dados do RDS for PostgreSQL para um cluster de bancos de dados Aurora PostgreSQL

Para criar um cluster de bancos de dados Aurora PostgreSQL, você pode migrar um snapshot de banco de dados de uma instância de banco de dados do RDS for PostgreSQL. O novo cluster de bancos de dados Aurora PostgreSQL é preenchido com os dados da instância de banco de dados do RDS for PostgreSQL original . Para obter informações sobre a criação de um snapshot de banco de dados, consulte Criar um snapshot de banco de dados.

Em alguns casos, o snapshot do banco de dados pode não estar na Região da AWS em que deseja localizar seus dados. Se esse for o caso, use o console do Amazon RDS para copiar o snapshot do banco de dados para essa Região da AWS. Para obter informações sobre a cópia de um snapshot de banco de dados, consulte Cópia de um snapshot de banco de dados.

Você pode migrar snapshots do RDS for PostgreSQL compatíveis com as versões do Aurora PostgreSQL disponíveis na Região da AWS determinada. Por exemplo, você pode migrar um snapshot de uma instância de banco de dados do RDS for PostgreSQL 11.1 para o Aurora PostgreSQL versão 11.4, 11.7, 11.8 ou 11.9 na região Oeste dos EUA (Norte da Califórnia). Você pode migrar um snapshot do RDS for PostgreSQL 10.11 para o Aurora PostgreSQL 10.11, 10.12, 10.13 e 10.14. Em outras palavras, o snapshot do RDS for PostgreSQL deve usar a mesma ou uma versão menor que o Aurora PostgreSQL.

Também é possível determinar que o seu novo cluster de bancos de dados Aurora PostgreSQL seja criptografado em repouso usando uma AWS KMS key. Essa opção está disponível somente para snapshot de banco de dadoss não criptografados.

Para migrar um snapshot do banco de dados do RDS for PostgreSQL para um cluster de bancos de dados Aurora PostgreSQL, você pode usar o AWS Management Console, a AWS CLI ou a API do RDS. Ao usar o AWS Management Console, o console realiza as ações necessárias para criar o cluster de banco de dados e a instância primária.

Para migrar um snapshot de banco de dados PostgreSQL usando o console do RDS
  1. Faça login no AWS Management Console e abra o console do Amazon RDS em https://console.aws.amazon.com/rds/.

  2. Escolha Snapshots.

  3. Na página Snapshots, escolha o snapshot do RDS for PostgreSQL que você deseja migrar para um cluster de bancos de dados Aurora PostgreSQL.

  4. Escolha Actions (Ações) e escolha Migrate snapshot (Migrar snapshot).

  5. Defina os seguintes valores na página Migrate Database (Migrar banco de dados):

    • Versão do mecanismo de banco de dados: escolha uma versão do mecanismo de banco de dados que você deseja usar para a nova instância migrada.

    • Identificador da instância do banco de dados: insira um nome para o cluster de banco de dados exclusivo à sua conta na Região da AWS escolhida. Esse identificador é usado em endereços de endpoint para as instâncias no cluster de banco de dados. É possível optar por adicionar inteligência ao nome, como incluir a Região da AWS e o mecanismo de banco de dados escolhidos, por exemplo, aurora-cluster1.

      O DB instance identifier tem as seguintes restrições:

      • Deve conter de 1 a 63 caracteres alfanuméricos ou hifens.

      • O primeiro caractere deve ser uma letra.

      • Não pode terminar com um hífen ou conter dois hífens consecutivos.

      • Deve ser exclusivo para todas as instâncias de banco de dados por conta da AWS, por Região da AWS.

    • DB Instance Class (Classe de instância de banco de dados): escolha uma categoria de instância de banco de dados que tenha o armazenamento e a capacidade necessários para seu banco de dados, por exemplo db.r6g.large. Os volumes de cluster do Aurora crescem automaticamente à medida em que aumenta a quantidade de dados em seu banco de dados. Assim, só será necessário escolher uma classe de instância de banco de dados que atenda aos requisitos atuais de armazenamento. Para ter mais informações, consulte Visão geral do armazenamento do Amazon Aurora.

    • Virtual private cloud (VPC) (Nuvem privada virtual):: se você tiver uma VPC existente, poderá usá-la com o seu cluster de bancos de dados Aurora PostgreSQL escolhendo o identificador de VPC, por exemplo vpc-a464d1c1. Para obter informações sobre a criação de uma VPC, consulte Tutorial: Criar uma VPC para usar com um cluster de banco de dados (somente IPv4).

      Do contrário, é possível optar por fazer com que Amazon RDS crie uma VPC para você, escolhendo Create new VPC (Criar nova VPC).

    • DB subnet group (Grupo de sub-redes do banco de dados): se você tiver um grupo de sub-redes existente, poderá usá-lo com o cluster de bancos de dados do Aurora PostgreSQL escolhendo o identificador de grupo de sub-redes, por exemplo, gs-subnet-group1.

    • Public access (Acesso público): escolha No (Não) para especificar que as instâncias no seu cluster de banco de dados só podem ser acessadas por recursos dentro da sua VPC. Escolha Yes (Sim) para especificar que as instâncias no seu cluster de banco de dados podem ser acessadas por recursos na rede pública.

      nota

      O cluster de banco de dados de produção talvez não precise estar em uma sub-rede pública, porque apenas os seus servidores de aplicativo precisarão acessá-lo. Se o cluster de banco de dados não precisa estar em uma sub-rede pública, defina Public access (Acesso público) para No (Não).

    • VPC security group (Grupo de segurança da VPC): escolha um grupo de segurança da VPC para permitir o acesso ao seu banco de dados.

    • Availability Zone (Zona de disponibilidade): escolha a Zona de disponibilidade para hospedar a instância primária do seu cluster de bancos de dados Aurora PostgreSQL. Para que o Amazon RDS escolha uma zona de disponibilidade para você, escolha No preference (Sem preferência).

    • Database port (Porta de banco de dados): insira a porta padrão a ser usada ao conectar-se a instâncias no cluster de bancos de dados Aurora PostgreSQL. O padrão é 5432.

      nota

      Pode ser que haja um firewall corporativo que impeça o acesso a portas padrão, como a porta padrão do PostgreSQL, 5432. Nesse caso, forneça um valor de porta permitido pelo seu firewall corporativo. Lembre-se desse valor de porta mais tarde ao se conectar ao cluster de banco de dados Aurora PostgreSQL.

    • Encryption (Criptografia): selecione Enable Encryption (Habilitar criptografia) para que o novo cluster de bancos de dados Aurora PostgreSQL seja criptografado em repouso. Escolha também uma chave do KMS como um valor AWS KMS key.

    • Auto minor version upgrade (Atualização da versão secundária automática): escolha Enable auto minor version upgrade (Ativar atualização da versão secundária automática) para permitir que o cluster de bancos de dados Aurora PostgreSQL receba atualizações secundárias de versão de mecanismos de banco de dados PostgreSQL automaticamente quando forem disponibilizadas.

      A opção Auto minor version upgrade (Atualização da versão secundária automática) aplica-se apenas a atualizações de versões secundárias de mecanismos PostgreSQL do seu cluster de bancos de dados Aurora PostgreSQL. Ela não se aplica a patches regulares aplicados para manter a estabilidade do sistema.

  6. Selecione Migrate para migrar o snapshot de banco de dados.

  7. Escolha Database (Bancos de dados) para ver o novo cluster de banco de dados. Escolha o novo cluster de banco de dados para monitorar o andamento da migração. Quando a migração for concluída, o status do cluster será Available (Disponível). Na guia Connectivity & security (Conectividade e segurança) , você pode encontrar o endpoint do cluster a ser usado para se conectar à instância de gravador primário do cluster de banco de dados. Para ter mais informações sobre a conexão com um cluster de bancos de dados Aurora PostgreSQL, consulte Como conectar-se a um cluster de bancos de dados Amazon Aurora.

Usar a AWS CLI para migrar um snapshot do banco de dados do RDS for PostgreSQL para um Aurora PostgreSQL envolve dois comandos da AWS CLI separados. Primeiro, você usa o comando da AWS CLI restore-db-cluster-from-snapshot de criar um novo cluster de bancos de dados Aurora PostgreSQL. Em seguida, você usa o comando create-db-instance para criar a instância de banco de dados principal no novo cluster para concluir a migração. O procedimento a seguir cria um cluster de banco de dados Aurora PostgreSQL com instância de banco de dados primária que tem a mesma configuração que a instância de banco de dados usada para criar o snapshot.

Para migrar um snapshot do banco de dados do RDS for PostgreSQL para um cluster de bancos de dados Aurora PostgreSQL
  1. Use o comando describe-db-snapshots para obter informações sobre o snapshot do banco de dados que você deseja migrar. Você pode especificar tanto o parâmetro --db-instance-identifier quanto --db-snapshot-identifier no comando. Se você não especificar um desses parâmetros, obterá todos os snapshots.

    aws rds describe-db-snapshots --db-instance-identifier <your-db-instance-name>
  2. O comando retorna todos os detalhes de configuração para quaisquer snapshots criados a partir da instância de banco de dados especificada. Na saída, encontre o snapshot que você deseja migrar e localize o nome do recurso da Amazon (ARN). Para saber mais sobre ARNs do Amazon RDS, consulte Amazon Relational Database Service (Amazon RDS). O ARN será semelhante à saída a seguir.

    “DBSnapshotArn": "arn:aws:rds:aws-region:111122223333:snapshot:<snapshot_name>"

    Também na saída, você pode encontrar detalhes de configuração para a instância de banco de dados do RDS for PostgreSQL, como a versão do mecanismo, o armazenamento alocado, se a instância de banco de dados está ou não criptografada e assim por diante.

  3. Use o comando restore-db-cluster-from-snapshot para iniciar a migração. Especifique os seguintes parâmetros:

    • --db-cluster-identifier – O nome que você deseja dar ao cluster de bancos de dados Aurora PostgreSQL. Este cluster de bancos de dados Aurora é o destino para a migração de snapshot do banco de dados.

    • --snapshot-identifier – O nome do recurso da Amazon (ARN) do snapshot do banco de dados a ser migrado.

    • --engine – Especifique aurora-postgresql para o mecanismo de cluster de bancos de dados Aurora.

    • --kms-key-id – Esse parâmetro opcional permite criar um cluster de banco de dados Aurora PostgreSQL criptografado de um snapshot do banco de dados não criptografado. Ele também permite que você escolha uma chave de criptografia para o cluster de banco de dados diferente da chave usada para o snapshot do banco de dados.

      nota

      Você não pode criar um cluster de banco de dados não criptografado do Aurora PostgreSQL de um snapshot do banco de dados criptografado.

    Sem o parâmetro --kms-key-id especificado como mostrado a seguir, o comando da AWS CLI restore-db-cluster-from-snapshot cria um cluster de bancos de dados Aurora PostgreSQL vazio que é criptografado usando a mesma chave que o snapshot do banco de dados ou não criptografado se a fonte do snapshot do banco de dados não for criptografada.

    Para Linux, macOS ou Unix:

    aws rds restore-db-cluster-from-snapshot \ --db-cluster-identifier cluster-name \ --snapshot-identifier arn:aws:rds:aws-region:111122223333:snapshot:your-snapshot-name \ --engine aurora-postgresql

    Para Windows:

    aws rds restore-db-cluster-from-snapshot ^ --db-cluster-identifier new_cluster ^ --snapshot-identifier arn:aws:rds:aws-region:111122223333:snapshot:your-snapshot-name ^ --engine aurora-postgresql
  4. O comando retorna detalhes sobre o cluster de bancos de dados Aurora PostgreSQL que está sendo criado para a migração. É possível verificar o status do cluster de bancos de dados Aurora PostgreSQL usando o comando da AWS CLI describe-db-clusters.

    aws rds describe-db-clusters --db-cluster-identifier cluster-name
  5. Quando o cluster de banco de dados ficar “disponível”, você usa o comando create-db-instance para preencher o cluster de bancos de dados Aurora PostgreSQL com a instância de banco de dados baseada em seu snapshot do banco de dados do Amazon RDS. Especifique os seguintes parâmetros:

    • --db-cluster-identifier – O nome do novo cluster de bancos de dados Aurora PostgreSQL que você criou na etapa anterior.

    • --db-instance-identifier – O nome que você deseja dar à instância de banco de dados. Essa instância torna-se o nó primário no cluster de bancos de dados Aurora PostgreSQL.

    • ----db-instance-class – Especifique a classe de instância de banco de dados a ser usada. Escolha entre as classes de instância de banco de dados aceitas pela versão do Aurora PostgreSQL para a qual você está migrando. Para ter mais informações, consulte Tipos de classe de instância de banco de dados e Mecanismos de banco de dados compatíveis para classes de instância de banco de dados.

    • --engine – Especifique aurora-postgresql para a instância de banco de dados.

    Você também pode criar a instância de banco de dados com uma configuração diferente da fonte do snapshot do banco de dados passando as opções apropriadas no comando da AWS CLI create-db-instance. Para ter mais informações, consulte o comando create-db-instance.

    Para Linux, macOS ou Unix:

    aws rds create-db-instance \ --db-cluster-identifier cluster-name \ --db-instance-identifier --db-instance-class db.instance.class \ --engine aurora-postgresql

    Para Windows:

    aws rds create-db-instance ^ --db-cluster-identifier cluster-name ^ --db-instance-identifier --db-instance-class db.instance.class ^ --engine aurora-postgresql

Quando o processo de migração for concluído, o cluster do Aurora PostgreSQL terá uma instância de banco de dados primária preenchida.

Migrar dados de uma instância de banco de dados do RDS for PostgreSQL para um cluster de bancos de dados Aurora PostgreSQL usando uma réplica de leitura do Aurora

Você pode usar uma instância de banco de dados do RDS for PostgreSQL como base para um novo cluster de banco de dados Aurora PostgreSQL usando uma réplica de leitura do Aurora. A opção de réplica de leitura do Aurora está disponível apenas para migração dentro da mesma Região da AWS e conta, e estará disponível somente se a região oferecer uma versão compatível do Aurora PostgreSQL para sua instância de banco de dados do RDS for PostgreSQL. Compatível significa que a versão do Aurora PostgreSQL é a mesma versão do RDS for PostgreSQL, ou que é uma versão secundária posterior na mesma família de versões principais.

Por exemplo, para usar essa técnica ao migrar uma instância de banco de dados do RDS for PostgreSQL 11.14, a região deve oferecer o Aurora PostgreSQL versão 11.14 ou uma versão secundária posterior na família PostgreSQL versão 11.

Visão geral da migração de dados usando uma réplica de leitura do Aurora

Migrar de uma instância de banco de dados do RDS for PostgreSQL para um cluster de banco de dados Aurora PostgreSQL é um procedimento com várias etapas. Primeiro, você cria uma réplica de leitura do Aurora da instância de banco de dados do RDS for PostgreSQL de origem. Isso inicia um processo de replicação da instância de banco de dados do RDS for PostgreSQL para um cluster de banco de dados de finalidade especial conhecido como cluster de réplica. O cluster de réplica consiste exclusivamente em uma réplica de leitura do Aurora (uma instância do leitor).

Quando há um cluster de réplica, você monitora o atraso entre ele e a instância de banco de dados do RDS for PostgreSQL de origem. Quando o atraso da réplica é 0 (zero), você pode promover o cluster de réplica. A replicação é interrompida, o cluster de réplica é promovido a um cluster de banco de dados Aurora autônomo e o leitor é promovido a instância do gravador do cluster. Em seguida, você pode adicionar instâncias ao cluster de banco de dados Aurora PostgreSQL a fim de dimensioná-lo para seu caso de uso. Você também pode excluir a instância de banco de dados do RDS for PostgreSQL se não precisar mais dela.

nota

Pode levar algumas horas por tebibyte de dados para que a migração seja concluída.

Não será possível criar uma réplica de leitura do Aurora se a instância de banco de dados do RDS for PostgreSQL já tiver uma réplica de leitura do Aurora ou uma réplica de leitura entre regiões.

Preparação para migrar dados usando uma réplica de leitura do Aurora

Durante o processo de migração usando a réplica de leitura do Aurora, as atualizações feitas na instância de banco de dados do RDS for PostgreSQL de origem são replicadas de forma assíncrona na réplica de leitura do Aurora do cluster de réplica. O processo usa a funcionalidade de replicação de transmissão nativa do PostgreSQL, que armazena segmentos Write-Ahead Logs (WAL – Logs de gravação antecipada) na instância de origem. Antes de iniciar esse processo de migração, certifique-se de que sua instância tenha capacidade de armazenamento suficiente verificando os valores das métricas listadas na tabela.

Métrica Descrição

FreeStorageSpace

O espaço de armazenamento disponível.

Unidade: bytes

OldestReplicationSlotLag

O tamanho do atraso dos dados de WAL na réplica que está demorando mais.

Unidades: megabytes

RDSToAuroraPostgreSQLReplicaLag

A quantidade de tempo em segundos que um cluster de bancos de dados Aurora PostgreSQL atrasa em comparação com a instância de banco de dados do RDS de origem.

TransactionLogsDiskUsage

O espaço em disco usado pelos logs de transação.

Unidades: megabytes

Para ter mais informações sobre o monitoramento da instância do RDS, consulte Monitoramento no Manual do usuário da Amazon RDS.

Criar uma réplica de leitura do Aurora

Você pode criar uma réplica de leitura do Aurora para uma instância de banco de dados do RDS for PostgreSQL usando o AWS Management Console ou a AWS CLI. A opção de criar uma réplica de leitura do Aurora usando o AWS Management Console estará disponível somente se a Região da AWS oferecer uma versão compatível do Aurora PostgreSQL. Ou seja, estará disponível apenas se houver uma versão do Aurora PostgreSQL idêntica à versão do RDS for PostgreSQL ou uma versão secundária posterior na mesma família de versões principais.

Como criar uma réplica de leitura do Aurora a partir de uma instância de banco de dados PostgreSQL de origem
  1. Faça login no AWS Management Console e abra o console do Amazon RDS em https://console.aws.amazon.com/rds/.

  2. No painel de navegação, escolha Bancos de dados.

  3. Escolha a instância de banco de dados do RDS for PostgreSQL que você deseja usar como a fonte da réplica de leitura do Aurora. Em Actions (Ações), selecione Create Aurora read replica (Criar réplica de leitura do Aurora). Se essa opção não for exibida, significa que uma versão compatível do Aurora PostgreSQL não está disponível na região.

    
                                    Criar réplica de leitura do Aurora
  4. Na página “Create Aurora read replica settings” (Criar configurações de réplica de leitura do Aurora), você configura as propriedades do cluster de banco de dados Aurora PostgreSQL conforme mostrado na tabela a seguir. O cluster de banco de dados da réplica é criado de um snapshot da instância do banco de dados de origem usando o mesmo nome de usuário e senha “primários” como a origem, portanto, não é possível alterá-los no momento.

    Opção Descrição

    Classe de instância de banco de dados

    Escolha uma classe de instância de banco de dados que atenda aos requisitos de processamento e memória da instância principal no cluster de banco de dados. Para ter mais informações, consulte Classes de instância de banco de dados Aurora.

    Implantação multi-AZ

    Não disponível durante a migração

    DB instance identifier

    Insira o nome que você deseja dar à instância de banco de dados. Esse identificador é usado no endereço do endpoint da instância principal do novo cluster de banco de dados.

    O DB instance identifier tem as seguintes restrições:

    • Deve conter de 1 a 63 caracteres alfanuméricos ou hifens.

    • O primeiro caractere deve ser uma letra.

    • Não pode terminar com um hífen ou conter dois hífens consecutivos.

    • Deve ser exclusivo para todas as instâncias de banco de dados para cada conta da AWS por Região da AWS.

    Virtual Private Cloud (VPC)

    Escolha a VPC que hospeda o cluster de banco de dados. Escolha Create new VPC (Criar nova VPC) para fazer o Amazon RDS criar uma VPC para você. Para ter mais informações, consulte Pré-requisitos do cluster de banco de dados.

    DB subnet group (Grupo de subredes do banco de dados)

    Selecione o grupo de sub-redes de banco de dados a ser usado para o cluster de banco de dados. Escolha Create new DB Subnet Group (Criar novo grupo de sub-redes de banco de dados) para fazer o Amazon RDS criar um grupo de sub-redes de banco de dados para você. Para ter mais informações, consulte Pré-requisitos do cluster de banco de dados.

    Public accessibility

    Selecione Yes (Sim) para dar um endereço IP público ao cluster de banco de dados; senão, selecione No (Não). As instâncias em seu cluster de banco de dados podem ser uma combinação de instâncias de banco de dados públicas e privadas. Para ter mais informações sobre como ocultar instâncias do acesso público, consulte Ocultar um cluster de banco de dados em uma VPC da Internet.

    Availability zone

    Determine se você deseja especificar uma Zona de disponibilidade específica. Para ter mais informações sobre zonas de disponibilidade, consulte Regiões e zonas de disponibilidade.

    VPC security groups (Grupos de segurança da VPC)

    Selecione um ou mais grupos de segurança da VPC para proteger o acesso à rede para o cluster de banco de dados. Escolha Create new VPC security group (Criar novo grupo de segurança da VPC) para fazer o Amazon RDS criar um grupo de segurança da VPC para você. Para ter mais informações, consulte Pré-requisitos do cluster de banco de dados.

    Porta de banco de dados

    Especifique a porta que os aplicativos e os utilitários usam para acessar o banco de dados. Os clusters de banco de dados PostgreSQL do Aurora assumem como padrão a porta PostgreSQL 5432. Em algumas empresas, os firewalls bloqueiam conexões a esta porta. Se o firewall da sua empresa bloquear a porta padrão, escolha outra porta para o novo cluster de banco de dados.

    Grupo de parâmetros de banco de dados

    Escolha um grupo de parâmetros de banco de dados para o cluster de bancos de dados Aurora PostgreSQL. O Aurora conta com um grupo de parâmetros de banco de dados padrão que você pode usar, ou é possível criar seu próprio grupo de parâmetros de banco de dados. Para ter mais informações sobre os parameter groups de banco de dados, consulte Trabalhar com grupos de parâmetros.

    Grupo de parâmetros do cluster de banco de dados

    Escolha um grupo de parâmetros de cluster de banco de dados para o cluster de bancos de dados Aurora PostgreSQL. O Aurora conta com um grupo de parâmetros de cluster de banco de dados que você pode usar, ou é possível criar seu próprio grupo de parâmetros. Para ter mais informações sobre os parameter groups do cluster de banco de dados, consulte Trabalhar com grupos de parâmetros.

    Criptografia

    Escolha Enable encryption para que o novo cluster de banco de dados Aurora seja criptografado em repouso. Se você selecionar Enable encryption (Habilitar criptografia), escolha também uma chave do KMS como o valor de AWS KMS key.

    Priority

    Escolha uma prioridade de failover para o cluster de banco de dados. Se você não selecionar um valor, o padrão será tier-1. Essa prioridade determina a ordem em que as réplicas do Aurora são promovidas durante a recuperação de uma falha de instância primária. Para ter mais informações, consulte Tolerância a falhas para um cluster de banco de dados do Aurora.

    Backup retention period (Período de retenção de backup)

    Selecione o tempo, de 1 a 35 dias, para o Aurora reter cópias de backup do banco de dados. As cópias de backup podem ser usadas para restaurações point-in-time (PITR) do banco de dados, contabilizando até os segundos.

    Monitoramento avançado

    Escolha Enable enhanced monitoring (Habilitar monitoramento avançado) para habilitar a coleta de métricas em tempo real do sistema operacional em que o cluster de banco de dados é executado. Para ter mais informações, consulte Monitorar métricas do SO com o monitoramento avançado.

    Monitoring Role (Monitoramento de perfis)

    Disponível apenas se você tiver escolhido Enable enhanced monitoring (Habilitar monitoramento avançado). A função do AWS Identity and Access Management (IAM) a ser usada para monitoramento avançado. Para ter mais informações, consulte Configurar e habilitar o monitoramento avançado.

    Granularity

    Disponível apenas se você tiver escolhido Enable enhanced monitoring (Habilitar monitoramento avançado). Defina o intervalo, em segundos, em que as métricas são coletadas para o seu cluster de banco de dados.

    Atualização da versão secundária automática

    Selecione Yes (Sim) para permitir que o cluster de bancos de dados Aurora PostgreSQL receba atualizações de versões secundárias do mecanismo de banco de dados PostgreSQL automaticamente quando forem disponibilizadas.

    A opção Auto minor version upgrade (Atualização da versão secundária automática) aplica-se apenas a atualizações de versões secundárias de mecanismos PostgreSQL do seu cluster de bancos de dados Aurora PostgreSQL. Ela não se aplica a patches regulares aplicados para manter a estabilidade do sistema.

    Janela de manutenção

    Escolha o intervalo de tempo semanal durante o qual pode ocorrer a manutenção do sistema.

  5. Escolha Create read replica (Criar réplica de leitura).

Para criar uma réplica de leitura do Aurora a partir de uma instância de banco de dados do RDS for PostgreSQL de origem usando a AWS CLI, use primeiro o comando da CLI create-db-cluster para criar um cluster de banco de dados do Aurora PostgreSQL. Assim que houver um cluster de banco de dados, você usará o comando create-db-instance para criar a instância principal para seu cluster de banco de dados. A instância principal é a primeira instância criada em um cluster de banco de dados do Aurora. Nesse caso, ele é criado inicialmente como uma réplica de leitura do Aurora da instância de banco de dados do RDS for PostgreSQL. Quando o processo for concluído, sua instância de banco de dados do RDS for PostgreSQL terá sido efetivamente migrada para um cluster de banco de dados do Aurora PostgreSQL.

Não é necessário especificar a conta de usuário principal (normalmente, postgres), sua senha nem o nome do banco de dados. A réplica de leitura do Aurora obtém essas informações automaticamente da instância de banco de dados do RDS for PostgreSQL de origem identificada quando você chama os comandos da AWS CLI.

Você precisa especificar a versão do mecanismo a ser usada para o cluster de banco de dados do Aurora PostgreSQL e para a instância de banco de dados. A versão especificada deve corresponder à instância de banco de dados do RDS for PostgreSQL de origem. Se a instância de banco de dados do RDS for PostgreSQL de origem estiver criptografada, você também precisará especificar a criptografia da instância principal do cluster de banco de dados do Aurora PostgreSQL. A migração de uma instância criptografada para um cluster de banco de dados não criptografado do Aurora não é compatível.

Os exemplos a seguir criam um cluster de banco de dados do Aurora PostgreSQL chamado my-new-aurora-cluster que usará uma instância de origem de banco de dados do RDS não criptografada. Primeiro, você cria o cluster de banco de dados do Aurora PostgreSQL chamando o comando create-db-cluster da CLI. O exemplo mostra como usar o parâmetro --storage-encrypted opcional para especificar se o cluster de banco de dados deve ser criptografado. Como o banco de dados de origem não está criptografado, o --kms-key-id é usado para especificar a chave a ser usada. Para ter mais informações sobre parâmetros obrigatórios e opcionais, consulte a lista após o exemplo.

Para Linux, macOS ou Unix:

aws rds create-db-cluster \ --db-cluster-identifier my-new-aurora-cluster \ --db-subnet-group-name my-db-subnet --vpc-security-group-ids sg-11111111 --engine aurora-postgresql \ --engine-version same-as-your-rds-instance-version \ --replication-source-identifier arn:aws:rds:aws-region:111122223333:db/rpg-source-db \ --storage-encrypted \ --kms-key-id arn:aws:kms:aws-region:111122223333:key/11111111-2222-3333-444444444444

Para Windows:

aws rds create-db-cluster ^ --db-cluster-identifier my-new-aurora-cluster ^ --db-subnet-group-name my-db-subnet ^ --vpc-security-group-ids sg-11111111 ^ --engine aurora-postgresql ^ --engine-version same-as-your-rds-instance-version ^ --replication-source-identifier arn:aws:rds:aws-region:111122223333:db/rpg-source-db ^ --storage-encrypted ^ --kms-key-id arn:aws:kms:aws-region:111122223333:key/11111111-2222-3333-444444444444

Na lista a seguir, você pode encontrar mais informações sobre algumas das opções mostradas no exemplo. A menos que especificado de outra forma, esses parâmetros são obrigatórios.

  • --db-cluster-identifier: você precisa fornecer um nome ao novo cluster de banco de dados do Aurora PostgreSQL.

  • --db-subnet-group-name: crie seu cluster de banco de dados do Aurora PostgreSQL na mesma sub-rede de banco de dados que a instância de banco de dados de origem.

  • --vpc-security-group-ids: especifique o grupo de segurança do cluster de banco de dados do Aurora PostgreSQL.

  • --engine-version: especifique a versão a ser usada para o cluster de banco de dados do Aurora PostgreSQL. Deve ser o mesmo da versão usada pela instância de banco de dados do RDS for PostgreSQL de origem.

  • --replication-source-identifier: identifique sua instância de banco de dados do RDS for PostgreSQL usando seu nome de recurso da Amazon (ARN). Para ter mais informações sobre ARNs do Amazon RDS, consulte Amazon Relational Database Service (Amazon RDS) na Referência geral da AWS de seu cluster de banco de dados.

  • --storage-encrypted: optional. Use somente quando necessário para especificar a criptografia da seguinte forma:

    • Use esse parâmetro quando a instância de banco de dados de origem tiver armazenamento criptografado. A chamada para create-db-cluster falhará se você não usar esse parâmetro com uma instância de banco de dados de origem que tenha armazenamento criptografado. Se você quiser usar uma chave para o cluster de banco de dados do Aurora PostgreSQL diferente da chave usada pela instância de banco de dados de origem, especifique também o --kms-key-id.

    • Use se o armazenamento da instância de banco de dados de origem não estiver criptografado, mas você quiser que o cluster de banco de dados do Aurora PostgreSQL use criptografia. Em caso afirmativo, você também precisará identificar a chave de criptografia a ser usada com o parâmetro --kms-key-id.

  • --kms-key-id: optional. Quando usado, você pode especificar a chave a ser usada para criptografia de armazenamento (--storage-encrypted) usando o ARN da chave, o ID, o ARN do alias ou seu nome de alias. Esse parâmetro é necessário somente nas seguintes situações:

    • Para escolher uma chave para o cluster de banco de dados do Aurora PostgreSQL diferente da usada pela instância de banco de dados de origem.

    • Para criar um cluster criptografado em uma fonte não criptografada. Nesse caso, você precisa especificar a chave que o Aurora PostgreSQL deve usar para criptografia.

Depois de criar o cluster de banco de dados do Aurora PostgreSQL, crie a instância principal usando o comando create-db-instance da CLI, conforme mostrado a seguir:

Para Linux, macOS ou Unix:

aws rds create-db-instance \ --db-cluster-identifier my-new-aurora-cluster \ --db-instance-class db.x2g.16xlarge \ --db-instance-identifier rpg-for-migration \ --engine aurora-postgresql

Para Windows:

aws rds create-db-instance ^ --db-cluster-identifier my-new-aurora-cluster ^ --db-instance-class db.x2g.16xlarge ^ --db-instance-identifier rpg-for-migration ^ --engine aurora-postgresql

Na lista a seguir, você pode encontrar mais informações sobre algumas das opções mostradas no exemplo.

  • --db-cluster-identifier: especifique o nome do cluster de banco de dados do Aurora PostgreSQL que você criou com o comando create-db-instance na etapa anterior.

  • --db-instance-class: o nome da classe da instância de banco de dados a ser usada para sua instância principal, como db.r4.xlarge, db.t4g.medium, db.x2g.16xlarge etc. Para obter uma lista das classes de instância de banco de dados, consulte Tipos de classe de instância de banco de dados.

  • --db-instance-identifier: especifique o nome para fornecer à instância principal.

  • --engine aurora-postgresql: especifique aurora-postgresql para o mecanismo.

Para criar uma réplica de leitura do Aurora a partir de uma instância de banco de dados do RDS for PostgreSQL de origem, primeiro use a operação da API do RDS CreateDBCluster para criar um cluster de banco de dados do Aurora para a réplica de leitura do Aurora criada a partir da instância de banco de dados do RDS for PostgreSQL de origem. Quando o cluster de banco de dados do Aurora PostgreSQL estiver disponível, você use CreateDBInstance para criar a instância principal para o cluster de banco de dados do Aurora.

Não é necessário especificar a conta de usuário principal (normalmente, postgres), sua senha nem o nome do banco de dados. A réplica de leitura do Aurora obtém essas informações automaticamente da instância de banco de dados do RDS for PostgreSQL especificada com o ReplicationSourceIdentifier.

Você precisa especificar a versão do mecanismo a ser usada para o cluster de banco de dados do Aurora PostgreSQL e para a instância de banco de dados. A versão especificada deve corresponder à instância de banco de dados do RDS for PostgreSQL de origem. Se a instância de banco de dados do RDS for PostgreSQL de origem estiver criptografada, você também precisará especificar a criptografia da instância principal do cluster de banco de dados do Aurora PostgreSQL. A migração de uma instância criptografada para um cluster de banco de dados não criptografado do Aurora não é compatível.

Para criar o cluster de banco de dados do Aurora para a réplica de leitura do Aurora, use a operação da API do RDS CreateDBCluster com os seguintes parâmetros:

  • DBClusterIdentifier: o nome do cluster de banco de dados a ser criado.

  • DBSubnetGroupName: o nome do grupo de sub-redes de banco de dados a ser associado a esse cluster de banco de dados.

  • Engine=aurora-postgresql: o nome do mecanismo a ser usado.

  • ReplicationSourceIdentifier: o nome de recurso da Amazon (ARN) para a instância de banco de dados do PostgreSQL de origem. Para ter mais informações sobre ARNs do Amazon RDS, consulte Amazon Relational Database Service (Amazon RDS) no Referência geral da Amazon Web Services. Se o ReplicationSourceIdentifier identificar uma fonte criptografada, o Amazon RDS usará sua chave do KMS padrão, a menos que você especifique uma chave diferente com o uso da opção KmsKeyId.

  • VpcSecurityGroupIds: a lista de grupos de segurança da VPC do Amazon EC2 a ser associada a esse cluster de banco de dados.

  • StorageEncrypted: indica se o cluster de banco de dados é criptografado. Quando você usa esse parâmetro sem especificar também o ReplicationSourceIdentifier, o Amazon RDS usa sua chave padrão do KMS.

  • KmsKeyId: a chave para um cluster criptografado. Quando usado, você pode especificar a chave a ser usada para criptografia de armazenamento usando o ARN da chave, o ID, o ARN do alias ou seu nome de alias.

Para ter mais informações, consulte CreateDBCluster na Referência de API do Amazon RDS.

Depois que o cluster de banco de dados do Aurora estiver disponível, você poderá criar uma instância principal para ele usando a operação CreateDBInstance da API do RDS com os seguintes parâmetros:

  • DBClusterIdentifier: o nome de seu cluster de banco de dados.

  • DBInstanceClass: o nome da classe de instância de banco de dados a ser usada para sua instância principal.

  • DBInstanceIdentifier: o nome da sua instância principal.

  • Engine=aurora-postgresql: o nome do mecanismo a ser usado.

Para ter mais informações, consulte CreateDBInstance na Referência de API do Amazon RDS.

Promover uma réplica de leitura do Aurora

A migração para o Aurora PostgreSQL não estará concluída até que você promova o cluster de réplica, portanto, não exclua a instância de banco de dados de origem do RDS for PostgreSQL ainda.

Antes de promover o cluster de réplica, certifique-se de que a instância de banco de dados do RDS for PostgreSQL não tenha nenhuma transação em processamento ou outra atividade de gravação no banco de dados. Quando o atraso da réplica na réplica de leitura do Aurora alcança 0 (zero), você pode promover o cluster de réplica. Para ter mais informações sobre o monitoramento do atraso da réplica, consulte Monitorar a replicação do Aurora PostgreSQL e Métricas no nível da instância do Amazon Aurora.

Como promover uma réplica de leitura do Aurora a um cluster de bancos de dados Aurora
  1. Faça login no AWS Management Console e abra o console do Amazon RDS em https://console.aws.amazon.com/rds/.

  2. No painel de navegação, escolha Bancos de dados.

  3. Escolha o cluster de réplica.

    
                                    Promova um cluster de réplica para o status completo do cluster de banco de dados Aurora PostgreSQL
  4. Em Actions (Ações), selecione Promote (Promover). Isso pode levar alguns minutos e pode levar a um tempo de inatividade.

Quando o processo é concluído, o cluster de réplica do Aurora é um cluster de banco de dados Aurora PostgreSQL regional, com uma instância do gravador contendo os dados da instância de banco de dados do RDS for PostgreSQL.

Para promover uma réplica de leitura do Aurora a um cluster de banco de dados autônomo, use o comando promote-read-replica-db-cluster da AWS CLI.

exemplo

Para Linux, macOS ou Unix:

aws rds promote-read-replica-db-cluster \ --db-cluster-identifier myreadreplicacluster

Para Windows:

aws rds promote-read-replica-db-cluster ^ --db-cluster-identifier myreadreplicacluster

Para promover uma réplica de leitura Aurora para um cluster de banco de dados autônomo, use a operação de API do RDS PromoteReadReplicaDBCluster.

Depois de promover o cluster de réplica, você pode confirmar se a promoção foi concluída verificando o log de eventos da seguinte forma.

Para confirmar que o cluster de réplica do Aurora foi promovido
  1. Faça login no AWS Management Console e abra o console do Amazon RDS em https://console.aws.amazon.com/rds/.

  2. No painel de navegação, escolha Events.

  3. Na página Events (Eventos), encontre o nome do seu cluster na lista Source (Fonte). Cada evento tem uma fonte, um tipo, um horário e uma mensagem. Você pode ver todos os eventos que ocorreram em sua Região da AWS relacionados à sua conta. Uma promoção bem-sucedida gera a mensagem a seguir.

    Promoted Read Replica cluster to a stand-alone database cluster.

Depois que promoção estiver concluída, a instância de banco de dados do RDS for PostgreSQL de origem e o cluster de banco de dados Aurora PostgreSQL serão desvinculadas. Você pode direcionar suas aplicações cliente para o endpoint da réplica de leitura do Aurora. Para ter mais informações sobre os endpoints do Aurora, consulte Gerenciamento de conexões do Amazon Aurora. Neste ponto, você poderá excluir com segurança a instância de banco de dados.