AWS RDS: Verbindung zu Datenbanken testen

    Verbindung zu einer Datenbank auf AWS RDS testenWenn man erfolg­reich eine neue DB-Instanz auf Basis des AWS Relational Database Service (RDS) er­stellt hat, möchte man wahr­schein­lich testen, ob die Daten­bank für Anwen­dungen von außen er­reich­bar ist. Ver­läuft dieser Test posi­tiv, dann kann der Nutzer sein Daten­modell ent­wickeln 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 unter­scheiden sich aber nicht von denen einer physisch bereit­gestellten Datenbank.

    Insofern unter­liegen Design, Implemen­tation und Pflege des Daten­modells der Kontrolle und Verantwort­lichkeit des Kunden. Darin unter­scheidet 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 Verbindungs­test kann man beispiels­weise MySQL unter Amazon Linux auf einer anderen EC2-Instanz oder unter einem beliebigen Linux-System installieren und dann den MySQL-Client für einen Verbindungs­aufbau 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 bereit­stellen.

    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-Bereit­stellungs­assistent eine explizite DB-Sicherheits­gruppe 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.

    Neue Regel für Port 3306 hinzufügen, um die Verbindung durch den MySQL-Client zu erlauben.

    Sie lässt als Quelle das Subnetz zu, in dem sich der Server befindet, welcher als MySQL-Client dient. Idealer­weise wäre auch dies ein privates Subnetz oder ein via VPN ange­bundenes Firmen­netz.

    Verbindung aufbauen

    Als erste Maßnahme notiert man sich im RDS-Dashboard bei markierter RDS-Instanz den URL für den Datenbank-Endpunkt.

    Endpoint-URL für den Verbindungstest ermitteln

    Anschließend verbindet man sich mit einer Linux-Maschine, welche die RDS-DB-Instanz netzwerk­technisch 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 Datenbank­endpunkt sowie unter Verwendung des konfi­gurierten Datenbank-Master-Users nebst Passwort wie folgt verbinden:

    mysql –u root –p <DB-Name> -h <DB-Hostname=Endpunkt-Name>

    Verbindung mit Hilfe des MySQL-Clients von einem anderen Server aus aufbauen

    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.

    Zusätzliche Informationen zur Datenbank abfragen über den status-Befehl

    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.

    Keine Kommentare