¿Puedo cambiar el nombre de una instancia de RDS?


11

Heredé una colección de instancias RDS MySQL con nombres aleatorios (inútiles) de instancias de base de datos .

A menudo tengo que buscar en la sección de etiquetas para saber a qué proyecto pertenecen.

Una de las configuraciones que puedo modificar en un RDS es DB Instance Identifier.

Si cambio esto, ¿qué pasará además del cambio de nombre? ¿Afectará el código de alguien? ¿O es un cambio inofensivo?

Estos son sistemas en vivo que no puedo permitirme derribar.

Respuestas:


10

Sí, puede cambiar el nombre de una instancia de RDS ... bajo su propio riesgo.

Cuando cambia el nombre de una instancia de DB, el punto final [DNS] [hostname] para la instancia de DB cambia, porque la URL incluye el nombre que asignó a la instancia de DB.

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

El código de su aplicación requiere que se coordinen los cambios de configuración, por este motivo.

Vea el enlace de arriba para las otras implicaciones. Esta es una operación compatible y generalmente segura, pero solo en su ventana de mantenimiento, ya que necesariamente habrá una interrupción breve a medida que se cambia el DNS y el código de su aplicación se completa con el nuevo nombre de host de la base de datos.


3

Sí, puede cambiar el nombre de la instancia de RDS, pero se desaconseja hacerlo en el entorno de producción LIVE. Cambiaría el EndPoint, lo que podría afectar a otros recursos que acceden activamente al servidor RDS (como un servidor de aplicaciones).

Esto probablemente requeriría un cambio de propiedad / variable de entorno en su código o configuraciones (lo que idealmente terminaría para una versión de configuración a través de la administración de configuración)

Para evitar interrupciones (en el futuro) y cambios de implementación con menor RTO, puede crear una entrada DNS intermedia (CNAME) en Route53 para su servidor RDS y usar la URL intermedia en su aplicación. Cuando cambia el nombre del servidor RDS, puede cambiar el CNAME DNS del nuevo punto final RDS. NOTA: durante el cambio de nombre, su servidor RDS no estará disponible (con el nombre anterior) durante unos minutos y esto puede causar interrupciones

Dicho esto, ya está sesgado en una solución (cambio de nombres RDS) para su problema. Pero

Existen múltiples soluciones para su problema real (administración de servidores RDS para cada proyecto)

A. Intente evitar usar AWS Console tanto como sea posible. ¿Por qué no comienza a buscar en la CLI de AWS (que puede extraer las etiquetas) y escribe una secuencia de comandos de Python / Bash para enumerar todos los servidores RDS? También puede usar mysql --login-path (si está en mysql para la administración de DB) https://opensourcedbms.com/dbms/passwordless-authentication-using-mysql_config_editor-with-mysql-5-6/ .

B. (Enfoque agnóstico de costos) Si de todos modos ha decidido cambiar los Nombres RDS, entonces hay algo que puede hacer sin ningún 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 Todos los enfoques anteriores no garantizarían la integridad de los datos y las actualizaciones de datos inadecuadas debido a las transacciones en vuelo. Por lo tanto, siempre es mejor detener todas las transacciones (deteniendo que todas las aplicaciones accedan e implementen una página de mantenimiento y realicen las operaciones)


Agradezco su aporte, aunque he notado que los nombres extraños (inútiles) provienen específicamente del uso de la CLI. Crear una instancia de RD desde la consola les da nombres significativos.
Danny Schoemann

También es muy difícil (¿imposible?) hacer análisis de facturación desde la CLI, así como ver gráficos de uso.
Danny Schoemann

1
# 1 Ohh, para la creación puedes echar un vistazo a Cloudformation (donde puedes definir los nombres RDS), cuando dije CLI me refería a leer la lista RDS (para analizar fácilmente el uso de grep --output=text. # 2 y sí para el análisis de facturación, la consola es imprescindible, debe considerar crear un usuario de IAM con función de facturación y entregárselo a su persona de finanzas.
Ameen Ibrahim Raffic - 'AIR'
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.