

# Actualización de una versión del motor de una instancia de base de datos
<a name="USER_UpgradeDBInstance.Upgrading"></a>

Amazon RDS proporciona versiones posteriores de cada motor de base de datos compatible, por lo que puede mantener la instancia al día. Las nuevas versiones pueden incluir correcciones de errores, mejoras de seguridad y otras mejoras para el motor de base de datos. Cuando Amazon RDS es compatible con una nueva versión de un motor de base de datos, puede elegir cuándo y cómo actualizar sus instancias de base de datos.

Hay dos tipos de actualizaciones: actualizaciones de versiones principales y actualizaciones de versiones secundarias. En general, una *actualización de la versión principal del motor* puede introducir cambios incompatibles con las aplicaciones existentes. Por contraste, una *actualización de una versión secundaria* solo incluye cambios compatibles con las versiones anteriores de las aplicaciones.

En el caso de los clústeres de bases de datos Multi-AZ, las actualizaciones de la versión principal solo son compatibles con RDS para PostgreSQL. Las actualizaciones de versiones secundarias son compatibles con todos los motores que admiten clústeres de base de datos Multi-AZ. Para obtener más información, consulte [Actualización de la versión del motor de un clúster de base de datos multi-AZ para Amazon RDS](multi-az-db-clusters-upgrading.md).

La secuencia del número de versión es específica para cada motor de base de datos. Por ejemplo, RDS para MySQL 5.7 y 8.0 son versiones principales del motor y la actualización desde cualquier versión 5.7 hasta cualquier versión 8.0 es una actualización de versión principal. Las versiones de RDS para MySQL 5.7.22 y 5.7.23 son versiones secundarias y la actualización de 5.7.22 a 5.7.23 es una actualización de versiones secundarias.

**importante**  
No puede modificar una instancia de base de datos cuando está en proceso de actualización. Durante una actualización, el estado de la instancia de base de datos es `upgrading`.

Para obtener más información acerca de las actualizaciones de las versiones principales y secundarias de un motor de base de datos específico, consulte la documentación del motor de base de datos que se indica a continuación: 
+ [Actualizaciones del motor de base de datos de MariaDB](USER_UpgradeDBInstance.MariaDB.md)
+ [Actualizaciones del motor de base de datos de Microsoft SQL Server](USER_UpgradeDBInstance.SQLServer.md)
+ [Actualizaciones del motor de base de datos de RDS para MySQL](USER_UpgradeDBInstance.MySQL.md)
+ [Actualización del motor de base de datos de RDS para Oracle](USER_UpgradeDBInstance.Oracle.md)
+ [Actualizaciones del motor de base de datos de RDS para PostgreSQL](USER_UpgradeDBInstance.PostgreSQL.md)

Para las actualizaciones de versiones principales, debe modificar manualmente la versión del motor de base de datos mediante la Consola de administración de AWS, la AWS CLI o la API de RDS. En el caso de actualizaciones de versiones secundarias, puede modificar manualmente la versión del motor o elegir habilitar la opción **Actualización automática de versiones secundarias**.

**nota**  
Las actualizaciones del motor de base de datos requieren tiempo de inactividad Puede minimizar el tiempo de inactividad necesario para la actualización de la instancia de base de datos mediante una implementación azul/verde. Para obtener más información, consulte [Uso de las implementaciones azul/verde de Amazon RDS para actualizar las bases de datos](blue-green-deployments.md).

**Topics**
+ [Actualización manual de la versión del motor](#USER_UpgradeDBInstance.Upgrading.Manual)
+ [Actualización automática de la versión secundaria del motor](#USER_UpgradeDBInstance.Upgrading.AutoMinorVersionUpgrades)

## Actualización manual de la versión del motor
<a name="USER_UpgradeDBInstance.Upgrading.Manual"></a>

Para actualizar manualmente la versión del motor de una instancia de base de datos, puede utilizar la Consola de administración de AWS, la AWS CLI o la API de RDS.

### Consola
<a name="USER_UpgradeDBInstance.Upgrading.Manual.Console"></a>

**Para actualizar la versión del motor de una instancia de base de datos con la consola**

1. Inicie sesión en la Consola de administración de AWS y abra la consola de Amazon RDS en [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. En el panel de navegación, elija **Databases (Bases de datos)** y, a continuación, elija la instancia de base de datos que desea actualizar. 

1. Elija **Modify**. Aparece la página **Modify DB instance (Modificar instancia de base de datos)**.

1. Para **DB engine version**, elija la nueva versión.

1. Elija **Continue** y consulte el resumen de las modificaciones. 

1. Decida cuándo programar la actualización:
   + Para incluir los cambios en la cola de modificaciones pendientes, elija **Aplicar durante la próxima ventana de mantenimiento programada**. RDS aplica los cambios pendientes en la cola durante el siguiente periodo de mantenimiento.
   + Para aplicar los cambios inmediatamente, elija **Apply immediately**. Si se selecciona esta opción, puede producirse una interrupción en algunos casos. Para obtener más información, consulte [Uso de la configuración de la programación de modificaciones](USER_ModifyInstance.ApplyImmediately.md). 

1. En la página de confirmación, revise los cambios. Si son correctos, elija **Modify DB instance (Modificar instancia de base de datos)** para guardar los cambios. 

   O bien, elija **Back** para editar los cambios o **Cancel** para cancelarlos. 

### AWS CLI
<a name="USER_UpgradeDBInstance.Upgrading.Manual.CLI"></a>

Para actualizar la versión del motor de una instancia de base de datos, utilice el comando [modify-db-instance](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html) de la CLI. Especifique los siguientes parámetros: 
+ `--db-instance-identifier`: nombre de la instancia de base de datos. 
+ `--engine-version`: número de versión del motor de base de datos al que se va a actualizar. 

  Para obtener información sobre versiones de motores válidas, utilice el comando [ describe-db-engine-versions](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-engine-versions.html) de la AWS CLI.
+ `--allow-major-version-upgrade`: para actualizar la versión principal. 
+ `--no-apply-immediately`–: para aplicar los cambios en el siguiente periodo de mantenimiento. Para aplicar los cambios inmediatamente, use `--apply-immediately`. 

**Example**  
Para Linux, macOS o Unix:  

```
1. aws rds modify-db-instance \
2.     --db-instance-identifier mydbinstance \
3.     --engine-version new_version \
4.     --allow-major-version-upgrade \
5.     --no-apply-immediately
```
Para Windows:  

```
1. aws rds modify-db-instance ^
2.     --db-instance-identifier mydbinstance ^
3.     --engine-version new_version ^
4.     --allow-major-version-upgrade ^
5.     --no-apply-immediately
```

### API de RDS
<a name="USER_UpgradeDBInstance.Upgrading.Manual.API"></a>

Para actualizar la versión del motor de una instancia de base de datos, utilice la acción [ ModifyDBInstance](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBInstance.html). Especifique los siguientes parámetros: 
+ `DBInstanceIdentifier` – nombre de la instancia de base de datos, por ejemplo *`mydbinstance`*. 
+ `EngineVersion`: número de versión del motor de base de datos al que se va a actualizar. Para obtener información sobre versiones de motores válidas, utilice la operación [DescribeDBEngineVersions](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeDBEngineVersions.html).
+ `AllowMajorVersionUpgrade`: si se permite una actualización de versión principal. Para ello, defina el valor en `true`. 
+ `ApplyImmediately`: indica si se deben aplicar los cambios inmediatamente o en la siguiente ventana de mantenimiento. Para aplicar los cambios inmediatamente, establezca el valor en `true`. Para aplicar los cambios en el siguiente periodo de mantenimiento, establezca el valor en `false`. 

## Actualización automática de la versión secundaria del motor
<a name="USER_UpgradeDBInstance.Upgrading.AutoMinorVersionUpgrades"></a>

Las actualizaciones automáticas de las versiones secundarias actualizan periódicamente la base de datos a versiones recientes del motor de base de datos. Sin embargo, es posible que la actualización no siempre incluya la versión más reciente del motor de base de datos. Si necesita mantener las bases de datos en versiones específicas en momentos determinados, le recomendamos que las actualice manualmente a las versiones de base de datos que necesite según el calendario requerido. En caso de problemas de seguridad críticos o cuando una versión alcance su fecha de fin de soporte, Amazon RDS podría aplicar una actualización de la versión secundaria aunque no haya habilitado la opción **Actualización automática de la versión secundaria**. Para obtener más información, consulte la documentación de actualización para el motor de base de datos específico.
+ [Actualizaciones de versiones secundarias automáticas de RDS para PostgreSQL](USER_UpgradeDBInstance.PostgreSQL.Minor.md)
+ [Actualizaciones de versiones secundarias automáticas de RDS para MySQL](USER_UpgradeDBInstance.MySQL.Minor.md)
+ [Actualizaciones de versiones secundarias automáticas de RDS para MariaDB](USER_UpgradeDBInstance.MariaDB.Minor.md)
+ [Actualizaciones de la versión secundaria de Oracle](USER_UpgradeDBInstance.Oracle.Minor.md)
+ [Actualizaciones del motor de base de datos de Microsoft SQL Server](USER_UpgradeDBInstance.SQLServer.md)
+ [Versiones de Db2 en Amazon RDS](Db2.Concepts.VersionMgmt.md)

**Topics**
+ [Cómo funcionan las actualizaciones automáticas de versiones secundarias](#USER_UpgradeDBInstance.Upgrading.scheduled)
+ [Activar las actualizaciones automáticas de versiones secundarias](#USER_UpgradeDBInstance.Upgrading.turning-on-automatic)
+ [Determinación de la disponibilidad de las actualizaciones de mantenimiento](#USER_UpgradeDBInstance.Upgrading.availability)
+ [Búsqueda de destinos de las actualizaciones automáticas de versiones secundarias](#USER_UpgradeDBInstance.Upgrading.targets)

### Cómo funcionan las actualizaciones automáticas de versiones secundarias
<a name="USER_UpgradeDBInstance.Upgrading.scheduled"></a>

El *destino de actualización* es la versión del motor de base de datos a la que Amazon RDS actualiza la base de datos. Una versión de motor secundaria se designa como destino de actualización cuando se cumplen las siguientes condiciones:
+ La base de datos ejecuta una versión secundaria del motor de la base de datos menor que la versión de motor secundaria de destino. 

  Para encontrar la versión de motor actual de la instancia de base de datos, consulte la pestaña **Configuración** de la página de detalles de la base de datos o ejecute el comando de la CLI `describe-db-instances`.
+ La base de datos tiene habilitada la actualización automática de versiones secundarias.

RDS programa la actualización para que se realice automáticamente en el periodo de mantenimiento. Durante la actualización, RDS hace lo siguiente:

1. Ejecuta una comprobación previa del sistema para asegurarse de que la base de datos esté en buen estado y lista para actualizarse

1. Actualiza el motor de base de datos a la versión de motor secundaria destino

1. Realiza las comprobaciones posteriores

1. Marca la actualización de la base de datos como finalizada

Las actualizaciones automáticas provocan tiempos de inactividad. La duración del tiempo de inactividad depende de varios factores, como el tipo de motor de base de datos y el tamaño de la base de datos.

### Activar las actualizaciones automáticas de versiones secundarias
<a name="USER_UpgradeDBInstance.Upgrading.turning-on-automatic"></a>

Puede controlar si las actualizaciones automáticas de versiones secundarias están habilitadas para una instancia de base de datos al realizar las siguientes tareas:
+ [Creación de una instancia de base de datos](USER_CreateDBInstance.md)
+ [Modificación de una instancia de base de datos](Overview.DBInstance.Modifying.md)
+ [Creación de una réplica de lectura](USER_ReadRepl.Create.md)
+ [Restauración de una instancia de base de datos desde una instantánea](USER_RestoreFromSnapshot.md)
+ [Restauración de una instancia de base de datos a un momento especificado](USER_PIT.md)
+ [Importación de una instancia de base de datos desde Amazon S3](MySQL.Procedural.Importing.md) (para una copia de seguridad de MySQL en Amazon S3)

A realizar estas tareas, puede controlar si está habilitada la actualización automática de versiones secundarias para la instancia de la base de datos de las siguientes formas:
+ Con la consola, establezca la opción **Auto minor version upgrade (Actualización automática de versiones secundarias)**.
+ Con la AWS CLI, establezca la opción `--auto-minor-version-upgrade|--no-auto-minor-version-upgrade`.
+ Con la API de RDS, establezca el parámetro `AutoMinorVersionUpgrade`.

### Determinación de la disponibilidad de las actualizaciones de mantenimiento
<a name="USER_UpgradeDBInstance.Upgrading.availability"></a>

Para determinar si una actualización de mantenimiento, como una actualización de la versión del motor de base de datos, está disponible para su instancia de base de datos, puede utilizar la consola, la AWS CLI o la API de RDS. También puede actualizar manualmente la versión de la base de datos y ajustar el periodo de mantenimiento. Para obtener más información, consulte [Mantenimiento de una instancia de base de datos](USER_UpgradeDBInstance.Maintenance.md).

### Búsqueda de destinos de las actualizaciones automáticas de versiones secundarias
<a name="USER_UpgradeDBInstance.Upgrading.targets"></a>

Puede utilizar el siguiente comando de la AWS CLI para determinar la versión actual de destino de actualización secundaria automática para una versión secundaria del motor de base de datos especificada en una Región de AWS específica. Puede encontrar los valores de `--engine` posibles para este comando en la descripción del parámetro `Engine` en [CreateDBInstance](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html).

Para Linux, macOS o Unix:

```
aws rds describe-db-engine-versions \
--engine engine \
--engine-version minor-version \
--region region \
--query "DBEngineVersions[*].ValidUpgradeTarget[*].{AutoUpgrade:AutoUpgrade,EngineVersion:EngineVersion}" \
--output text
```

Para Windows:

```
aws rds describe-db-engine-versions ^
--engine engine ^
--engine-version minor-version ^
--region region ^
--query "DBEngineVersions[*].ValidUpgradeTarget[*].{AutoUpgrade:AutoUpgrade,EngineVersion:EngineVersion}" ^
--output text
```

Por ejemplo, el siguiente comando de la AWS CLI determina el destino de actualización secundaria automática para la versión secundaria 8.0.11 de MySQL en la región de AWS de Este de EE. UU. (Ohio) (us-east-2).

Para Linux, macOS o Unix:

```
aws rds describe-db-engine-versions \
--engine mysql \
--engine-version 8.0.11 \
--region us-east-2 \
--query "DBEngineVersions[*].ValidUpgradeTarget[*].{AutoUpgrade:AutoUpgrade,EngineVersion:EngineVersion}" \
--output table
```

Para Windows:

```
aws rds describe-db-engine-versions ^
--engine mysql ^
--engine-version 8.0.11 ^
--region us-east-2 ^
--query "DBEngineVersions[*].ValidUpgradeTarget[*].{AutoUpgrade:AutoUpgrade,EngineVersion:EngineVersion}" ^
--output table
```

Su resultado es similar al siguiente.

```
----------------------------------
|    DescribeDBEngineVersions    |
+--------------+-----------------+
|  AutoUpgrade |  EngineVersion  |
+--------------+-----------------+
|  False       |  8.0.15         |
|  False       |  8.0.16         |
|  False       |  8.0.17         |
|  False       |  8.0.19         |
|  False       |  8.0.20         |
|  False       |  8.0.21         |
|  True        |  8.0.23         |
|  False       |  8.0.25         |
+--------------+-----------------+
```

En este ejemplo, el valor `AutoUpgrade` es `True` para la versión 8.0.23 de MySQL. Por lo tanto, el destino de actualización secundaria automática es la versión 8.0.23 de MySQL, que está resaltado en el resultado.

**importante**  
Si planea migrar una instancia de base de datos de RDS for PostgreSQL a un clúster de base de datos de Aurora PostgreSQL pronto, se recomienda encarecidamente que desactive las actualizaciones automáticas de versiones secundarias para la instancia de base de datos al principio de la fase inicial durante la planificación. La migración a Aurora PostgreSQL podría retrasarse si la versión de RDS para PostgreSQL aún no es compatible con Aurora PostgreSQL. Para obtener información acerca de Aurora PostgreSQL las versiones, vea [ Versiones del motor para Amazon Aurora PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraPostgreSQL.Updates.20180305.html).