Lernpfad
Amazon Web Services (AWS) bietet eine breite Palette von Tools für die Erstellung und Verwaltung von Anwendungen in der Cloud.
Einer der nützlichsten Dienste für Datenexperten ist Amazon Relational Database Service (RDS), eine vollständig verwaltete Lösung, die beliebte Datenbank-Engineswie MySQL, PostgreSQL, MariaDB, Oracle und SQL Serverunterstützt.
Egal, ob du gerade erst anfängst und eine Datenbank bereitstellen willst, ohne die Infrastruktur selbst zu verwalten, oder ob du ein erfahrener Profi bist, der Leistung und Kosten optimieren will, RDS macht es einfacher.
In diesem Tutorial erkläre ich dir die wichtigsten Funktionen von RDS und zeige dir Schritt für Schritt, wie du loslegen kannst.
Was ist AWS RDS?
AWS RDS vereinfacht die Einrichtung, den Betrieb und die Skalierung von relationalen Datenbanken in der Cloud. Anstatt Infrastruktur, Patches, Backups und Skalierung manuell zu verwalten, automatisiert RDS einen Großteil dieser Arbeit, sodass du dich auf deine Anwendung und Daten konzentrieren kannst.
Es unterstützt mehrere Datenbank-Engines wie MySQL, PostgreSQL, Oracle, SQL Server und Amazon Aurora. Du profitierst von Funktionen wie:
- Automatisierte Backups und Point-in-Time-Recovery
- Hohe Verfügbarkeit mit Multi-AZ-Einsätzen
- Read Replicas für leseintensive Workloads
- Integrierte Sicherheits- und Überwachungstools
Diese Funktionen ermöglichen es dir, kritische Produktionsworkloads zuverlässig auszuführen und gleichzeitig manuelle Eingriffe zu minimieren.
Einrichten einer AWS RDS-Instanz
Um mit RDS zu beginnen, musst du zunächst eine neue Instanz über die AWS-Konsole erstellen. Wenn du noch keinen AWS account hast, kannst du dich kostenlos anmelden.
> Wenn du mehr über das breitere AWS-Ökosystem erfahren möchtest, schau dir den Kurs AWS Cloud Technology and Services.
Erstellen einer neuen RDS-Instanz
1. Suche in der AWS-Suchkonsole nach "RDS" und klicke auf den Aurora und RDS-Service.
2. Klicke auf Datenbanken im Menü auf der linken Seite.
3. Klicke auf Datenbank erstellen in der oberen rechten Ecke.
4. Wähle Standard erstellen, um die volle Kontrolle über die Konfiguration zu haben.
Wähle unter Engine-Optionen deine bevorzugte Datenbank-Engine aus. PostgreSQL ist eine gute Wahl für die meisten Anwendungsfälle.
5. Nachdem du den Motor ausgewählt hast, konfigurierst du die restlichen Optionen, um die Einrichtung abzuschließen.
Wir gehen die restlichen Einstellungen durch, die du brauchst, um diesen Schritt erfolgreich abzuschließen.
Motorversion
Die Engine-Version bestimmt, welche Version der von dir gewählten Datenbank-Engine (z.B. PostgreSQL, MySQL) verwendet wird. Das hat Auswirkungen auf die Funktionen, die Leistung und die Kompatibilität deiner Datenbank.
Wähle die neueste stabile Version, es sei denn, du hast einen besonderen Grund (z. B. Kompatibilität mit einer App), eine ältere Version zu verwenden. AWS wählt in der Regel die neueste Hauptversion aus, z. B. PostgreSQL 17.2, was für die meisten Benutzer eine sichere Wahl ist.
Schablonen
Vorlagen bieten ein vorkonfiguriertes Setup für deine Datenbankinstanz, das auf deinen Anwendungsfall abgestimmt ist: Produktion, Entwicklung oder Free-Tier-Tests. Sie beeinflussen die Standardeinstellungen wie Leistung, Verfügbarkeit und Backup-Aufbewahrung.
- Wähle Produktion wenn du eine Live-Anwendung betreibst und hohe Verfügbarkeit brauchst.
- Wähle Entwicklung/Test wenn es um interne Entwicklung oder Experimente geht.
- Wähle Kostenlose Stufe wenn du berechtigt bist und RDS zum ersten Mal ausprobierst, um Gebühren zu vermeiden.
Verfügbarkeit und Haltbarkeit
Damit wird festgelegt, wie deine Datenbank mit Ausfällen umgeht und den Datenverkehr auf die Verfügbarkeitszonen verteilt. Sie wirkt sich auf die Betriebszeit, die Redundanz und die Geschwindigkeit aus, mit der sich dein System von Problemen erholt.
- Wähle Multi-AZ DB-Cluster (3 Instanzen) für High-Read-Workloads und maximale Ausfallsicherheit (zwei lesbare Replikate).
- Wähle Multi-AZ DB-Instanz (2 Instanzen) für die meisten Produktions-Setups, fügt eine Standby-Instanz zur Ausfallsicherung ohne zusätzliche Lesekapazität hinzu.
- Wähle Einzel-AZ nur für Entwicklungs-/Testzwecke oder nicht-kritische Anwendungen, keine Ausfallsicherung oder Redundanz.
Einstellungen
Dieser Abschnitt definiert die Identität deiner DB-Instanz und wie Anmeldeinformationen gehandhabt werden. Du gibst deiner Instanz einen Namen, legst den Hauptbenutzernamen fest und wählst aus, wie die Geheimnisse (Passwörter) gespeichert und verschlüsselt werden.
- Geben Sie einen eindeutigen DB-Instanzbezeichner (z.B. app-name-db).
- Setzen Sie einen Master-Benutzernamen (z.B. postgres).
- Wähle Managed im AWS Secrets Manager für sichere, automatisch generierte Anmeldeinformationen. Verwende die Selbstverwaltung nur, wenn du die volle Kontrolle über deine Passwörter haben willst.
- Du kannst bei Bedarf auch einen eigenen KMS-Verschlüsselungsschlüssel wählen, aber die Standardoption ist für die meisten Benutzer/innen ausreichend.
Instanz-Konfiguration
Hier wird festgelegt, welche Art von Rechenressourcen (CPU, RAM, Netzwerk) deiner Datenbank zugewiesen werden. Die Instanzklasse bestimmt Leistung, Skalierbarkeit und Kosten.
- Für die meisten Anwendungsfälle, Standardklassen (m-Klassen) eine gute Ausgangsbasis.
- Wähle Speicheroptimiert (r- oder x-Klassen) für Analysen oder große In-Memory-Operationen.
- Wähle Burstable (t-Klassen) wenn du dich in der Entwicklung befindest oder eine kostengünstige Lösung brauchst.
- Beispiel:
db.m7g.large
bietet dir zwei vCPUs und 8 GiB RAM, geeignet für mittlere Arbeitslasten.
Speicher-Konfiguration
Dieser Abschnitt regelt die Art, Größe und Leistung des Datenbankspeichers. Du kannst Speicher auswählen, der für die allgemeine Nutzung oder für Hochleistungs-Workloads optimiert ist.
- Wähle Provisioned IOPS (io2) für Anwendungen mit niedriger Latenz und hohem Durchsatz. Ideal für OLTP oder schreibintensive Systeme.
- einstellen Zugewiesener Speicherplatz je nachdem, wie viele Daten du voraussichtlich speichern wirst (mindestens 100 GiB).
- Konfigurieren Sie Bereitgestellte IOPS so, dass sie deinen Leistungsanforderungen entspricht (das Verhältnis von IOPS zu Speicherplatz sollte 0,5 bis 1.000 betragen).
Konnektivität
In diesem Abschnitt wird festgelegt, wie sich deine Datenbank mit der Außenwelt verbindet, einschließlich Netzwerkeinstellungen, VPC, öffentlicher Zugang und Sicherheitsgruppen.
- Behalte Keine Verbindung zu einer EC2-Compute-Ressource herstellen ausgewählt, es sei denn, du brauchst EC2-Zugang.
- verwenden IPv4 für die meisten Standardkonfigurationen.
- Wähle deinen VPC sorgfältig aus . Dies kann nach der Erstellung nicht mehr geändert werden.
- Wähle Öffentlicher Zugang: Keine für sichere, private Datenbanken (empfohlen für die Produktion).
- Verwende eine bestehende oder neue VPC-Sicherheitsgruppe, um den Zugang zu verwalten. Stelle sicher, dass Port 5432 (PostgreSQL) oder 3306 (MySQL) geöffnet ist, um Quellen zuzulassen.
- Du kannst die Zertifizierungsstelle als Standard belassen, es sei denn, du hast eine eigene Anforderung.
Datenbank-Authentifizierung
Diese Einstellung steuert, wie sich Benutzer bei deiner Datenbank authentifizieren. Du kannst herkömmliche Passwörter verwenden oder AWS-Services wie IAM oder Kerberos für eine erweiterte Zugangskontrolle integrieren.
- Wähle Passwort Authentifizierung für eine standardmäßige, einfache Anmeldung (am häufigsten bei Neueinrichtungen).
- Wähle IAM Authentifizierung, wenn du den DB-Zugriff über AWS IAM-Rollen und Richtlinien verwalten möchtest.
- verwenden. Kerberos Authentifizierung nur, wenn du ein Unternehmensverzeichnis integriert hast.
Überwachung
Dieser Abschnitt ermöglicht die Leistungs- und Aktivitätsverfolgung für deine RDS-Instanz mit Tools wie Database Insights, Enhanced Monitoring und DevOps Guru. Diese helfen dir, Leistungsengpässe zu erkennen, die Auslastung zu analysieren und Probleme zu beheben.
- Wähle Database Insights - Advanced für einen tieferen Einblick und einen längeren Verlauf (15 Monate). Wenn du kostensensibel bist, bietet Standard 7 Tage Metriken an.
- Erweitertes Monitoring aktivieren für Metriken auf OS-Ebene (z. B. CPU, Speicher) mit feiner Granularität wie 60er-Intervalle.
- Du kannst DevOps Guru für intelligente Alarme aktivieren , aber das ist optional und wird separat berechnet. Es ist großartig für die Produktion, aber nicht essentiell für Entwicklung/Test.
Einstellungen der Datenbank-Engine konfigurieren
Wenn du alle infrastrukturbezogenen Einstellungen ausgewählt hast, gelangst du zu einem Abschnitt namens Zusätzliche Konfiguration (oder ähnlich, je nach Engine/Version). Hier konfigurierst du das Verhalten und die Fähigkeiten deiner RDS-Datenbank-Engine.
Hier ist, was du normalerweise konfigurieren wirst:
1. Ursprünglicher Name der Datenbank
Dies ist der Name der ersten Datenbank, die automatisch erstellt wird, wenn die Instanz bereitgestellt wird.
- Du kannst später immer noch weitere Datenbanken anlegen.
- Wenn du dieses Feld leer lässt, wird RDS keine Standarddatenbank erstellen. Das musst du manuell tun, wenn die Instanz fertig ist.
2. Datenbank-Port
Jede Datenbank-Engine verwendet einen Standard-TCP-Port:
- PostgreSQL: 5342
- MySQL / MariaDB: 3306
- Oracle: 1521
- SQL Server: 1433
Bleib bei der Standardeinstellung, es sei denn, du hast besondere Netzwerkanforderungen (z. B. wenn deine Anwendung einen anderen Port erwartet).
3. Parameter-Gruppen
Parametergruppen sind wie Konfigurationsvorlagen für die Datenbank-Engine. Sie definieren Einstellungen auf niedriger Ebene, die das Verhalten und die Leistung beeinflussen.
In PostgreSQL kannst du zum Beispiel konfigurieren:
work_mem
: Wie viel Speicher wird für interne Sortiervorgänge verwendet?max_connections
: Wie viele gleichzeitige Client-Verbindungen die DB akzeptieren kannlog_min_duration_statement
: Abfragen protokollieren, die eine bestimmte Ausführungszeit überschreiten
Jede Engine hat ihren eigenen Satz an einstellbaren Parametern, und AWS bietet eine Standardgruppe. Du kannst die Standardeinstellungen für eine schnelle Einrichtung verwenden oder eine Gruppe klonen und anpassen, wenn deine Arbeitslast eine spezielle Abstimmung erfordert.
4. Option Gruppen
Optionsgruppen ermöglichen es dir, erweiterte Funktionen hinzuzufügen, die bei einigen Datenbank-Engines standardmäßig nicht verfügbar sind.
Einige Beispiele:
- Oracle: Transparente Datenverschlüsselung (TDE), Oracle XML DB
- SQL Server: SQL Server Agent, Volltextsuche
- MySQL/PostgreSQL: Diese benötigen normalerweise keine Optionsgruppen, es sei denn, du aktivierst Funktionen wie Audit-Plugins
Wenn du PostgreSQL oder MySQL für Standard-Workloads verwendest, brauchst du dir in der Regel keine Gedanken über Optionsgruppen zu machen. Wenn du jedoch mit Oracle oder SQL Server arbeitest, solltest du in der Dokumentation nachsehen, um sicherzustellen, dass du die notwendigen Funktionen aktivierst.
Verbinden mit AWS RDS
Sobald deine Datenbankinstanz eingerichtet ist und läuft, kannst du dich auf verschiedene Arten mit ihr verbinden.
1. Verbinden von der AWS-Konsole aus
AWS bietet einen integrierten Abfrage-Editor für MySQL und PostgreSQL. Navigiere zu deiner Instanz, wähle Abfrage-Editor und gib deine Datenbank-Anmeldedaten ein, um SQL-Befehle direkt von deinem Browser aus auszuführen.
Dies ist ideal für schnelle Überprüfungen oder kleinere Abfragen, ohne dass ein lokaler SQL-Client benötigt wird.
2. Verbinden von einem lokalen Rechner aus
Um eine Verbindung von einem lokalen Client wie pgAdmin oder MySQL Workbenchherzustellen.
- Kopiere den Endpunkt aus der AWS-Konsole
- Sicherstellen, dass die Instanz öffentlich zugänglich oder über VPC erreichbar ist
- Gib das Richtige an:
- Host (Endpunkt)
- Port (5432 oder 3306)
- Benutzername und Passwort
Vergewissere dich, dass die IP deines lokalen Rechners in der Sicherheitsgruppe der Datenbank auf der Whitelist steht.
3. Sicherheit und Zugangskontrolle
Der Zugriff auf RDS-Instanzen wirdüber Sicherheitsgruppengesteuert. Das musst du tun:
- Erlaube den eingehenden Zugriff auf den Datenbankport (5432 oder 3306)
- Ändern Sie die Sicherheitsgruppe in der EC2-Konsole
- Schränke den Zugriff auf bestimmte IPsoder VPCs in der Produktionein.
Du kannst die Zugriffskontrolle auch mit Rollen und Richtlinien des Identitäts-und Zugriffsmanagements (IAM) verbessern.
AWS RDS verwalten und skalieren
Sobald deine Datenbank in Betrieb ist, musst du dir Gedanken darüber machen, wie du sie im Laufe der Zeit warten, skalieren und sichern willst. AWS RDS bietet integrierte Funktionen, die diese Aufgaben erleichtern, egal ob du eine wachsende Anwendung unterstützt oder dich auf unerwartete Ausfälle vorbereitest.
1. Skalierung deiner Datenbankinstanz
Wenn deine Anwendung wächst, musst du deine Datenbank möglicherweise skalieren, um mit der Nachfrage Schritt zu halten. AWS RDS unterstützt zwei Arten der Skalierung: vertikal und horizontal.
Vertikale Skalierung bedeutet, dass du deine Instanzklasse um mehr CPU-, Speicher- und Netzwerkkapazität erweiterst. Das ist nützlich, wenn deine Arbeitslast zunimmt, aber immer noch auf einem einzelnen Knoten zu bewältigen ist.
Für leseintensive Anwendungen ist die horizontale Skalierung eine bessere Option. Du kannst Lese-Replikate hinzufügen, um den Leseverkehr zu verteilen. Diese Replikate können im Falle eines Failovers oder einer Migration auch zu eigenständigen Instanzen befördert werden.
2. Konfigurieren von Multi-AZ für hohe Verfügbarkeit
Um die Fehlertoleranz zu verbessern und Ausfallzeiten zu reduzieren, kannst du Multi-AZ-Einsätze aktivieren. Bei dieser Konfiguration wird ein Standby-Replikat in einer anderen Verfügbarkeitszone erstellt und durch synchrone Replikation mit der primären Instanz synchron gehalten.
Wenn die primäre Instanz ausfällt, wechselt RDS automatisch zur Standby-Instanz, ohne dass du etwas unternehmen musst. Da der Endpunkt der Datenbank derselbe bleibt, muss sich deine Anwendung nicht neu verbinden oder neu konfigurieren.
Multi-AZ wird für Produktionssysteme, die eine hohe Verfügbarkeit erfordern, dringend empfohlen.
3. Automatisieren von Backups und Snapshots
RDS macht es einfach, automatische und manuelle Backups einzurichten. Automatische Backups sind standardmäßig aktiviert und ermöglichen es dir, deine Datenbank zu einem beliebigen Zeitpunkt innerhalb der von dir festgelegten Aufbewahrungsfrist (von 1 bis 35 Tagen) wiederherzustellen.
Zusätzlich zu den automatischen Backups kannst du auch manuelle Snapshots erstellen. Diese sind nützlich, bevor du größere Änderungen wie Schema-Updates oder Engine-Upgrades vornimmst. Snapshots können auf unbestimmte Zeit aufbewahrt und bei Bedarf zum Aufsetzen neuer Instanzen verwendet werden.
Es ist eine gute Angewohnheit, vor wichtigen Einsätzen Snapshots zu erstellen, um sich abzusichern.
Erweiterte Funktionen von AWS RDS
Über die Grundlagen hinaus bietet AWS RDS eine Reihe von fortgeschrittenen Funktionen, die die Leistung, Sicherheit und betriebliche Effizienz verbessern. Diese Tools helfen dir dabei, den Zustand der Datenbank zu überwachen, Wartungsabläufe zu verwalten und bewährte Sicherheitspraktiken durchzusetzen - alles wichtige Voraussetzungen für den Betrieb eines produktiven Systems.
1. Leistungsüberwachung mit Amazon CloudWatch
RDS lässt sich nativ in Amazon CloudWatchintegrieren, sodass du wichtige Leistungskennzahlen wie CPU-Auslastung, Festplatten-E/A, Speicherplatz und Datenbankverbindungen verfolgen kannst. Diese Metriken sind in Echtzeit verfügbar und können zur Einrichtung von Alarmen oder Dashboards verwendet werden.
CloudWatch wird auch häufig in AWS S3- und EFS-Workflows verwendet, wie im AWS Storage Tutorial auf DataCamp gezeigt wird.
Um tiefere Einblicke zu erhalten, kannst du Performance Insights aktivieren, die die Abfrageleistung im Zeitverlauf visualisieren. Dieses Tool hilft dir, langsame oder ressourcenintensive Abfragen zu identifizieren, Trends in der Datenbankauslastung zu erkennen und Engpässe zu beheben. Kombiniert mit Abfrageoptimierung und Indexierungsstrategien ist dies eine leistungsstarke Methode, um die Leistung deiner Datenbank unter Druck zu optimieren.
2. RDS-Wartung und Patching
AWS verwaltet Software-Patchesund Wartung für deine RDS-Instanzen. Du kannst ein Wartungsfenster festlegen, in dem Updates angewendet werden. Wenn ein kritischer Patch veröffentlicht wird, kann AWS ihn sofort installieren, oder du kannst ihn vorübergehend aufschieben.
Du findest alle geplanten und vergangenen Wartungsereignisse in der RDS-Konsole. Wenn du deine Datenbank auf dem neuesten Stand hältst, profitierst du von den neuesten Leistungsverbesserungen, Fehlerbehebungen und Sicherheitspatches, ohne dass du die Updates manuell verwalten musst.
3. Verschlüsselung und bewährte Sicherheitsverfahren
RDS unterstützt die Verschlüsselung sowohl im Ruhezustand als auch bei der Übertragung. Die Verschlüsselung im Ruhezustand wird vom AWS Key Management Service (KMS) verwaltet und kann bei der Instanzerstellung aktiviert werden. Für Daten im Transit unterstützt RDS SSL/TLS-Verbindungen zwischen Clients und der Datenbank.
Um die Sicherheit weiter zu erhöhen, solltest du die IAM-Authentifizierung für kurzlebige Datenbankanmeldeinformationen anstelle von fest codierten Benutzernamen und Passwörtern aktivieren. Es ist auch eine gute Idee, für alle AWS-Benutzer eine Multi-Faktor-Authentifizierung (MFA) durchzusetzen, das Prinzip der geringsten Privilegien mit IAM-Richtlinien anzuwenden und alle Zugriffe mit AWS CloudTrail zu protokollieren. Diese Best Practices tragen dazu bei, dass deine Daten geschützt und überprüfbar bleiben.
Kostenmanagement und -optimierung
Kostenmanagement ist ein wichtiger Teil der Arbeitmit AWS-Diensten, und RDS ist da keine Ausnahme. Obwohl es sich um ein vollständig verwaltetes Angebot handelt, können sich die RDS-Preise schnell summieren, je nachdem, wie es konfiguriert ist. Das Verständnis der Kostenstruktur und die frühzeitige Anwendung von Optimierungsstrategien können dir helfen, dein Budget einzuhalten, wenn dein Verbrauch wächst.
1. Die Preisgestaltung von AWS RDS verstehen
Die RDS-Kosten basieren auf:
- Instanzklasse und Nutzungsstunden
- Speichergröße und -typ (
gp3
oderio1
) - Aufbewahrung von Backups und Schnappschüssen
- Datenübertragung (insbesondere zwischen Regionen oder AZs)
Verwende den AWS-Preisrechner, um deine voraussichtlichen Kosten zu schätzen und zu modellieren.
Wenn du dich auf die Zertifizierung vorbereitest, ist das Verständnis der Preisgestaltung ein wichtiger Bestandteil des AWS Cloud Practitioner (CLF-C02) Lernpfads.
2. Best Practices zur Kostenoptimierung
Es gibt verschiedene Möglichkeiten, die RDS-Kosten zu senken oder zu kontrollieren. Wenn du langlebige Produktionsdatenbanken betreibst, solltest du den Kauf von Reserved Instances in Erwägung ziehen, die im Austausch für eine ein- oder dreijährige Verpflichtung erhebliche Rabatte gegenüber On-Demand-Preisen bieten.
Um eine Überbelegung zu vermeiden, aktiviere die automatische Speicherskalierung, damit dein zugewiesener Speicherplatz nur bei Bedarf wächst. Für Daten, auf die nur selten zugegriffen wird, die aber aufbewahrt werden müssen, kannst du alte Backups oder Exporte auf S3 oder Glacier auslagern, die viel günstigere Speicheroptionen sind.
Du kannst die Ressourcennutzung auchmit dem AWS Trusted Advisorüberwachen, derungenügend ausgelastete Instanzen kennzeichnen und Empfehlungen für die Anpassung der Ressourcen geben kann. Kombiniere dies mit dem AWS Cost Explorer und den Budgetwarnungen, um dein Nutzungsverhalten im Laufe der Zeit zu verfolgen und benachrichtigt zu werden, wenn du dich deinem Ausgabenlimit näherst.
Fehlersuche bei AWS RDS
Selbst bei einem vollständig verwalteten Dienst wie RDS können Probleme auftreten, von Verbindungsproblemen bis hin zu Leistungseinbrüchen. Wenn du weißt, worauf du achten und wie du reagieren musst, kannst du Probleme schnell beheben und die Auswirkungen auf deine Anwendung minimieren.
1. Erkennen und Lösen von Verbindungsproblemen
Verbindungsprobleme werden oft durch falsch konfigurierte Netzwerkeinstellungen verursacht. Zu den häufigsten Schuldigen gehören fehlende oder falsche Sicherheitsgruppenregeln, wie z.B. ein geschlossener Port oder ein eingeschränkter IP-Bereich. Ein weiteres häufiges Problem ist die Verwendung des falschen Endpunkts oder der falschen Portnummer, insbesondere beim Wechsel zwischen verschiedenen Umgebungen.
Du solltest auch prüfen, ob es Probleme mit der DNS-Auflösung gibt, insbesondere wenn deine Anwendungin einer anderen VPC oder Region läuft. Tools wie Ping oder Telnet können helfen, die grundlegende Konnektivität zu überprüfen. Wenn du immer noch nicht weiterkommst, liefern die über die RDS-Konsole verfügbaren Engine-Protokolle oft nützliche Hinweise.
2. Behebung von Leistungsproblemen
Wenn die Leistung nachlässt, ist es wichtig, einen strukturierten Ansatz zu wählen. Aktiviere zunächst die Abfrageprotokollierung in den Einstellungen der Parametergruppe deiner Datenbank. So kannst du Abfragen identifizieren, die länger dauern als erwartet.
Mit Performance Insights kannst du die Abfragelast, Warteereignisse und Nutzeraktivitäten im Zeitverlauf visualisieren. Diese Erkenntnisse zeigen oft Probleme bei der Indizierung, ineffiziente Abfragestrukturen oder hohe Gleichzeitigkeit auf. Kleine Änderungen, wie das Hinzufügen von Indizes oder das Umschreiben einer komplexen Verknüpfung, können oft zu spürbaren Verbesserungen führen.
Wenn das Tuning nicht hilft, solltest du deine Instanzklasse aktualisieren oder Read Replicas hinzufügen, um horizontal zu skalieren. Wie immer solltest du Leistungsänderungen in einer Staging-Umgebung testen, bevor du sie in der Produktion anwendest.
3. Umgang mit Ausfallsicherung und Wiederherstellung
In einer Multi-AZ-Bereitstellung übernimmt RDS die Ausfallsicherung automatisch. Wenn die primäre Instanz nicht mehr verfügbar ist, ernennt AWS die Standby-Instanz zur primären Instanz und aktualisiert den DNS-Eintrag in der Regel innerhalb weniger Minuten. Dieser Prozess ist nahtlos, und deine Anwendung kann ohne manuelle Eingriffe weiterarbeiten.
Bei Single-AZ-Instanzen erfolgt die Ausfallsicherung nicht automatisch. Im Falle eines Ausfalls musst du die Datenbank manuell aus dem letzten Snapshot wiederherstellen. Um die Wiederherstellungszeit zu verkürzen, ist es eine gute Idee, CloudWatch Alarme und SNS-Benachrichtigungen einzurichten, damit du alarmiert wirst, sobald etwas schief läuft. So kann dein Team schnell reagieren und die Ausfallzeiten minimieren.
Fazit
Amazon RDS macht es einfach, relationale Datenbanken in der Cloud bereitzustellen, zu verwalten und zu skalieren, ohne den Aufwand für die Bereitstellung der Infrastruktur oder für die manuelle Wartung. Mit der Unterstützung für mehrere Engines, automatischen Backups, hoher Verfügbarkeit und Tools zur Leistungsüberwachung ist RDS für alles geeignet, von Hobbyprojekten bis hin zu unternehmenskritischen Anwendungen.
Dieser Lehrgang vermittelt die praktischen Schritte und das Grundwissen, um loszulegen.
Wenn du bereit bist, mehr zu lernen, ist der Lernpfad AWS Cloud Practitioner (CLF-C02) ein guter nächster Schritt in Richtung Zertifizierung und Cloud-Expertise.
FAQs
Kann ich eine bestehende On-Premise-Datenbank zu AWS RDS migrieren?
Ja, AWS bietet Tools wie den AWS Database Migration Service (DMS) an, mit denen du mit minimaler Ausfallzeit von lokalen oder anderen Cloud-Datenbanken zu RDS migrieren kannst. Du kannst sowohl Schema- als auch Live-Daten migrieren.
Was ist der Unterschied zwischen Amazon RDS und Aurora?
Amazon Aurora ist eine Cloud-optimierte Version von MySQL und PostgreSQL, die unter dem Dach von RDS angeboten wird. Es ist auf höhere Leistung und Verfügbarkeit ausgelegt und bietet oft einen 2-5 mal höheren Durchsatz als das Standard-RDS-MySQL.
Wie kann ich RDS-Instanzvorgänge wie das Stoppen oder Starten von Instanzen nach einem Zeitplan automatisieren?
Du kannst Instanzvorgänge mit AWS Lambda und EventBridge (früher CloudWatch Events) automatisieren. Dies ist nützlich, um Entwicklungs-/Testdatenbanken außerhalb der Arbeitszeiten abzuschalten, um Kosten zu sparen.
Was passiert, wenn ich mein RDS-Speicherlimit erreiche?
Wenn die automatische Speicherskalierung aktiviert ist, erhöht RDS den zugewiesenen Speicherplatz automatisch. Andernfalls kann es zu Ausfällen oder Leistungseinbußen in deiner Instanz kommen. Überwache immer die Speichernutzung und konfiguriere Warnmeldungen.
Kann RDS wie Aurora Serverless verwendet werden?
Herkömmliche RDS-Instanzen sind nicht serverlos, aber Aurora Serverless bietet diese Möglichkeit. Sie skaliert die Rechenkapazität automatisch je nach Bedarf und ist für unvorhersehbare Arbeitslasten oder seltene Nutzung geeignet.