Wenn man erfolgreich eine neue DB-Instanz auf Basis des AWS Relational Database Service (RDS) erstellt hat, möchte man wahrscheinlich testen, ob die Datenbank für Anwendungen von außen erreichbar ist. Verläuft dieser Test positiv, dann kann der Nutzer sein Datenmodell entwickeln und die benötigten Tabellen erstellen.
RDS ist zwar ein skalierbarer und hoch verfügbarer Cloud-Service, die DB-Instanzen selbst und die darin verwendeten Datenbank-Engines unterscheiden sich aber nicht von denen einer physisch bereitgestellten Datenbank.
Insofern unterliegen Design, Implementation und Pflege des Datenmodells der Kontrolle und Verantwortlichkeit des Kunden. Darin unterscheidet sich RDS etwa von Amazon DynamoDB, einem voll verwalteten NoSQL-Datenbank-Service in der Cloud, bei dem der Kunde unmittelbar mit dem Anlegen von Tabellen startet.
Test der Verbindung
Für einen Verbindungstest kann man beispielsweise MySQL unter Amazon Linux auf einer anderen EC2-Instanz oder unter einem beliebigen Linux-System installieren und dann den MySQL-Client für einen Verbindungsaufbau verwenden.
Der Server könnte auch eine Management-Lösung wie PHPMyAdmin auf Basis des Apache-Webservers ausführen oder, sofern er über eine GUI verfügt, die MySQL-Workbench bereitstellen.
Entscheidend ist nur, dass die DB-Instanz aufgrund der verwendeten Routing-Tabellen und Security-Groups erreichbar ist und zur Virtual Private Cloud (VPC) gehört, was seit Einführung der VPC im Jahr 2008 Standard ist.
Regel für eingehende Verbindungen erstellen
In unserem Beispiel hat der RDS-Bereitstellungsassistent eine explizite DB-Sicherheitsgruppe generiert, die nur eingehende Verbindungen auf Port 3306 der DB-Instanz selbst akzeptiert. Diese erweitern wir nun um eine weitere Regel für Port 3306.
Sie lässt als Quelle das Subnetz zu, in dem sich der Server befindet, welcher als MySQL-Client dient. Idealerweise wäre auch dies ein privates Subnetz oder ein via VPN angebundenes Firmennetz.
Verbindung aufbauen
Als erste Maßnahme notiert man sich im RDS-Dashboard bei markierter RDS-Instanz den URL für den Datenbank-Endpunkt.
Anschließend verbindet man sich mit einer Linux-Maschine, welche die RDS-DB-Instanz netzwerktechnisch erreichen kann bzw. darf (Security Group) und installiert auf dieser, soweit noch nicht geschehen, MySQL mittels Yum (im Falle von Amazon Linux).
Ist das erfolgt, dann kann man sich mit Hilfe des zuvor notierten Namens für den Datenbankendpunkt sowie unter Verwendung des konfigurierten Datenbank-Master-Users nebst Passwort wie folgt verbinden:
mysql –u root –p <DB-Name> -h <DB-Hostname=Endpunkt-Name>
Das Passwort wird dann interaktiv abgefragt, sofern man es nicht direkt im Aufruf mit übergeben hat.
Detailinformationen zum DB-Server abfragen
Danach kann man im DB-Kontext das Kommando
status;
absetzen, um mehr Informationen zum verbundenen DB-Server zu bekommen.
Alternativ lässt sich auf dem Komamndo-EC2-Server, der den CLI-Client ausführt, auch eine Management-Software wie PHPMyAdmin nutzen, um eine Verbindung zur RDS-Instanz zu konfigurieren.