Creación de una implementación azul/verde en Amazon RDS - Amazon Relational Database Service

Creación de una implementación azul/verde en Amazon RDS

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 y las características del entorno azul en un área de almacenamiento. Cuando la instancia de base de datos azul tiene réplicas de lectura, estas se copian como réplicas de la instancia verde. El almacenamiento asignado de todas las réplicas verdes coincide con la instancia principal verde, mientras que otros parámetros de almacenamiento se heredan de las réplicas azules.

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.

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.

Preparación de una instancia de base de datos de RDS para MySQL o RDS para MariaDB 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 o RDS para MariaDB, 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 con replicación física

Antes de crear una implementación azul/verde de RDS para PostgreSQL que utiliza una replicación física, haga lo siguiente. Para obtener una lista de las versiones que utilizan la replicación física en lugar de la replicación lógica, consulte Métodos de replicación de PostgreSQL para las implementaciones azul/verde.

Preparación de una instancia de base de datos de RDS para PostgreSQL para una implementación azul/verde con replicación lógica

Antes de crear una implementación azul/verde para RDS para PostgreSQL que utiliza una replicación lógica, haga lo siguiente. Para obtener una lista de las versiones que utilizan la replicación lógica en lugar de la replicación física, consulte Métodos de replicación de PostgreSQL para las implementaciones azul/verde.

  • 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.

  • 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 o DELETE en tablas que no tengan una clave principal.

  • 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 crear una implementación azul/verde, compruebe que la instancia azul tenga 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 TransactionLogsGeneration 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 especificar una versión superior del motor o un grupo de parámetros diferente.

Para obtener más información acerca de la modificación de una instancia de base de datos, consulte Modificación de una instancia de base de datos de Amazon RDS.

Especificación de 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.

Especificación de 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.

Modificación de la configuración de almacenamiento y rendimiento

Ajuste la configuración de almacenamiento y rendimiento en un entorno verde para optimizar la asignación de recursos. Estas configuraciones incluyen el almacenamiento asignado, las IOPS aprovisionadas, el tipo de almacenamiento y el rendimiento del almacenamiento (para el almacenamiento gp3).

Puede cambiar el tipo de almacenamiento de la instancia de base de datos verde a gp2, gp3, io1 o io2. En el caso del almacenamiento gp3, también puede ajustar el rendimiento del almacenamiento para mejorar el rendimiento de la transferencia de datos para cargas de trabajo de alta demanda o para reducir los costos de las aplicaciones menos intensivas. Para obtener más información, consulte Almacenamiento de instancias de base de datos de Amazon RDS.

También puede optar por aumentar o reducir el almacenamiento asignado al entorno verde. Sin embargo, la reducción del almacenamiento solo se produce si el almacenamiento asignado al destino es al menos un 20 % superior al uso de almacenamiento actual. Si reduce el almacenamiento asignado, Amazon RDS inicia una actualización de la configuración de almacenamiento. Para obtener más información, consulte Actualización de la configuración de almacenamiento.

Si la instancia de base de datos azul utiliza almacenamiento magnético, debe cambiar la instancia de base de datos verde por un tipo de almacenamiento de uso general o de IOPS aprovisionadas para aumentar o reducir el almacenamiento asignado.

Activación de las escrituras optimizadas de RDS

Puede utilizar una implementación azul/verde para actualizar a una clase de instancia de base de datos que admita 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 o io2 Block Express) de IOPS aprovisionadas y si 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.

Carga diferida e inicialización de almacenamiento para implementaciones 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 y sus réplicas de lectura siguen cargando datos en segundo plano, lo que se conoce como carga diferida.

La carga diferida solo carga los bloques de datos cuando las aplicaciones los solicitan. Si intenta acceder a datos que aún no se han cargado, Amazon EBS los recupera inmediatamente de Amazon S3, mientras que los datos restantes continúan cargándose en segundo plano. Para obtener más información, consulte Instantáneas de Amazon EBS.

Para acelerar el rendimiento de todo el volumen, Amazon RDS proporciona la inicialización del almacenamiento, que lee todos los bloques del volumen del entorno verde. Amazon EBS descarga bloques de Amazon S3 de forma proactiva, lo que proporciona el máximo rendimiento de volumen desde el primer uso. La inicialización del almacenamiento se produce completamente en segundo plano, lo que garantiza que no se vea afectada la disponibilidad de la instancia de base de datos ni las actividades en curso, como la aplicación de parches o las actualizaciones.

La inicialización del almacenamiento solo está disponible para instancias en implementaciones azul/verde con los tipos de volumen gp2, gp3, io1 y io2. Es compatible con todas las clases de instancia, excepto las de las familias t3 y t4. Si modifica una instancia de base de datos verde en una implementación Single-AZ por una implementación de instancia de base de datos Multi-AZ, la inicialización del almacenamiento incluye el nodo secundario en la configuración Multi-AZ.

Durante la inicialización del almacenamiento, la instancia permanece totalmente disponible y utilizable para las operaciones de la base de datos, aunque es posible que el almacenamiento no alcance el máximo rendimiento hasta que se complete la inicialización. Mientras se lleva a cabo la inicialización del almacenamiento, el estado general de la instancia cambia a Inicialización del almacenamiento y el indicador de progreso refleja el nivel mínimo de inicialización en todos los volúmenes de la instancia de base de datos.

Utilice la consola, la AWS CLI o la API de Amazon RDS para supervisar la inicialización del almacenamiento.

Console

En la AWS Management Console, verá el progreso de la inicialización del almacenamiento con el estado de la instancia de base de datos.

Indicador de progreso de inicialización del almacenamiento para una implementación azul/verde
AWS CLI

Con la AWS CLI, puede supervisar la inicialización del almacenamiento con el comando describe-db-instances. El campo PercentProgress de la respuesta muestra el porcentaje de datos que se ha recuperado de Amazon S3.

aws rds describe-db-instances --db-instance-identifier my-db-instance { "DBInstances": [ { "DBInstanceIdentifier": "my-db-instance", "DBInstanceClass": "db.m5.2xlarge", "Engine": "postgres", "DBInstanceStatus": "storage-initialization", ... "PercentProgress": "34" } ] }
Amazon RDS API

Con la API de Amazon RDS, puede recuperar el estado de la inicialización del almacenamiento llamando a la acción DescribeDBInstances.

El indicador de progreso se actualiza a medida que avanza el trabajo de inicialización en segundo plano, lo que le permite realizar un seguimiento de la disponibilidad del almacenamiento antes de que se complete la inicialización total del almacenamiento. La inicialización del almacenamiento permite optimizar el rendimiento a medida que la instancia de base de datos verde esté a pleno funcionamiento.

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
  1. Inicie sesión en la AWS Management Console y abra la consola de Amazon RDS en https://console.aws.amazon.com/rds/.

  2. 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.

  3. Elija Acciones y Crear implementación azul/verde.

    Aparece la página Crear implementación azul/verde.

    Crear una implementación azul/verde
  4. 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).

  5. En Nombre de implementación azul/verde, ingrese un nombre para la implementación azul/verde.

  6. 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.

  7. Seleccione Crear.

Para crear una implementación azul/verde mediante la AWS CLI, utilice el comando create-blue-green-deployment. Para obtener información sobre todas las opciones disponibles, 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-version 8.0.31 \ --target-db-parameter-group-name mydbparametergroup

Para 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-version 8.0.31 ^ --target-db-parameter-group-name mydbparametergroup

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

Allocated storage (Almacenamiento asignado)

Es la cantidad de almacenamiento que debe asignar a la instancia de base de datos verde (en gibibytes). Puede optar por aumentar o reducir el almacenamiento asignado.

Si la instancia de base de datos azul utiliza almacenamiento magnético (standard), debe cambiar la instancia de base de datos verde por un tipo de almacenamiento de uso general o de IOPS aprovisionadas para modificar el almacenamiento asignado al entorno verde.

Para obtener más información, consulte Almacenamiento de instancias de base de datos de Amazon RDS.

Opción de la CLI:

--target-allocated-storage

Parámetro de la API:

TargetAllocatedStorage

Identificador de implementación azul/verde

Un nombre de la implementación azul/verde.

Opción de la CLI:

--blue-green-deployment-name

Parámetro de la API:

BlueGreenDeploymentName

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:

--source

Parámetro de la API:

Source

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:

--target-db-parameter-group-name

--target-db-cluster-parameter-group-name

Parámetro de la API:

TargetDBParameterGroupName

TargetDBClusterParameterGroupName

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 Activación de 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.

Si elige una instancia de base de datos de RDS para PostgreSQL que utiliza la replicación lógica, revise y acepte las limitaciones de la replicación lógica. Para obtener más información, consulte Limitaciones específicas de la replicación lógica para las implementaciones azul/verde.

Opción de la CLI:

--target-engine-version

Parámetro de la API de RDS:

TargetEngineVersion

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, db.m5d.xlarge.

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:

--target-db-instance-class

Parámetro de la API de RDS:

TargetDBInstanceClass

Provisioned IOPS (IOPS aprovisionadas)

Es la cantidad de operaciones de entrada/salida por segundo (IOPS) aprovisionadas asignada inicialmente a la base de datos verde.

Este valor solo se aplica a la instancia de base de datos principal verde, no a las réplicas verdes.

Opción de la CLI:

--target-iops

Parámetro de la API de RDS:

TargetIops

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:

--upgrade-target-storage-config

Parámetro de la API de RDS:

UpgradeTargetStorageConfig

Rendimiento de almacenamiento

Es el valor de rendimiento de almacenamiento de la base de datos verde. Esta configuración solo es visible si selecciona SSD de uso general (gp3) como tipo de almacenamiento.

Este valor solo se aplica a la instancia de base de datos principal verde, no a las réplicas verdes.

Para obtener más información, consulte Almacenamiento gp3 (recomendado).

Opción de la CLI:

--target-storage-throughput

Parámetro de la API de RDS:

TargetStorageThroughput

Storage type (Tipo de almacenamiento)

Es el tipo de almacenamiento de la base de datos verde. Se admiten los siguientes tipos de almacenamiento:

  • SSD de uso general (gp2)

  • SSD de uso general (gp3)

  • IOPS aprovisionadas (io1)

  • SSD de IOPS aprovisionadas (io2)

Este valor solo se aplica a la instancia de base de datos principal verde, no a las réplicas verdes.

Para obtener más información, consulte Tipos de almacenamiento de Amazon RDS.

Opción de la CLI:

--target-storage-type

Parámetro de la API de RDS:

TargetStorageType