Migração de Banco de Dados no RDS da AWS entre contas
No mundo dos serviços disponíveis na AWS um dos mais utilizados é o RDS. A finalidade do RDS é prover uma forma fácil para uso de sistemas de bancos de dados relacionais. Nele temos uma infinidade de SGBD's que vão de SQL Server da Microsoft até MySQL.
Uma das validações do nível de maturidade de determinados serviços é a disponibilidade de recursos com baixa frequência de uso.
Qual a frequência da necessidade de se realizar uma migração de um banco de dados do RDS entre diferentes contas da AWS?
O mais comum é que isso seja puco frequente.
No entanto, saber executar rotinas pouco frequentes é de grande valor em situações atípicas.
O primeiro passo para migrar um instância RDS entre contas é criar um snapshot daquela que se deseja migrar.
Após conectar na AWS entrar no serviço RDS. No menu lateral esquerdo clicar em Databases. Serão exibidos os databases disponíveis na região selecionada. Clicar no database que se deseja migrar. Clicar no botão Actions na parte superior direita e clicar na opção Take Snapshot. O próximo passo é dar um nome ao snapshot e clicar em Take Snpashot na parte inferior para o processo iniciar.
O segundo passo é criar uma chave criptográfica que será usada para proteger o snapshot que será compartilhado.
Procurar o serviço KMS na AWS.
Clicar no botão Create key. Selecionar o tipo Symmetric. Criar um alias para a identificação da chave. Escolher usuário que pode ser administrador das chave que será criada e clicar em Next. Neste momento você deverá as atribuir permissões de uso da chave, o que inclui outras contas. Clicar no botão Add another AWS account e adicionar o ID da conta que receberá o compartilhamento do snapshot. Clicar no botão Finish para concluir a criação da chave.
O terceiro passo é criar uma cópia do snapshot criado para migração com a chave criada para compartilhamento.
Para isso é necessário clicar em Snpashots dentro do serviço RDS, selecionar o snapshot criado para migração, ir no botão Actions e clicar na opção Copy snapshot. Dar um nome para identificar a instância. Na seção Encryption selecionar a chave criada no campo Master key e clicar em Copy snapshot.
O quarto e último passo é compartilhar esse snapshot com uma outra conta da AWS.
Basta selecionar a instância, clicar no botão Actions e selecionar a opção Share snapshot. Na tela seguinte preencher o ID da conta AWS que irá receber o snapshot e clicar em Save.
Antes de restaurar a instância de banco de dados dentro da conta com a qual ela foi compartilhada é recomendável criar um snapshot de propriedade exlcusiva da conta destino.
Esse processo pode ser pouco utilizado mas pode ser crítico para determinadas finalidades.