Posso renomear uma instância do RDS?


11

Eu herdei uma coleção de instâncias RDS MySQL com nomes de Instância de banco de dados aleatórios (inúteis) .

Muitas vezes, tenho que cavar na seção de tags para descobrir a qual projeto eles pertencem.

Uma das configurações que posso modificar em um RDS é a DB Instance Identifier.

Se eu mudar isso, o que acontecerá além da mudança de nome? Isso afetará o código de alguém? Ou é uma mudança inofensiva?

Estes são sistemas ativos que não posso me dar ao luxo de derrubar.

Respostas:


10

Sim, você pode renomear uma instância do RDS ... por sua própria conta e risco.

Quando você renomeia uma instância de banco de dados, o terminal [DNS] [nome do host] da instância de banco de dados é alterado, porque a URL inclui o nome que você atribuiu à instância de banco de dados.

http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_RenameInstance.html

O código do seu aplicativo requer que as alterações na configuração sejam coordenadas, por esse motivo.

Veja o link acima para outras implicações. Essa é uma operação suportada e geralmente segura, mas apenas na janela de manutenção, porque haverá necessariamente uma breve interrupção à medida que o DNS for alterado e o código do seu aplicativo é alternado com o novo nome do host do banco de dados.


3

Sim, você pode alterar o nome da instância do RDS, mas é altamente desencorajado fazê-lo no ambiente de produção do LIVE. Isso mudaria o EndPoint, o que poderia afetar outros recursos que acessam ativamente o servidor RDS (como um servidor de aplicativos).

Provavelmente, isso exigiria uma alteração de propriedade / variável de ambiente em seu código ou configurações (o ideal seria acabar com uma liberação de configuração por meio do gerenciamento de configurações)

Para evitar interrupções (no futuro) e alterações na distribuição com RTO menor, você pode criar uma entrada DNS intermediária (CNAME) no Route53 para o servidor RDS e usar a URL intermediária no seu aplicativo. Quando o nome do servidor RDS muda, você pode alterar o CNAME DNS do novo ponto de extremidade do RDS. NOTA: Durante a alteração do nome, o servidor RDS ficará indisponível (com nome antigo) por alguns minutos e isso poderá causar interrupções.

Dito isto, você já está enviesado em uma solução (alteração de nomes RDS) para o seu problema. Mas

Existem várias soluções para o seu problema real (gerenciamento de servidores RDS para cada projeto)

A. Tente evitar usar o AWS Console o máximo possível. Por que você não começa a pesquisar na CLI da AWS (que pode extrair as tags) e escreve um script Python / Bash do wrapper para listar todos os servidores RDS - com nomes de projetos, a partir desta saída, você pode gerenciar esses servidores, como tirar um instantâneo, fazer backup etc. Você também pode usar o mysql --login-path (se você estiver no mysql para administração de banco de dados) https://opensourcedbms.com/dbms/passwordless-authentication-using-mysql_config_editor-with-mysql-5-6/ .

B. (Abordagem independente de custo) Se você decidiu mudar os Nomes do RDS, existe algo que você pode fazer sem causar nenhum impacto.

B.1 When the next code/config release happens try to bring in the intermediate DNS change into action.

B.2 (Optional) Enable Multi AZ in RDS (HA and twice the price). This will help your application to access the secondary active slave when there is any disruption due to name change. There is an option called Reboot with failover which would reboot the master while failing over to the active secondary 

B.3 Enable replication (read-replica) (this will give you a new RDS end-point). Name the read replica properly with your project names

B.4. Once replication is complete (and during your SLA / maintenance window) promote your read replica (this will break replication) and make the intermediate DNS point to the new RDS (with your proper names)

NOTA Todas as abordagens acima não garantem a integridade dos dados e atualizações indevidas de dados devido a transações a bordo. Portanto, é sempre melhor interromper todas as transações (parando todos os aplicativos que acessam e implantam uma página de manutenção e executam as operações)


Agradeço sua opinião, embora tenha notado que os nomes estranhos (inúteis) vêm especificamente do uso da CLI. Criar uma instância de RDs no console fornece nomes significativos.
Danny Schoemann

também é muito difícil (impossível?) fazer a análise de cobrança da CLI, além de observar os gráficos de uso.
Danny Schoemann

1
# 1 Ohh, para criação, você pode dar uma olhada no Cloudformation (onde é possível definir os nomes do RDS), quando eu disse à CLI que estava me referindo à leitura da lista RDS (para facilitar a análise no uso do grep --output=text. # 2 e sim para a análise de cobrança, console é uma obrigação, você deve considerar a criação de um usuário do IAM com faturamento papel e entregá-lo à sua pessoa finanças.
Ameen Ibrahim Raffic - 'AIR'
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.