AWS RDS: Verbindung zu Datenbanken testen


    Tags: , ,

    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.

    Täglich Know-how für IT-Pros mit unserem Newsletter

    Wir ver­wenden Ihre Mail-Adresse nur für den Ver­sand der News­letter.
    Es erfolgt keine per­sonen­be­zogene Auswertung.

    Bild von Thomas Drilling
    Thomas Drilling arbeitet seit mehr als 20 Jahren selb­ständig als Redakteur und Autor für viele ehe­malige und aktuelle IT-Magazine sowie Blogs. Thomas ist zudem Buch­autor und IT-Consultant. Seit 5 Jahren ist Thomas neben seiner journa­listischen Tätig­keit haupt­beruflicher, selb­ständiger IT-Trainer für VMware und Microsoft.

    Seine Themen­schwer­punkte sind Virtua­lisierung und Cloud Com­puting, speziell VMware, Amazon Web Services, Google Cloud und Microsoft Azure. Thomas ist zerti­fi­zierter VMware Professional, Advanced Professional und wurde von VMware in den Jahren 2016, 2017, 2018, 2019 und 2020 mit dem Blogger-Status vExpert ausge­zeichnet.

    Thomas ist außerdem zertifi­zierter AWS Solu­tions Archi­tect, Sysops Engineer und Devops Engineer sowie Microsoft Certified Azure Admini­strator.

    Thomas führt aktuell jeden zwei­ten Mon­tag einen 4-tägigen Grund­lagenkurs in Cloud Computing mit AWS via Zoom-Meeting durch. Weitere Infor­mationen und Anmel­dung über sein AWS-Blog.

    Ähnliche Beiträge

    Weitere Links