Restaurar a partir de um snapshot do de banco de dados - Amazon Relational Database Service

Restaurar a partir de um snapshot do de banco de dados

Esta seção mostra como fazer a restauração com base em um snapshot do banco de dados.

O Amazon RDS cria um snapshot do volume de armazenamento de sua instância de banco de dados, fazendo o backup de toda a instância de banco de dados, não apenas dos bancos de dados individuais. É possível criar uma instância de banco de dados com uma restauração de um snapshot de banco de dados. Forneça o nome do snapshot de banco de dados do qual restaurar e um nome para a nova instância de banco de dados que é criada na restauração. Não é possível restaurar de um snapshot de banco de dados para uma instância de banco de dados existente. Uma nova instância de banco de dados é criada na restauração.

É possível usar a instância de banco de dados restaurada assim que o status for available. A instância de banco de dados continua a carregar dados em segundo plano. Isso é conhecido como carregamento lento.

Se você acessar dados que ainda não foram carregados, a instância de banco de dados baixará imediatamente os dados solicitados do Amazon S3 e continuará carregando o restante dos dados do volume em segundo plano. Para ter mais informações, consulte Snapshots do Amazon EBS.

Para ajudar a atenuar os efeitos do carregamento lento em tabelas às quais necessita de acesso rápido, você pode executar operações que envolvem verificações de tabela completas, como SELECT *. Isso permite que o Amazon RDS baixe todos os dados da tabela de backup do S3.

Você pode restaurar uma instância de banco de dados e usar um tipo de armazenamento diferente que o snapshot de banco de dados de origem. Nesse caso, o processo de restauração é mais lento devido ao trabalho adicional necessário para migrar os dados para o novo tipo de armazenamento. Se você restaurar para ou de um armazenamento magnético, o processo de migração será o mais lento. Isso ocorre porque o armazenamento magnético não possui o recurso de armazenamento de IOPS provisionadas ou de Uso geral (SSD).

É possível usar o AWS CloudFormation para restaurar uma instância de banco de dados de um snapshot de instância de banco de dados. Para obter mais informações, consulte AWS::RDS::DBInstance, no Guia do usuário do AWS CloudFormation.

nota

Não é possível restaurar uma instância de banco de dados a partir de um DB snapshot que seja compartilhado e criptografado. Em vez disso, você pode fazer uma cópia do snapshot de banco de dados e restaurar a instância de banco de dados a partir da cópia. Para ter mais informações, consulte Copiar um snapshot de banco de dados.

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.

Considerações de grupos de parâmetros

Recomendamos que você retenha o grupo de parâmetros de banco de dados para quaisquer snapshots do banco de dados criados, para que você possa associar uma instância de banco de dados restaurada ao grupo de parâmetros correto.

O grupo de parâmetros de banco de dados padrão é associado à instância restaurada, a menos que você escolha um diferente. Não há configurações de parâmetros personalizados disponíveis no grupo de parâmetros padrão.

Você pode especificar o grupo de parâmetros ao restaurar a instância de banco de dados.

Para obter mais informações sobre os grupos de parâmetros de banco de dados, consulte Trabalhar com grupos de parâmetros.

Considerações sobre os grupos de segurança

Ao restaurar uma instância de banco de dados, a nuvem privada virtual (VPC) padrão, o grupo de sub-rede de banco de dados e o grupo de segurança da VPC são associados à instância restaurada, a menos que você escolha outros.

  • Se estiver usando o console do Amazon RDS, você poderá especificar um grupo de segurança da VPC personalizado para associar à instância ou criar um novo grupo de segurança da VPC.

  • Se estiver usando a AWS CLI, você poderá especificar um grupo de segurança da VPC personalizado para associar à instância incluindo a opção --vpc-security-group-ids no comando restore-db-instance-from-db-snapshot.

  • Se você estiver usando a API do Amazon RDS, será possível incluir o parâmetro VpcSecurityGroupIds.VpcSecurityGroupId.N na ação RestoreDBInstanceFromDBSnapshot.

Assim que a restauração for concluída e anova instância de banco de dados estiver disponível, você também poderá alterar as configurações da VPC modificando a instância de banco de dados. Para obter mais informações, consulteModificar uma instância de banco de dados do Amazon RDS

Considerações de grupos de opções

Quando você restaura uma instância de banco de dados, o grupo de opções de banco de dados padrão é associado à instância restaurada.

A exceção é quando a fonte da instância de banco de dados é associada a um grupo de opções que contém uma opção persistente ou permanente. Por exemplo, se a fonte da instância de banco de dados usar o Oracle Transparent Data Encryption (TDE), a instância de banco de dados restaurada deverá usar um grupo de opções que tenha a opção TDE.

Se você restaurar uma instância de banco de dados em uma VPC diferente, deverá executar um dos seguintes procedimentos para atribuir um grupo de opções de banco de dados:

  • Atribuir o grupo de opções padrão deste grupo da VPC à instância.

  • Atribuir outro grupo de opções vinculado a essa VPC.

  • Criar um novo grupo de opções e atribui-lo à instância de banco de dados. Com opções persistentes ou permanentes, como o Oracle TDE, você deve criar um novo grupo de opções que inclua a opção persistente ou permanente.

Para obter mais informações sobre grupos de opções de banco de dados, consulte Trabalhar com grupos de opções.

Considerações sobre marcação de recursos

Quando você restaura uma instância de banco de dados de um snapshot do banco de dados, o RDS verifica se você especifica novas tags. Se sim, as novas tags serão adicionadas à instância de banco de dados restaurada. Se não houver novas tags, o RDS adicionará as tags da instância de banco de dados de origem no momento da criação do snapshot à instância de banco de dados restaurada.

Para ter mais informações, consulte Copiar tags para snapshots de instância de banco de dados.

Considerações sobre o Db2

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 de um snapshot falharão. Para ter mais informações, consulte Bring-Your-Own-License e rdsadmin.restore_database.

Considerações sobre o Microsoft SQL Server

Ao restaurar um snapshot de banco de dados do RDS for Microsoft SQL Server para uma nova instância, você sempre pode restaurar para a mesma edição do seu snapshot. Em alguns casos, você também pode alterar a edição da instância de banco de dados. As seguintes limitações são aplicáveis às alteração de edições:

  • O snapshot de banco de dados deve ter armazenamento suficiente alocado para a nova edição.

  • Somente há suporte para as seguintes alterações da edição:

    • Da Standard Edition para a Enterprise Edition

    • Da Web Edition para a Standard Edition ou a Enterprise Edition

    • Da Express Edition para Web Edition, Standard Edition ou Enterprise Edition

Para alterar de uma edição para uma nova que não é compatível via restauração de um snapshot, você poderá tentar usar o recurso de backup e restauração nativo. O SQL Server verifica se o seu banco de dados é compatível com a nova edição com base em quais recursos do SQL Server você habilitou no banco de dados. Para obter mais informações, consulteImportar e exportar bancos de dados do SQL Server usando backup e restauração nativos

Considerações sobre o Oracle Database

Ao restaurar um banco de dados Oracle a partir de um DB snapshot, considere o seguinte:

  • Antes de restaurar um snapshot de banco de dados, você pode atualizá-lo para uma versão posterior. Para ter mais informações, consulte Como atualizar para um snapshot de banco de dados Oracle.

  • Se você restaurar um snapshot de uma instância CDB, poderá alterar o nome do PDB. Você não pode alterar os nomes do PDB quando sua instância do CDB usa a configuração multilocatário. Para ter mais informações, consulte Fazer backup e restaurar um CDB.

  • Não é possível alterar o nome do CDB, que é sempre RDSCDB. Esse nome CDB é o mesmo para todas as instâncias CDB.

  • Você não pode interagir diretamente com os bancos de dados de locatários em um DB snapshot. Se você restaurar um snapshot de uma instância CDB que usa a configuração multilocatário, restaurará todos os bancos de dados de locatários. Você pode usar describe-db-snapshot-tenant-databases para inspecionar os bancos de dados de locatários em um DB snapshot antes de restaurá-lo.

  • Se você usar o Oracle GoldenGate, mantenha sempre o parameter group com o parâmetro compatible. Ao restaurar uma instância de banco de dados de um snapshot de banco de dados, você deve especificar o grupo de parâmetros que tem um valor de parâmetro correspondente a ou maior que compatible.

  • É possível optar por renomear o banco de dados ao restaurar um snapshot de banco de dados. Se o tamanho total do redo log on-line for maior que 20 GB, o RDS poderá redefinir o tamanho do redo log on-line como as configurações padrão de 512 MB (4 x 128 MB). O tamanho menor permite que a operação de restauração seja concluída em um tempo razoável. É possível recriar os redo logs on-line posteriormente e alterar o tamanho.

Restauração a partir de um snapshot

É possível restaurar uma instância de banco de dados 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 de um DB snapshot
  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 Snapshots.

  3. Escolha o DB snapshot do qual você deseja restaurar.

  4. Em Actions (Ações), escolha Restore snapshot (Restaurar snapshot).

  5. Na página Restore snapshot (Restaurar snapshot), em DB Instance Identifier (Identificador da instância do banco de dados), digite o nome da instância de bancos de dados restaurada.

  6. Especifique outras configurações, como o tamanho de armazenamento alocado.

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

  7. Escolha Restore DB Instance.

Para restaurar uma instância de banco de dados a AWS CLIpartir de um snapshot de banco de dados, use o comando restore-db-instance-from-db-snapshot da .

Neste exemplo, restaure a partir de um snapshot de banco de dados chamado mydbsnapshot. Restaure em uma nova instância de banco de dados chamada mynewdbinstance. Esse exemplo também define o tamanho de armazenamento alocado.

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

exemplo

Para Linux, macOS ou Unix:

aws rds restore-db-instance-from-db-snapshot \ --db-instance-identifier mynewdbinstance \ --db-snapshot-identifier mydbsnapshot \ --allocated-storage 100

Para Windows:

aws rds restore-db-instance-from-db-snapshot ^ --db-instance-identifier mynewdbinstance ^ --db-snapshot-identifier mydbsnapshot ^ --allocated-storage 100

Esse comando retorna uma saída semelhante à seguinte:

DBINSTANCE mynewdbinstance db.t3.small MySQL 50 sa creating 3 n 8.0.28 general-public-license

Para restaurar uma instância de banco de dados a partir de um snapshot de banco de dados, chame a função RestoreDBInstanceFromDBSnapshot da API do Amazon RDS com os seguintes parâmetros:

  • DBInstanceIdentifier

  • DBSnapshotIdentifier