Zum Inhalt

RDS MySQL Instanz erstellen

Ziele

  • Anmelden in der AWS Console
  • Eine neue "Security Group" für eine Datenbank-Instanz erstellen.
  • Eine neue "Subnet Group" für eine Datenbank-Instanz erstellen.
  • Eine Aurora MySQL Datenbank-Instanz konfigurieren und starten.
  • Auf die Datenbank-Instanz mit einem Client zugreifen.
  • Eine Datenbank mit Tabellen auf der Datenbank-Instanz anlegen.

Hilfsmittel

  • Sollten Sie Probleme haben die Aufgaben zu lösen, finden Sie bei jeder Aufgabe einen ausklappbaren Block, in dem der Lösungsweg beschrieben wird.
  • Versuchen Sie die Aufgaben erst einmal ohne die Lösungshilfen zu bearbeiten.

Aufgabe 1 - Anmelden und Netzwerk vorbereiten

Anmelden in der AWS Console

Melden Sie sich in der AWS Console an und wechseln Sie zur Region Frankfurt (eu-central-1) sowie zur Sprache English (US).

Lösung (Klicken Sie auf den Pfeil, falls Sie nicht weiterkommen)
  1. Navigieren Sie im Browser zur AWS Console.
  2. Wählen Sie IAM-Benutzer aus und geben Sie Ihre Konto-Nr./Account-ID oder den Konto-Alias ein und bestätigen Sie mit weiter.
  3. Im neuen Fenster tragen Sie Ihren Benutzernamen und das Passwort das Sie erhalten haben ein und bestätigen Sie dies mit Melden Sie sich an.
  4. Prüfen Sie nach dem Einloggen die Region im rechten Oberen Bildschirmrand. Wechseln Sie ggf. von US East N. Virginia nach Frankfurt (eu-central-1).
  5. Wechseln Sie im linken unteren Bereich die Sprache auf English (US).

"Security Group" für Datenbank-Instanz anlegen

Erstellen Sie im Bereich "VPC/Security/Security Groups" eine neue Security Group mit dem Namen None-labs-rds-sec-group für das VPC None-labs-vpc, sodass die EC2 Instanz mit der Security Group None-labs-http-ssh-sec-group die Datenbank erreichen kann.

Lösung (Klicken Sie auf den Pfeil, falls Sie nicht weiterkommen)
  1. Tippen Sie VPC in die Suchleiste am oberen Bildschrimrand und wählen Sie den entsprechenden Menüpunkt aus um auf die VPC Einstellungsseite zu gelangen.
  2. In den VPC Einstellungen navigieren Sie am linken Bildschirmrand in den Bereich Security und wählen Sie den Menüeintrag Security Groups oder klicken Sie in der Übersicht direkt auf den Eintrag Security Groups.
  3. Öffnen Sie den Assistent zum Erstellen einer neuen Security Group mit einem Klick auf den orangen Knopf Create Security Group am rechten oberen Bildschirmbereich.
  4. Geben Sie als Namen None-labs-rds-sec-group ein.
  5. Geben Sie in der Description eine beliebige sinnvolle Beschreibung ein.
  6. VPC: Wählen Sie das VPC None-labs-vpc aus.
  7. Erstellen Sie eine neue Inbound Rule mit einem Klick auf den Knopf Add rule.
    1. Wählen Sie als Type MYSQL/Aurora aus.
    2. Wählen Sie im Suchfeld zur Source die Security Group None-labs-http-ssh-sec-group aus.
  8. Prüfen Sie kurz die Outbound Rules ob dort ein Eintrag für All traffic von 0.0.0.0/0 hinterlegt ist.
  9. Erstellen Sie die Security Group mit einem Klick auf Create security group rechts unten.

RDS "Subnet Group" anlegen

Erstellen Sie eine neue DB-Subnetzgruppe mit dem Namen None-labs-rds-subnet-group für Ihre MySQL Datenbank im RDS-Bereich.

Subnetz Gruppen Einstellungen
  • Name: None-labs-rds-subnet-group
  • Description: Geben Sie eine kurze Beschreibung ein. (zwingend)
  • VPC: wählen Sie None-labs-vpc aus.
  • Availability Zones: Wählen Sie alle 3 Zonen aus - eu-central-1a, eu-central-1b, eu-central-1c
  • Subnets: Wählen Sie die Subnetze mit den CIDR Adressbereichen 10.0.4.0/22, 10.0.8.0/22, 10.0.12.0/22 aus.

Überprüfen Sie Ihre Angaben und bestätigen Sie das erstellen der Subnetz-Gruppe mit create.

Lösung (Klicken Sie auf den Pfeil, falls Sie nicht weiterkommen)
  1. Suchen Sie in der Haupt-Suche nach RDS und wählen Sie den entsprechenden Eintrag aus.
  2. Wählen Sie im linken Bereich den Eintrag Subnet Groups aus.
  3. Klicken Sie auf den orangenen Knopf Create DB subnet group.
  4. Tragen Sie die Einstellungen wie oben beschrieben ein.

Aufgabe 2 - MySQL Instanz in RDS erstellen

  1. Falls Sie nicht im RDS Bereich sein sollten navigieren Sie über die Suche dort hin.
  2. Wählen Sie im linken Menü den Eintrag Datenbanken aus.
  3. Orangener Button Datenbank erstellen anklicken.
  4. Im neuen Fenster diese Einstellungen Anwenden:

    Datenbank Instanz Einstellungen
    • Type: Amazon Aurora
    • Edition: Amazon Aurora MySQL-Compatible Edition
    • Capacity Type: Provisioned
    • DB cluster identifier: None-labs-mysql-db
    • Master username: Sie können admin verwenden oder auch anpassen, notieren Sie sich den Usernamen.
    • Master password: Vergeben Sie ein Passwort und notieren Sie es sich.
    Beachten - WICHTIG!

    Das Passwort kann nachträglich nicht mehr geändert werden! Wenn Sie das Passwort vergessen, muss die Instanz neu erstellt werden.

    Richtlinien für das Passwort: mindestens 8 Zeichen. Nicht erlaubte Zeichen: / (slash), '(single quote), "(double quote) und @ (at Zeichen)

    • Master password confirm: Tragen Sie das Passwort nochmals ein zur Bestätigung.

    Multi AZ deployment: Don't create an Aurora Replica auswählen.

    • Virtual private cloud (VPC): None-labs-vpc
    • Subnet Groups: Wählen Sie die Subnetz Gruppe None-labs-rds-subnet-group aus.
    • VPC security groups: Wählen Sie die Security Gruppe None-labs-rds-sec-group aus und entfernen Sie die Gruppe default.
  5. Überprüfen Sie nochmals ihre Angaben und bestätigen Sie das erstellen der Instanz mit einem Klick auf: create database

Aufgabe 3 - Zur Datenbank verbinden

VSCode öffnen

Öffnen Sie ein neues Browserfenster oder einen neuen Browser-Tab. Navigieren Sie dort zu der Ihnen zugewiesenen VisualStudio Code Instanz unter https://code-XX.labs.corewire.de (ersetzen Sie XX durch Ihre Nummer).

Melden Sie sich dort mit dem Passwort, welches Sie erhalten haben, an.

Verbinden

Verbinden Sie sich über den Schreibenden Endpunkt mit dem Datenbank Plugin oder über das mysql CLI-Tool auf den Datenbankserver.

Datenbank Plugin - Lösung (Klicken Sie auf den Pfeil, falls Sie nicht weiterkommen)

Klicken Sie in der linken Leiste auf das Datenbank-Symbol um das Datenbank Plugin zu starten. Am linken Bildschirmrand sollte sich der angezeigte Kontext ändern und Ihnen Connections im oberen Bereich anzeigen. Klicken Sie nun auf Add new connection und verwenden sie den MySQL Treiber.

Verbindungseinstellungen
  • Connection name: Geben Sie einen für Sie sinnvollen Namen ein.
  • Connect using: Server and Port
  • Server Address: Kopieren Sie den Schreib-Endpunkt aus der AWS RDS Instanz. Dieser ist in der Form mydb.123456789012.eu-central-1.rds.amazonaws.com angegeben.
  • Database: Geben Sie employees ein.
  • Username: Benutzen Sie den Usernamen aus dem vorherigen Schritt.
  • Use Password: Save Password
  • Password: Geben Sie das Passwort aus dem vorherigen Schritt ein.

Bestätigen Sie ihre Eingaben mit einem Klick auf save connection. Anschließend wird die neu erstellte Datenbankverbindung an der linken Seite unter Connections angezeigt. Bei einem Klick auf die Verbindung wird anschließend eine Verbindung aufgebaut und Sie können dann Datenbankqueries erstellen.

mysql CLI-Tool - Lösung (Klicken Sie auf den Pfeil, falls Sie nicht weiterkommen)

Starten Sie ein neues Terminal indem Sie auf den Menü-Knopf (im linken oberen Eck) anklicken und dort Terminal New Terminal auswählen. Am unteren Bildschirmrand ist nun ein Terminal zugänglich. Passen Sie nun diesen Befehl mit Ihren Daten auf um sich auf die Datenbank zu verbinden.

mysql -u **Ihr User** -p -h **Endpunkt URL**

Ihr Passwort für den Zugang wird dann interaktiv in der Kommandozeile abgefragt. Wenn alles richtig eingetragen wurde sollten Sie nun eine Wilkommensnachricht bekommen und mit der Datenbank verbunden sein.

Beispiel Wilkommensnachricht:

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 31
Server version: 5.7.12 MySQL Community Server (GPL)

Copyright (c) 2000, 2022, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

Verlassen Sie anschließend das mysql Tool mit dem Befehl: exit

Beispieldaten anlegen

Benutzen Sie das Script run_load_data.sh im VSCode um die Datenbank mit den Beispieldaten zu befüllen.

Lösung (Klicken Sie auf den Pfeil, falls Sie nicht weiterkommen)
  1. Öffnen Sie den "File-Explorer" im Linken Bereich (unter dem Hauptmenü-Knopf).
  2. Öffnen Sie die Datei run_load_data.sh im Ordner scripts.
  3. Bearbeiten Sie die Variables: USER=**Ihr DB User**, PW=**Ihr DB Passwort**, URL=**Url zum DB Endpunkt**.
  4. Starten Sie ein neues Terminal indem Sie auf den Menü-Knopf (im linken oberen Eck) anklicken und dort Terminal New Terminal auswählen. Am unteren Bildschirmrand ist nun ein Terminal zugänglich.
  5. Navigieren Sie im Terminal zum scripts Pfad mit dem Befehl:
    cd ~/workspace/scripts
    
  6. Führen Sie das Script aus mit dem Befehl:
    ./run_load_data.sh