Restaurar uma instância de banco de dados para um momento especificado no Amazon RDS - Amazon Relational Database Service

Restaurar uma instância de banco de dados para um momento especificado no Amazon RDS

É possível restaurar uma instância de banco de dados para um ponto no tempo específico criando uma instância de banco de dados sem modificar a instância de banco de dados de origem.

Ao restaurar uma instância de banco de dados para um momento específico, você pode escolher o grupo de segurança padrão da nuvem privada virtual (VPC). Ou você pode aplicar um grupo de segurança personalizado da VPC à sua instância de banco de dados.

As instâncias de banco de dados restauradas são associadas automaticamente aos grupos de parâmetros e de opções de banco de dados padrão. Porém, você pode aplicar um grupo de parâmetros personalizado e um grupo de opções personalizado especificando-os durante uma restauração.

Se a instância de banco de dados de origem tiver tags de recursos, o RDS adicionará as tags mais recentes à instância de banco de dados restaurada.

O RDS carrega os logs de transações de instâncias de banco de dados no Simple Storage Service (Amazon S3) a cada cinco minutos. Para visualizar o tempo restaurável mais recente para uma instância de banco de dado, use o comando AWS CLI describe-db-instances e confira o valor retornado no campo LatestRestorableTime para a instância de banco de dados. Para ver o tempo de restauração mais recente para cada instância de banco de dados no console Amazon RDS, selecione Backups automatizados.

É possível fazer a restauração para qualquer momento dentro do período de retenção de backup. Para ver o tempo de restauração mais antigo para cada instância de banco de dados, selecione Backups automatizados no console do Amazon RDS.

Backups automatizados
nota

Recomendamos restaurar para o mesmo tamanho de instância de banco de dados ou um tamanho semelhante (e IOPS se estiver usando o armazenamento de IOPS provisionadas) como a instância de banco de dados de origem. É possível receber um erro se, por exemplo, você escolher um tamanho de instância de banco de dados com um valor de IOPS incompatível.

Consulte informações sobre a restauração de uma instância de banco de dados com uma versão do Suporte estendido do RDS em Restauração de uma instância de banco de dados ou um cluster de banco de dados multi-AZ com o Suporte estendido do Amazon RDS.

Alguns dos mecanismos de banco de dados usados pelo Amazon RDS apresentam considerações especiais ao restaurar a partir de um ponto a tempo:

  • Se você usar a autenticação por senha com uma instância de banco de dados do Amazon RDS para Db2, as ações de gerenciamento de usuários, inclusive rdsadmin.add_user, não serão capturadas nos logs. Essas ações exigem um backup de snapshot completo.

    Com o modelo BYOL, as instâncias de banco de dados do RDS para Db2 devem estar associadas a um grupo de parâmetros personalizado que contenha o IBM Site ID e o IBM Customer ID. Caso contrário, as tentativas de restaurar uma instância de banco de dados para um ponto específico no tempo falharão. As instâncias de banco de dados do Amazon RDS para Db2 também devem estar associadas a uma licença autogerenciada do AWS License Manager. Para ter mais informações, consulte Traga a sua própria licença para Db2.

    Com o modelo de licença do Db2 por meio do AWS Marketplace, você precisa de uma assinatura do AWS Marketplace ativa para a edição específica do IBM Db2 que deseja usar. Se ainda não tiver uma, assine o Db2 no AWS Marketplace para essa edição do IBM Db2. Para ter mais informações, consulte Licença do Db2 por meio do AWS Marketplace.

  • Quando restaura-se uma instância do Oracle DB para um ponto no tempo, você pode especificar um mecanismo do Oracle DB, modelo de licença e DBName (SID) diferente a ser usado pela nova instância de banco de dados.

  • Quando você restaura uma instância de banco de dados do SQL Server em um ponto no tempo, cada banco de dados nessa instância é restaurado a um ponto no tempo dentro de 1 segundo de cada outro banco de dados dentro da instância. As transações que abrangem vários bancos de dados dentro da instância podem ser restauradas de forma inconsistente.

  • Para uma instância de banco de dados SQL Server, os modos OFFLINE, EMERGENCY e SINGLE_USER não são compatíveis. Configurar qualquer banco de dados em um desses modos faz com que o tempo restaurável mais recente pare de avançar para toda a instância.

  • Algumas ações, como altera o modelo de recuperação de um banco de dados do SQL Server, podem interromper a sequência de logs que são usados para a recuperação em um ponto anterior no tempo. Em alguns casos, o Amazon RDS pode detectar esse problema e o mais recente tempo restaurável é impedido de avançar. Em outros casos, como quando um banco de dados do SQL Server usa o modelo de recuperação BULK_LOGGED, a interrupção na sequência de log não é detectada. Pode não ser possível restaurar uma instância de banco de dados do SQL Server a um ponto no tempo, se houver uma interrupção na sequência de log. Por esses motivos, o Amazon RDS não oferece suporte à alteração do modelo de recuperação dos bancos de dados do SQL Server.

Você também pode usar o AWS Backup para gerenciar backups de instâncias de banco de dados do Amazon RDS. Se sua instância de banco de dados estiver associada a um plano de backup no AWS Backup, esse plano de backup será usado para recuperação em um ponto anterior no tempo. Backups criados com o AWS Backup têm nomes que terminam com awsbackup:AWS-Backup-job-number. Para obter mais informações sobre o AWS Backup, consulte o Guia do desenvolvedor do AWS Backup.

nota

As informações neste tópico se aplicam ao Amazon RDS. Para obter informações sobre como restaurar um cluster de bancos de dados Amazon Aurora consulte Restaurar um cluster de banco de dados em um horário especificado.

Você pode restaurar uma instância de banco de dados em um momento específico usando o AWS Management Console, a AWS CLI ou a API do RDS.

nota

Não é possível reduzir a quantidade de armazenamento ao restaurar uma instância de banco de dados. Ao aumentar o armazenamento alocado, o aumento deve ser de pelo menos 10%. Ao tentar aumentar o valor em menos de 10%, você obtém um erro. Não é possível aumentar o armazenamento alocado ao restaurar instâncias de banco de dados do RDS para SQL Server.

Para restaurar uma instância de banco de dados em um horário específico
  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 Automated backups (Backups automatizados).

    Os backups automatizados são exibidos na guia Current Region (região atual).

  3. Escolha a instância de banco de dados que você quer restaurar.

  4. Em Actions (Ações), escolha Restore to point in time (Restaurar para point-in-time).

    A janela Restore to point in time (Restaurar para point-in-time) é exibida.

  5. Escolha Latest restorable time (Hora da última restauração) para restaurar no último horário possível ou escolha Custom (Personalizar) para escolher um horário.

    Se você escolher Custom (Personalizado), insira a data e a hora para a qual deseja restaurar a instância.

    nota

    Os horários são mostrados no fuso horário local, que é indicado por um deslocamento do Tempo Universal Coordenado (UTC). Por exemplo, UTC-5 é a Hora Padrão do Leste dos EUA/Horário de Verão Central.

  6. Em Identificador de instância de banco de dados, digite o nome da instância de banco de dados restaurada de destino. O nome deve ser exclusivo.

  7. Escolha outras opções conforme necessário, como classe de instância de banco de dados, armazenamento e se você quer usar a escalabilidade automática de armazenamento.

    Para obter informações sobre cada configuração, consulte Configurações para instâncias de banco de dados.

  8. Escolha Restore to point in time (Restaurar para point-in-time).

Para restaurar uma instância de banco de dados de volta para um horário especificado, use o comando restore-db-instance-to-point-in-time da AWS CLI para criar uma instância de banco de dados. Esse exemplo também define o tamanho de armazenamento alocado e habilita a autoescalabilidade do armazenamento.

A marcação de recursos é compatível com esta operação. Quando você usa a opção --tags, as tags da instância de banco de dados de origem são ignoradas e as fornecidas são utilizadas. Caso contrário, as tags mais recentes da instância de origem serão utilizadas.

Você pode especificar outras configurações. Para obter informações sobre cada configuração, consulte Configurações para instâncias de banco de dados.

Para Linux, macOS ou Unix:

aws rds restore-db-instance-to-point-in-time \ --source-db-instance-identifier mysourcedbinstance \ --target-db-instance-identifier mytargetdbinstance \ --restore-time 2017-10-14T23:45:00.000Z \ --allocated-storage 100 \ --max-allocated-storage 1000

Para Windows:

aws rds restore-db-instance-to-point-in-time ^ --source-db-instance-identifier mysourcedbinstance ^ --target-db-instance-identifier mytargetdbinstance ^ --restore-time 2017-10-14T23:45:00.000Z ^ --allocated-storage 100 ^ --max-allocated-storage 1000

Para restaurar uma instância de banco de dados em um horário específico, chame a operação RestoreDBInstanceToPointInTime da API do Amazon RDS com os seguintes parâmetros:

  • SourceDBInstanceIdentifier

  • TargetDBInstanceIdentifier

  • RestoreTime