AWS Elastic Beanstalk cambiar punto final de RDS


¿Cómo puedo cambiar el extremo RDS configurado de un entorno AWS Elastic Beanstalk? Por ejemplo, después de que la base de datos RDS fue eliminada o debe ser reemplazada por una nueva base de datos RDS.

Author: tholu, 2014-05-14

2 answers

Actualización

El tema sigue siendo complejo y la documentación de AWS Elastic Beanstalk (EB) todavía podría hacer un mejor trabajo para aclarar las opciones disponibles. La pregunta ha sido cómo cambiar un punto final RDS , que parece leerse de dos maneras diferentes:

  1. Uno podría interpretarlo acerca de cómo adjuntar un punto final RDS administrado externamente existente a un punto final RDS existente (¡no nuevo!) EB medio ambiente-esto no es posible, más bien uno tendría que recurrir a manejar este escenario desde la propia aplicación como, por ejemplo, se describe en la sección Usando una Instancia de base de datos de Amazon RDS Existente con Python dentro de Usando Amazon RDS con Python.
  2. Más bien, el OP preguntó cómo hacerlo después de que la base de datos RDS se eliminara o se reemplazara con una nueva base de datos RDS , es decir, el cambio de extremo de RDS está implícito en el proceso de crear una nueva base de datos RDS para un entorno EB existente que ya tenía uno - esto es de hecho posible por medio de la DBSnapshotIdentifier Valor de la opción , que denota El identificador de la instantánea de la base de datos a restaurar desde. Una vez más los documentos de EB no son exactamente concluyentes lo que esto significa, sin embargo, EB está utilizando AWS CloudFormation bajo el capó, y el resp. la entrada para AWS:: RDS:: DBInstance-DBSnapshotIdentifier proporciona más detalles:

    Al especificar esta propiedad, puede crear una instancia de base de datos indicado Instantánea de la base de datos. Si la propiedad DBSnapshotIdentifier es cadena vacía o la declaración AWS:: RDS:: DBInstance no tiene DBSnapshotIdentifier, la base de datos se crea como un nuevo base. Si la propiedad contiene un valor (que no sea una cadena vacía), AWS CloudFormation crea una base de datos a partir de la instantánea especificada. Si no existe una instantánea con el nombre especificado, la base de datos la creación falla y la pila retrocede.

En otras palabras, el típico el resultado de actualizar cualquiera de los Valores generales de opción desde el espacio de nombres aws:rds:dbinstance para un entorno EB existente es la creación de una instancia RDS ajustada respectivamente administrada por EB, y por lo tanto un nuevo punto final RDS.
  • Un sub escenario específico es el uso de DBSnapshotIdentifier, que produce una nueva instancia de RDS administrada por EB basada en la instantánea referenciada y, por lo tanto, se puede usar para migrar (en lugar de adjuntar ) una instancia de RDS administrada externamente existente, tiempo de inactividad considerable basado en el tamaño de la instantánea.

Respuesta inicial

Aunque desafortunadamente no se trata específicamente dentro de Configurar bases de datos con AWS Elastic Beanstalk, la configuración de AWS Elastic Beanstalk para una base de datos opcional Amazon RDS se maneja a través de Valores de opción, consulte espacio de nombres aws:rds:dbinstance dentro de Opciones Generales.

Mientras que AWS Management Console oculta muchos de esos valores de opción detrás de su interfaz de usuario, puede especificarlos explícitamente al usar la API a través de otros medios, tanto al crear un entorno como al actualizar uno (que es cómo cambiaría cualquier configuración de una instancia de base de datos RDS) - consulte, por ejemplo, parameter --option-settings para update-environment desde la Interfaz de línea de comandos de AWS :

Si se especifica, AWS Elastic Beanstalk actualiza el conjunto de configuración asociado con el entorno en ejecución y establece la configuración especificada opciones al valor solicitado.

 13
Author: Steffen Opel,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-03-29 16:03:49

Se desaconseja el intercambio en caliente del nivel de datos dentro de un entorno porque descompone la integridad del entorno. Lo que desea hacer es clonar el entorno, con una instantánea restaurada de la instancia RDS. Esto significa que tendrás un entorno idéntico con un 'host' de url diferente, y si todo salió sin problemas, entonces puedes intercambiar URL de entorno para iniciar un intercambio de DNS.

Después de que ocurra el intercambio y todo esté listo, puede proceder a desinflar el antiguo entorno

 0
Author: ayc,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-04-18 23:29:56