Creación de una implementación azul/verde
Al crear una implementación azul/verde, se especifica la instancia de base de datos de origen que se va a copiar en la implementación. La instancia de base de datos que elija es la instancia de base de datos de producción y se convierte en la instancia de base de datos principal en el entorno azul. Esta instancia de base de datos se copia al entorno verde y RDS configura la replicación desde la instancia de base de datos del entorno azul a la instancia de base de datos del entorno verde.
RDS copia la topología del entorno azul en un área de almacenamiento provisional, junto con sus características configuradas. Cuando la instancia de base de datos azul tiene réplicas de lectura, las réplicas leídas se copian como réplicas leídas de la instancia de base de datos verde en la implementación. Si la instancia de base de datos azul/verde es una implementación de instancia de base de datos Multi-AZ, la instancia de base de datos verde se crea como implementación de la instancia de base de datos Multi-AZ.
Temas
Preparación para una implementación azul/verde
Hay ciertos pasos que debe seguir antes de crear una implementación azul/verde, en función del motor que ejecute su instancia de base de datos.
Temas
Preparación de una instancia de base de datos de RDS para MySQL para una implementación azul/verde
Antes de crear una implementación azul/verde para una instancia de base de datos de RDS para MySQL, debe habilitar las copias de seguridad automatizadas. Para obtener instrucciones, consulte Habilitar las copias de seguridad automatizadas.
Preparación de una instancia de base de datos de RDS para PostgreSQL para una implementación azul/verde
Antes de crear una implementación azul/verde para una instancia de base de datos de RDS para PostgreSQL, haga lo siguiente:
-
Asocie la instancia a un grupo de parámetros de base de datos personalizado con la replicación lógica (
rds.logical_replication
) activada. La replicación lógica es necesaria para la replicación del entorno azul en el entorno verde. Para obtener instrucciones, consulte Modificación de los parámetros de un grupo de parámetros de base de datos en Amazon RDS.Dado que las implementaciones azul/verde requieren al menos un trabajo en segundo plano por base de datos, asegúrese de configurar los siguientes ajustes de configuración en función de su carga de trabajo: Para obtener instrucciones sobre cómo ajustar cada configuración, consulte los Ajustes de configuración
en la documentación de PostgreSQL. -
max_replication_slots
-
max_wal_senders
-
max_logical_replication_workers
-
max_worker_processes
Tras habilitar la replicación lógica y configurar todas las opciones de configuración, reinicie la instancia de base de datos para que los cambios entren en vigor. Las implementaciones azul/verde requieren que la instancia de base de datos esté sincronizada con el grupo de parámetros de base de datos; de lo contrario, habrá un error en la creación. Para obtener más información, consulte Reinicio de una instancia de base de datos.
-
-
La instancia de base de datos debe ejecutar una versión de RDS para PostgreSQL que sea compatible con las implementaciones azul/verde de RDS. Para obtener una tabla de versiones compatibles, consulte Regiones y motores de base de datos admitidos para implementaciones azul/verde de Amazon RDS.
-
Confirme que la instancia de base de datos no sea el origen ni el destino de la replicación externa. Para obtener más información, consulte Limitaciones generales de las implementaciones azul/verde.
-
Asegúrese de que todas las tablas de la instancia de base de datos tengan una clave principal. La replicación lógica de PostgreSQL no permite llevar a cabo operaciones
UPDATE
oDELETE
en tablas que no tengan una clave principal. -
Si se utilizan desencadenadores, asegúrese de que no interfieran con la creación, actualización y eliminación de objetos
pg_catalog.pg_publication
,pg_catalog.pg_subscription
ypg_catalog.pg_replication_slots
objetos cuyos nombres comiencen por “rds”. -
Revise el rendimiento de sus declaraciones UPDATE y DELETE y evalúe si la creación de un índice en la columna utilizada en la cláusula WHERE puede optimizar estas consultas. Esto puede mejorar el rendimiento cuando las operaciones se reproducen en un entorno verde.
-
En RDS para PostgreSQL se utiliza la replicación lógica nativa de PostgreSQL, que almacena segmentos de registros de escritura anticipada (WAL) en la instancia azul hasta que se reproducen en el entorno verde. Antes de iniciar una implementación azul/verde, compruebe que la instancia azul tiene la capacidad adecuada comprobando las siguientes métricas:
-
FreeStorageSpace
-
TransactionLogsGeneration
-
TransactionLogsDiskUsage
-
OldestReplicationSlotLag
Para calcular el almacenamiento adicional necesario en la instancia azul, supervise la métrica de CloudWatch
TransactionLogGeneration
durante los períodos de máxima carga de trabajo. Por ejemplo, si su carga de trabajo genera 100 GB de datos de WAL en 24 horas, asegúrese de disponer de al menos 100 GB de almacenamiento adicional para alojar segmentos de WAL de un día. Para obtener más información, consulte Supervisión de métricas en una instancia de Amazon RDS. -
Especificación de cambios al crear una implementación azul/verde
Puede realizar los siguientes cambios en la instancia de base de datos en el entorno verde al crear la implementación azul/verde:
Puede realizar otras modificaciones en la instancia en el entorno verde después de su implementación. Por ejemplo, puede realizar cambios de esquema en la base de datos o cambiar la clase de instancia de base de datos que utilizan una o más instancias de base de datos en el entorno verde.
Para obtener más información sobre la modificación de una instancia de base de datos, consulte Modificación de una instancia de base de datos de Amazon RDS.
Especifique una versión de motor superior
Puede especificar una versión superior del motor si desea probar una actualización del motor de base de datos. Tras la transición, la base de datos se actualiza a la versión principal o secundaria del motor de base de datos que especifique.
Especifique un grupo de parámetros de base de datos diferente
Puede comprobar cómo los cambios de parámetros afectan a las instancias de base de datos en el entorno verde o especificar un grupo de parámetros para una nueva versión principal del motor de base de datos en caso de una actualización.
Si especifica un grupo de parámetros de base de datos diferente, el grupo de parámetros de base de datos especificado se asocia a todas las instancias de base de datos del entorno verde. Si no especifica un grupo de parámetros diferente, cada instancia de base de datos del entorno verde se asocia al grupo de parámetros de su instancia de base de datos azul correspondiente.
Habilite las escrituras optimizadas de RDS
Puede utilizar las implementaciones azul/verde para actualizar a una instancia de base de datos que sea compatible con las escrituras optimizadas de RDS. Solo puede habilitar las escrituras optimizadas de RDS en una base de datos que se haya creado con una clase de instancia de base de datos compatible. Por lo tanto, esta opción crea una base de datos verde que utiliza una clase de instancia de base de datos compatible, lo que le permite activar las escrituras optimizadas de RDS en la instancia de base de datos verde.
Si va a actualizar una clase de instancia de base de datos que no admite las escrituras optimizadas de RDS a una que sí lo hace, también debe actualizar la configuración de almacenamiento de la instancia de base de datos verde. Para obtener más información, consulte Actualización de la configuración de almacenamiento.
Solo puede actualizar la clase de instancia de base de datos de la instancia de base de datos verde principal. De forma predeterminada, las réplicas de lectura del entorno verde heredan la configuración de la instancia de base de datos del entorno azul. Una vez que el entorno verde se haya creado correctamente, debe modificar manualmente la clase de instancia de base de datos de las réplicas de lectura en el entorno verde.
Algunas actualizaciones de clases de instancia no se admiten según la versión del motor y la clase de instancia de la instancia de base de datos azul. Para obtener más información sobre las clases de instancias de bases de datos, consulte Clases de instancia de base de datos de .
Actualización de la configuración de almacenamiento
Si la base de datos azul no tiene la configuración de almacenamiento más reciente, RDS puede migrar la instancia de base de datos verde desde la configuración de almacenamiento anterior (sistema de archivos de 32 bits) hacia la configuración preferida. Puede utilizar las implementaciones azul/verde de RDS para superar las limitaciones de escalado de almacenamiento y tamaño de archivos de los sistemas de archivos de 32 bits más antiguos. Además, esta configuración cambia la configuración del almacenamiento para que sea compatible con las escrituras optimizadas de RDS si la clase de instancia de base de datos especificada admite las escrituras optimizadas.
nota
La actualización de la configuración de almacenamiento es una operación que requiere un uso intensivo de E/S y prolonga los tiempos de creación en las implementaciones azul/verde. El proceso de actualización del almacenamiento es más rápido si la instancia de base de datos azul utiliza un almacenamiento SSD (io1) de IOPS aprovisionado y si se ha aprovisionado el entorno verde con un tamaño de instancia 4xlarge o superior. Las actualizaciones de almacenamiento que implican el almacenamiento de SSD de uso general (gp2) pueden agotar el saldo de créditos de E/S, lo que puede generar retrasos en la actualización. Para obtener más información, consulte Almacenamiento de instancias de base de datos de Amazon RDS.
Durante la actualización del almacenamiento, la instancia de base de datos verde no está disponible temporalmente, mientras que la instancia de base de datos azul permanece disponible. Durante este intervalo se detiene la replicación. Supervise el almacenamiento de la instancia azul y considere la posibilidad de escalarlo si el almacenamiento alcanza el 90 %, ya que la instancia verde se escala automáticamente un 10 % después de la actualización.
Esta opción solo está disponible si su base de datos azul no tiene la configuración de almacenamiento más reciente o si va a cambiar la clase de instancia de base de datos en la misma solicitud. Solo puede actualizar la configuración de almacenamiento al crear inicialmente una implementación azul/verde.
Gestión de la carga diferida al crear una implementación azul/verde
Al crear una implementación azul/verde, Amazon RDS crea la instancia de base de datos principal en el entorno verde mediante una restauración a partir de una instantánea de base de datos. Una vez creada, la instancia de base de datos verde continúa cargando datos en segundo plano, lo que se conoce como carga diferida. Si la instancia de base de datos tiene réplicas de lectura, estas también se crean a partir de instantáneas de base de datos y están sujetas a la carga diferida.
Si accede a datos que aún no se han cargado, la instancia de base de datos descarga inmediatamente los datos solicitados de Amazon S3 y, luego, continúa cargando el resto de los datos en segundo plano. Para obtener más información, consulte Instantáneas de Amazon EBS.
Para ayudar a mitigar los efectos de la carga diferida en tablas a las que requiere acceso rápido, puede realizar operaciones que implican análisis de tablas completas, como SELECT
*
. Esta operación permite a Amazon RDS descargar todos los datos de la tabla respaldados desde S3.
Si una aplicación intenta acceder a los datos que no están cargados, puede encontrar una latencia más alta de lo normal mientras se cargan los datos. Esta latencia más alta debido a la carga diferida podría provocar un rendimiento deficiente para las cargas de trabajo sensibles a la latencia.
importante
Si conmuta una implementación azul/verde antes de que se complete la carga de los datos, la aplicación podría experimentar problemas de rendimiento debido a la alta latencia.
Creación de una implementación azul/verde
Puede crear una implementación azul/verde mediante la AWS Management Console, la AWS CLI o la API de RDS.
Para crear una implementación azul/verde
Inicie sesión en la AWS Management Console y abra la consola de Amazon RDS en https://console.aws.amazon.com/rds/
. -
En el panel de navegación, elija Databases (Bases de datos) y, a continuación, seleccione la instancia de base de datos que desea copiar a un entorno verde.
-
Seleccione Acciones y Crear implementación azul/verde.
Si elige una instancia de base de datos de RDS para PostgreSQL, revise y acepte las limitaciones de la replicación lógica. Para obtener más información, consulte Limitaciones de la replicación lógica de PostgreSQL para las implementaciones azul/verde.
Aparece la página Create Blue/Green Deployment (Crear implementación azul/verde).
-
Revise los identificadores de la base de datos azul. Asegúrese de que coincidan con las instancias de base de datos esperadas en el entorno azul. Si no es así, seleccione Cancel (Cancelar).
-
En Blue/Green Deployment identifier (Identificador de implementación azul/verde), introduzca un nombre para su implementación azul/verde.
-
En el resto de secciones, especifique los ajustes de configuración del entorno verde. Para obtener más información acerca de cada configuración, consulte Configuración para la creación de implementaciones azul/verde.
Puede realizar otras modificaciones en las bases de datos en el entorno verde después de su implementación.
-
Elija Crear entorno de ensayo.
Para crear una implementación azul/verde mediante la AWS CLI, utilice el comando create-blue-green-deployment. Para obtener más información acerca de cada opción, consulte Configuración para la creación de implementaciones azul/verde.
Para Linux, macOS o:Unix
aws rds create-blue-green-deployment \ --blue-green-deployment-name
my-blue-green-deployment
\ --source arn:aws:rds:us-east-2
:123456789012
:db:mydb1
\ --target-engine-version8.0.31
\ --target-db-parameter-group-namemydbparametergroup
En:Windows
aws rds create-blue-green-deployment ^ --blue-green-deployment-name
my-blue-green-deployment
^ --source arn:aws:rds:us-east-2
:123456789012
:db:mydb1
^ --target-engine-version8.0.31
^ --target-db-parameter-group-namemydbparametergroup
Para crear una implementación azul/verde mediante la API de Amazon RDS, utilice la operación CreateBlueGreenDeployment
. Para obtener más información acerca de cada opción, consulte Configuración para la creación de implementaciones azul/verde.
Configuración para la creación de implementaciones azul/verde
En la siguiente tabla se explican los ajustes que puede elegir al crear una implementación azul/verde. Para obtener más información sobre las opciones de la AWS CLI, consulte create-blue-green-deployment. Para obtener más información sobre los parámetros de la API de RDS, consulte CreateBlueGreenDeployment.
Configuración de la consola | Descripción de la configuración | Opción de la CLI y parámetro de la API de RDS |
---|---|---|
Identificador de implementación azul/verde |
Un nombre de la implementación azul/verde. |
Opción de la CLI:
Parámetro de la API:
|
Identificador de base de datos azul |
El identificador de la instancia que desea copiar al entorno verde. Cuando utilice la CLI o la API, especifique la instancia del nombre de recurso de Amazon (ARN). |
Opción de la CLI:
Parámetro de la API:
|
Grupo de parámetros de base de datos para bases de datos verdes | Un grupo de parámetros para asociarlo a las bases de datos en el entorno verde. |
Opción de la CLI:
Parámetro de la API:
|
Habilite las escrituras optimizadas para una base de datos verde |
Habilite las escrituras optimizadas de RDS en la instancia de base de datos principal verde. Para obtener más información, consulte Habilite las escrituras optimizadas de RDS. Si va a cambiar una clase de instancia de base de datos no compatible con las escrituras optimizadas por una que sí lo sea, también debe actualizar la configuración de almacenamiento. Para obtener más información, consulte Actualización de la configuración de almacenamiento. |
Para la CLI y la API, si se especifica una clase de instancia de base de datos de destino que admita las escrituras optimizadas de RDS, se habilita automáticamente en la instancia de base de datos principal verde. |
Versión de motor para bases de datos verdes |
Actualice las bases de datos del entorno verde a la versión del motor de base de datos especificada. Si no se especifica, cada base de datos del entorno verde se crea con la misma versión de motor que la instancia de base de datos correspondiente en el entorno azul. |
Opción de la CLI:
Parámetro de la API de RDS:
|
Clase de instancia de base de datos verde |
La capacidad de memoria y de computación de cada instancia de base de datos en el entorno verde, por ejemplo, Esta opción solo está visible cuando se habilita la escritura optimizada de RDS para la base de datos verde. |
Opción de la CLI:
Parámetro de la API de RDS:
|
Actualización de la configuración del almacenamiento |
Seleccione si desea actualizar la configuración del sistema de archivos de almacenamiento. Si habilita este ajuste, RDS migra la base de datos verde desde el sistema de archivos de almacenamiento anterior a la configuración preferida. Esta opción solo está disponible si su base de datos azul no tiene la configuración de almacenamiento más reciente o si va a habilitar las escrituras optimizadas de RDS en la misma solicitud. Solo puede actualizar la configuración de almacenamiento al crear inicialmente una implementación azul/verde. Para obtener más información, consulte Actualización del sistema de archivos de almacenamiento para una instancia de base de datos. |
Opción de la CLI:
Parámetro de la API de RDS:
|