Amazon RDS - MariaDB Funktionen

MariaDB ist eine beliebte relationale Open Source-Datenbank, die in den Amazon RDS-Diensten mit ihren Community Edition-Funktionen verfügbar ist. Fast alle Funktionen von MariaDB können in der RDS-Plattform genutzt werden. Im Folgenden finden Sie eine kurze Beschreibung der wichtigsten Funktionen von MariaDB in der RDS-Plattform.

Die Versionen 10.0, 10.1.10.2 sind die Hauptversionen, die von der RDS-Plattform unterstützt werden. Wenn während der DB-Erstellung keine Version erwähnt wird, wird standardmäßig die aktuellste Version zu diesem Zeitpunkt verwendet. Im Folgenden finden Sie ein Beispiel für das Abrufen aller unterstützten DB Engine-Versionen mithilfe der AWS-API in einem Python SDK-Programm.

import boto3

client = boto3.client('rds')

response = client.describe_db_engine_versions(
    DBParameterGroupFamily='',
    DefaultOnly=True,
    Engine='mariadb',
    EngineVersion='',
    ListSupportedCharacterSets=False, #True,
)

print(response)

Wenn wir das obige Programm ausführen, erhalten wir die folgende Ausgabe:

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

Die Sicherheit für RDS MariaDB wird auf drei Ebenen verwaltet.

Verwenden von IAM

Bei diesem Ansatz sollte der IAM-Benutzer über geeignete Richtlinien und Berechtigungen verfügen. Die Erteilung solcher Berechtigungen wird vom Kontoinhaber oder dem Superuser entschieden, der diese Berechtigungen erteilt.

Verwenden von VPC

Sie verwenden entweder eine VPC-Sicherheitsgruppe oder eine DB-Sicherheitsgruppe, um zu entscheiden, welche EC2-Instanzen Verbindungen zum Endpunkt und Port einer DB-Instanz öffnen können. Diese Verbindungen können auch über SSL hergestellt werden.

Verwenden der IAM-Datenbankauthentifizierung

Bei diesem Ansatz verwenden Sie eine IAM-Rolle und ein Authentifizierungstoken. Das Authentifizierungstoken generiert einen eindeutigen Wert, der für die IAM-Rolle relevant ist, die im Zugriffsprozess verwendet wird. Hier werden die gleichen Anmeldeinformationen für die Datenbank sowie für andere aws-Ressourcen wie EC2 und S3 usw. verwendet.

Die Cache-Erwärmung kann zu Leistungssteigerungen für Ihre MariaDB-DB-Instanz führen, indem der aktuelle Status des Pufferpools beim Herunterfahren der DB-Instanz gespeichert und der Pufferpool beim Starten der DB-Instanz aus den gespeicherten Informationen neu geladen wird. Dieser Ansatz umgeht die Notwendigkeit, dass sich der Pufferpool von der normalen Datenbanknutzung "aufwärmt", und lädt stattdessen den Pufferpool mit den Seiten für bekannte allgemeine Abfragen vor.

Die Cache-Erwärmung bietet in erster Linie einen Leistungsvorteil für DB-Instanzen, die Standardspeicher verwenden.

Sie können ein Ereignis erstellen, um den Pufferpool automatisch und in regelmäßigen Abständen zu sichern. Die folgende Anweisung erstellt beispielsweise ein Ereignis mit dem Namen periodic_buffer_pool_dump, das den Pufferpool stündlich ausgibt.

CREATE EVENT periodic_buffer_pool_dump 
   ON SCHEDULE EVERY 1 HOUR 
   DO CALL mysql.rds_innodb_buffer_pool_dump_now();