Amazon RDS: funciones de MySQL

MySQL es una base de datos relacional popular que está disponible en amazon RDS junto con características de Community Edition. Casi todas las funciones de MYSQL se pueden usar en la plataforma RDS, con algunas restricciones basadas en regiones y zonas de disponibilidad. A continuación se muestra una breve descripción de las principales funciones de MYSQL en la plataforma RDS.

Versiones compatibles

Las versiones 5.5, 5.6 y 5.7 son las versiones principales admitidas por la plataforma RDS. Con la 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 el SDK de Python.

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 el resultado como se muestra a continuación:

{
   "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"
            }
         ]
      }
   ]
}

Actualización de versión

Aquí, el número de versión de MySQL se admite como MYSQL ABC. En esta notación, AB indica una versión principal y C indica una versión secundaria. El enfoque de actualización es diferente cuando se actualiza una versión secundaria y una versión principal.

Actualización de versión menor

Las instancias de base de datos se actualizan automáticamente a versiones menores más recientes cuando son compatibles con Amazon RDS. Esta corrección se produce durante la ventana de mantenimiento del programa, que puede controlar. También puede actualizar manualmente a versiones más nuevas si prefiere desactivar las actualizaciones automáticas.

Actualización de la versión principal

Las actualizaciones de versiones principales no están disponibles como actualizaciones automáticas. El usuario de la cuenta debe hacer esto manualmente modificando la instancia de base de datos. El siguiente diagrama de flujo muestra los pasos para actualizar a una versión principal. Este enfoque garantiza que el proceso de actualización se pruebe a fondo antes de que se aplique a una base de datos de producción en vivo.

    mysqldbupgrade.JPG

Seguridad de la base de datos

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

Usando IAM

Con este enfoque, el usuario de IAM debe tener las políticas y los permisos adecuados. La decisión de otorgar estos permisos queda a discreción del propietario de la cuenta o del superusuario que otorga los 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 la 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, utiliza una función de IAM y un token de autenticación. El token de autenticación genera un valor único correspondiente al 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, S3, etc.

🚫