418 AWS RDS [2 PT]

Posted Over 1 year ago. Visible to the public.

Der zuverlässige und perfomante Betrieb von relationalen Datenbanken kann sehr aufwendig und komplex sein. Dies gilt vor allem, wenn man eine robuste Replikation für Failover und Read-Replicas haben möchte. Amazon Relational Database Service (RDS) ist ein vollständig verwalteter Dienst, um unterschiedliche relationale Datenbanken wie z.B. MySQL, MariaDB, PostgreSQL oder Oracle zu betreiben. Dabei sind Replikation, Backups und Failover bereits gelöst.

Ziele

  • Warum möchte man RDS verwenden statt die Datenbank selbst auf EC2 zu hosten?
  • Welchen Konfigurationsparameter aktiviert Hochverfügbarkeit innerhalb einer Region für eine RDS Instanz
  • Erkläre wie die Hochverfügbarkeit aus dem vorherigen Punkt technisch umgesetzt wird. Erläutere auch wie der Failover funktioniert und die Anwendung sich zu der anderen Instanz verbindet.
  • Wie kann man Read-Replicas in seine Anwendung einbinden?
  • Kann man ein Read-Replica zu einem Primary machen? Wie wirkt sich das auf den existierenden Primary aus?
    • Für welche Szenarien können Read-Replicas noch nützlich sein? Überlege z.B. ob ein Read-Replica der gleiche Instanztyp sein muss oder ob die Version gleich zum Primary sein muss.
  • Wie können Backups von RDS Instanzen erstellt werden?
  • Wie läuft ein Restore einer RDS Datenbank ab? Nenne 2 Möglichkeiten.
  • Wie kann man einen Multi-Region Failover mit RDS Instanzen bauen? Wie kompliziert/aufwendig ist diese Lösung?
    • Was braucht man, um einen automatischen Failover zu implementieren?
  • Wie kann eine RDS Instanz, deren Storage nicht verschlüsselt ist, nachträglich verschlüsselt werden?
  • Kann man für eine unverschlüsselte RDS Instanz ein verschlüsseltes Read-Replica erstellen?
  • Erkläre die Unterschiede von Aurora Provisioned, Serverless und Global Database zu klassischen RDS Instanzen
  • Erkläre Multi-Master Replikation und die Probleme, die damit einhergehen können.

Inhalte

Aufgaben

  1. Folge dem Kurs Kapitel
  2. Wirf einen Blick in die Dokumentation um offene Fragen zu beantworten
  3. Erstelle eine Datenbank, fülle diese mit einigen Testdaten und teste Backup/Restores sowohl mit Point In Time Recovery (PITR) als auch mit Snapshots.
  4. Erstelle eine unverschlüsselte RDS Instanz und erstelle ein Read-Replica. Versuche ein weiteres Read-Replica mit KMS Verschlüsselung zu erstellen.
  5. Vergiss nicht deine RDS Instanzen und Snapshots zu löschen.
Claus-Theodor Riegg
Last edit
11 months ago
Matthias Bruhse
License
Source code in this card is licensed under the MIT License.
Posted by Claus-Theodor Riegg to DevOps Curriculum (2022-10-28 11:59)