Amazon RDS: funciones de MySQL

MySQL es una base de datos relacional popular que está disponible en los servicios de Amazon RDS con sus características de edición comunitaria. Casi todas las funciones de MYSQL se pueden aprovechar en la plataforma RDS con solo algunas restricciones basadas en regiones y zonas de disponibilidad. A continuación se muestra una breve descripción de las características principales de MYSQL en la plataforma RDS.

Las versiones 5.5, 5.6 y 5.7 son las versiones principales admitidas en la plataforma RDS. A excepción de 5.6.27, todas las versiones son compatibles en todas las regiones de AWS. Si no se menciona ninguna versión durante la creación de la base de datos, la versión predeterminada es la más reciente en ese momento. A continuación, se muestra un ejemplo de cómo obtener todas las versiones de DB Engine compatibles con la API de AWS en un programa de Python SDK.

import boto3

client = boto3.client('rds')

response = client.describe_db_engine_versions(
    DBParameterGroupFamily='mysql5.6',
    DefaultOnly=True,
    Engine='mysql',
    EngineVersion='5.6',
    ListSupportedCharacterSets=True,
)

print(response)

Cuando se ejecuta el código anterior, obtenemos un resultado como el siguiente:

{
   "ResponseMetadata": {},
   "DBEngineVersions'": [
      {
         "Engine'": "mysql",
         "DBParameterGroupFamily'": "mysql5.6",
         "SupportsLogExportsToCloudwatchLogs'": true,
         "SupportedCharacterSets'": [],
         "SupportsReadReplica'": true,
         "DBEngineDescription'": "MySQL Community Edition",
         "EngineVersion'": "5.6.40",
         "DBEngineVersionDescription'": "MySQL 5.6.40",
         "ExportableLogTypes'": [
            "audit",
            "error",
            "general",
            "slowquery"
         ],
         "ValidUpgradeTarget'": [
            {
               "Engine'": "mysql",
               "IsMajorVersionUpgrade'": true,
               "AutoUpgrade'": false,
               "Description'": "MySQL 5.7.22",
               "EngineVersion'": "5.7.22"
            }
         ]
      }
   ]
}

Allí, el número de versión de MySQL se mantiene como MYSQL ABC. En esta notación, AB indica la versión principal y C indica la versión secundaria. El enfoque de actualización es diferente entre actualizaciones de versiones menores y mayores.

Actualización de versión menor

Las instancias de base de datos se actualizan automáticamente a nuevas versiones menores siempre que sean compatibles con Amazon RDS. Este parche se produce durante una ventana de mantenimiento de programas que puede controlar. También puede actualizar manualmente a nuevas versiones si prefiere desactivar la actualización automática.

Actualización de la versión principal

Las actualizaciones de versiones principales no están disponibles como actualización automática. Debe hacerlo el usuario de la cuenta manualmente modificando la instancia de base de datos. El siguiente diagrama de flujo indica los pasos para lograr la actualización de la versión principal. Este enfoque garantiza que el proceso de actualización se pruebe a fondo antes de que se aplique en la base de datos de producción en vivo.

La seguridad para RDS MYSQL DB se gestiona en tres capas.

Usando IAM

En este enfoque, el usuario de IAM debe tener políticas y permisos adecuados. La concesión de dichos permisos la decide el titular de la cuenta o el superusuario que concede estos permisos.

Usando VPC

Puede utilizar un grupo de seguridad de VPC o un grupo de seguridad de base de datos para decidir qué instancias EC2 pueden abrir conexiones al punto final y al puerto de una instancia de base de datos. Estas conexiones también se pueden realizar mediante SSL.

Uso de la autenticación de la base de datos de IAM

En este enfoque, usa un rol de IAM y un token de autenticación. El token de autenticación genera un valor único que es relevante para el rol de IAM que se utiliza en el proceso de acceso. Aquí se utiliza el mismo conjunto de credenciales para la base de datos, así como para otros recursos de AWS, como EC2 y S3, etc.