Amazon RDS - Funciones de MariaDB
MariaDB es una popular base de datos relacional de código abierto que está disponible en los servicios de Amazon RDS con sus características de edición comunitaria. Casi todas las funciones de MariaDB se pueden aprovechar en la plataforma RDS. A continuación se muestra una breve descripción de las principales funciones de MariaDB en la plataforma RDS.
Las versiones 10.0, 10.1,10.2 son las versiones principales admitidas en la plataforma RDS. 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='',
DefaultOnly=True,
Engine='mariadb',
EngineVersion='',
ListSupportedCharacterSets=False, #True,
)
print(response)
Cuando ejecutamos el programa anterior, obtenemos el siguiente resultado:
{
"ResponseMetadata": {
"RetryAttempts": 0,
"HTTPStatusCode": 200,
"RequestId": "16179fbd-9d07-425b-9b86-cc61359ce7b4",
"HTTPHeaders": {
"x-amzn-requestid": "16179fbd-9d07-425b-9b86-cc61359ce7b4",
"date": "Fri, 14 Sep 2018 06:45:52 GMT",
"content-length": "1658",
"content-type": "text/xml"
}
},
"u'DBEngineVersions'": [
{
"u'Engine'": "mariadb",
"u'DBParameterGroupFamily'": "mariadb10.2",
"u'SupportsLogExportsToCloudwatchLogs'": true,
"u'SupportsReadReplica'": true,
"u'DBEngineDescription'": "MariaDb Community Edition",
"u'EngineVersion'": "10.2.12",
"u'DBEngineVersionDescription'": "mariadb 10.2.12",
"u'ExportableLogTypes'": [
"audit",
"error",
"general",
"slowquery"
],
"u'ValidUpgradeTarget'": [
{
"u'Engine'": "mariadb",
"u'IsMajorVersionUpgrade'": false,
"u'AutoUpgrade'": false,
"u'Description'": "MariaDB 10.2.15",
"u'EngineVersion'": "10.2.15"
}
]
}
]
}
La seguridad de RDS MariaDB 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.
El calentamiento de caché puede proporcionar ganancias de rendimiento para su instancia de base de datos MariaDB al guardar el estado actual del grupo de búfer cuando se cierra la instancia de base de datos y luego volver a cargar el grupo de búfer a partir de la información guardada cuando se inicia la instancia de base de datos. Este enfoque evita la necesidad de que el grupo de búfer se "caliente" del uso normal de la base de datos y, en su lugar, carga previamente el grupo de búfer con las páginas para consultas comunes conocidas.
El calentamiento de la caché proporciona principalmente un beneficio de rendimiento para las instancias de base de datos que utilizan almacenamiento estándar.
Puede crear un evento para volcar el grupo de búferes automáticamente y a intervalos regulares. Por ejemplo, la siguiente declaración crea un evento llamado periodic_buffer_pool_dump que vuelca el grupo de búferes cada hora.
CREATE EVENT periodic_buffer_pool_dump
ON SCHEDULE EVERY 1 HOUR
DO CALL mysql.rds_innodb_buffer_pool_dump_now();