Überspringen zum Hauptinhalt

Amazon-RDS-Proxy

Machen Sie Ihre Anwendungen skalierbarer, robuster und sicherer

Was ist RDS Proxy?

RDS-Proxy ist eine vollständig verwaltete, hochverfügbare und benutzerfreundliche Datenbank-Proxy-Funktion von Amazon RDS, die Ihre Anwendungen 1. skalierbarer macht, indem Datenbankverbindungen gebündelt und gemeinsam genutzt werden, 2. widerstandsfähiger macht, indem die Ausfallzeiten der Datenbank um bis zu 66 % reduziert und Anwendungsverbindungen während eines Ausfalls aufrechterhalten werden, und 3. sicherer macht, indem optional die AWS-IAM-Authentifizierung für Datenbanken durchgesetzt und Anmeldedaten sicher in AWS Secrets Manager gespeichert werden.

Sie müssen keine zusätzliche Infrastruktur bereitstellen oder verwalten, um RDS-Proxy zu verwenden, und es kann für die meisten Anwendungen ohne Änderungen am Code aktiviert werden. 

Vorteile von Amazon-RDS-Proxy

    RDS-Proxy verwaltet einen Pool etablierter Verbindungen zu Ihren RDS-Datenbank-Instances und reduziert so die Belastung der Datenbank-Rechen- und Speicherressourcen, die normalerweise beim Aufbau neuer Verbindungen auftritt. Es teilt auch selten verwendete Datenbankverbindungen, sodass weniger Verbindungen auf die RDS-Datenbank zugreifen. Durch dieses Verbindungspooling kann Ihre Datenbank eine große Anzahl und Häufigkeit von Anwendungsverbindungen effizient unterstützen, sodass Ihre Anwendung skaliert werden kann, ohne die Leistung zu beeinträchtigen.

    RDS Proxy minimiert Anwendungsunterbrechungen durch Ausfälle, die sich auf die Verfügbarkeit Ihrer Datenbank auswirken, indem automatisch eine Verbindung zu einer neuen Datenbank-Instance hergestellt wird, während die Anwendungsverbindungen erhalten bleiben. Wenn Failovers auftreten, leitet RDS-Proxy Anfragen direkt an die neue Datenbank-Instance weiter. Dadurch werden die Failover-Zeiten für Aurora- und RDS-Datenbanken um bis zu 66 % reduziert. RDS Proxy unterstützt auch Multi-AZ mit zwei lesbaren Standbys für Failover in der Regel in unter 35 Sekunden, einer doppelt so schnellen Schreiblatenz, zusätzliche Lesekapazität und eine Reduzierung der Ausfallzeit bei kleineren Versions-Upgrades auf typischerweise unter eine Sekunde.

    RDS-Proxy gibt Ihnen zusätzliche Kontrolle über die Datensicherheit, indem Sie die Wahl haben, die IAM-Authentifizierung für den Datenbankzugriff zu erzwingen und zu vermeiden, dass Datenbankanmeldeinformationen fest in Anwendungscode codiert werden. Es ermöglicht außerdem die zentrale Verwaltung von Anmeldedaten mit Secrets Manager.

    Ein Datenbank-Proxyserver hilft dabei, die zusätzliche Belastung Ihrer Datenbank zu bewältigen. Herkömmliche Proxyserver ermöglichen zwar eine effektivere Skalierung von Anwendungen, sind jedoch schwierig zu implementieren, zu patchen und zu verwalten. Das kostet Ressourcen, die besser in die Entwicklung großartiger Produkte investiert werden könnte. RDS Proxy ist ein vollständig serverloser und vollständig verwalteter Datenbank-Proxy, der sich automatisch an Ihren Workload anpasst und Ihnen gleichzeitig die Arbeit mit Patches sowie die Verwaltung Ihres eigenen Proxy-Servers abnimmt.

    RDS Proxy ist vollständig mit den Protokollen der unterstützten Datenbank-Engines kompatibel, sodass Sie es für Ihre Anwendung bereitstellen können, ohne Änderungen an Ihrem Anwendungscode vornehmen zu müssen. Sie verweisen Ihre Anwendungsverbindungen einfach auf den Proxy statt auf die RDS-Datenbank und der Rest wird nahtlos verwaltet.

Erste Schritte mit Amazon-RDS-Proxy

Suchen Sie nach Informationen darüber, wie Sie schnell mit RDS Proxy beginnen können? Im Folgenden finden Sie die wichtigsten Leitfäden, Benutzerhandbücher und Tutorials zur technischen Dokumentation, die Ihnen zeigen, wie Sie in wenigen Schritten mit RDS Proxy loslegen können.

Häufig gestellte Fragen

Allgemeines

Alles öffnen

    Anwendungen mit unberechenbaren Workloads: Anwendungen, die stark variable Workloads unterstützen, können versuchen, eine Vielzahl an Datenbankverbindungen gleichzeitig aufzubauen. Die Verbindungs-Governance von RDS Proxy ermöglicht Kunden das kontrollierte Skalieren von Anwendungen mit unberechenbaren Workloads durch eine effiziente Wiederverwendung von Datenbankverbindungen. Erstens können bei RDS Proxy mehrere Anwendungsverbindungen eine Datenbankverbindung teilen, um die Datenbankressourcen effizient auszunutzen. Zweitens erzielen Kunden mit RDS Proxy eine dauerhaft berechenbare Datenbankleistung, da die Anzahl der aufgebauten Datenbankverbindungen reguliert wird. Drittens entfernt RDS Proxy unbrauchbare Anwendungsanfragen, um die Gesamtleistung und Verfügbarkeit der Anwendung zu erhalten.

    Anwendungen, die häufig Datenbankverbindungen aufbauen und abbrechen: Anwendungen auf Basis von Technologien wie Serverless, PHP oder Ruby on Rails können zur Verarbeitung von Anwendungsanfragen häufig Datenbankverbindungen aufbauen und abbrechen. RDS Proxy ermöglicht es Kunden, einen Pool von Datenbankverbindungen zu pflegen, um eine unnötige Belastung der Datenbankberechnung und des Speichers für den Aufbau neuer Verbindungen zu vermeiden.

    Anwendungen, die Verbindungen aufbauen, aber nicht nutzen: Anwendungen aus dem SaaS- oder eCommerce-Bereich können ungenutzte Datenbankverbindungen aufbauen, um im Bedarfsfall die Reaktionszeit zu minimieren. Anstatt übermäßig viele Datenbankressourcen bereitzustellen, die dann Großteils sich im Leerlauf befindende Verbindungen aufrecht erhalten, können Kunden mit RDS Proxy ungenutzte Verbindungen zurückhalten und Datenbankverbindungen nur in dem Umfang herstellen, wie es zur Verarbeitung aktiver Anfragen nötig ist.

    Anwendungen, die auch bei vorübergehenden Ausfällen verfügbar sein müssen: Mit RDS Proxy können Sie Anwendungen erstellen, die von Datenbankausfällen nicht beeinträchtigt werden, ohne komplexen Code zur Verarbeitung von Ausfällen schreiben zu müssen. RDS Proxy leitet Datenverkehr automatisch auf eine neue Datenbank-Instance um, während Anwendungsverbindungen erhalten bleiben. RDS Proxy umgeht zudem DNS-Caches (Domain Name System), um die Failover-Dauer von Amazon-RDS- und Aurora-Multi-AZ-Datenbanken um bis zu 66 % zu reduzieren. Bei einem Datenbank-Failover kann es bei der Anwendung zu höherer Latenz kommen und laufende Transaktionen können eingestellt werden.

    Höhere Sicherheit und zentralisierte Verwaltung von Anmeldedaten: RDS Proxy unterstützt Kunden bei der Entwicklung sicherer Anwendungen, da sie IAM-basierte Authentifizierung für relationale Datenbanken durchsetzen können. RDS Proxy ermöglicht es Kunden außerdem, Datenbankanmeldeinformationen über den AWS Secrets Manager zentral zu verwalten.

    RDS Proxy ermöglicht neue Ansätze bei der Entwicklung zeitgemäßer Serverless-Anwendungen, welche die Leistung und Einfachheit relationaler Datenbanken ausnutzen. Erstens ermöglicht RDS Proxy die effiziente Skalierung Serverless-Anwendungen durch das Poolen und Wiederverwenden von Datenbankverbindungen. Zweitens müssen Anmeldedaten für die Datenbank bei RDS Proxy nicht mehr über Ihren Lambda-Code gehandhabt werden. Sie können die mit Ihrer Lambda-Funktion verknüpfte IAM-Ausführungsrolle für die Authentifizierung bei RDS Proxy und Ihrer Datenbank verwenden. Drittens müssen Sie keine neue Infrastruktur oder neuen Code verwalten, um das volle Potenzial serverloser Anwendungen in Verbindung mit relationalen Datenbanken zu nutzen. RDS Proxy ist vollständig verwaltet und skaliert seine Kapazität automatisch auf Basis der Anforderungen Ihrer Anwendung.

    RDS Proxy ist verfügbar für Amazon Aurora mit MySQL-Kompatibilität, Amazon Aurora mit PostgreSQL-Kompatibilität, Amazon RDS für MariaDB, Amazon RDS für MySQL, Amazon RDS für PostgreSQL und Amazon RDS für SQL Server. Eine Liste unterstützter Regionen und Engine-Versionen finden Sie im Benutzerhandbuch von Amazon Aurora oder im Benutzerhandbuch von Amazon RDS.

    RDS Proxy lässt sich mit nur wenigen Klicks auf der Amazon-RDS-Konsole für Ihre Amazon-RDS-Datenbank aktivieren. Bei der Aktivierung von RDS Proxy geben Sie die VPC und Subnetze an, von denen aus Sie auf RDS Proxy zugreifen möchten. Als Lambda-Benutzer können Sie RDS Proxy für Ihre Amazon-RDS-Datenbank aktivieren und eine Lambda-Funktion einrichten, um mit wenigen Klicks und ohne die Lambda-Konsole zu verlassen darauf zuzugreifen.

    Für die Authentifizierung zwischen Ihren Anwendungen und der Datenbank über RDS Proxy haben Sie mehrere Optionen. 

    Sie können die herkömmliche Authentifizierung per Benutzername und Passwort mit AWS Secrets Manager nutzen, um Ihre Datenbank-Anmeldedaten zu speichern und so die Verwaltung der Anmeldedaten für Ihre Anwendung zu zentralisieren, zu sichern und zu vereinfachen. Wenn Sie Secrets Manager verwenden, können Sie sich mit RDS Proxy auf die gleiche Weise verbinden, wie Sie eine Verbindung zu Ihrer Datenbank herstellen. Der von Ihnen angegebene Benutzername und das Passwort werden mit den in Secrets Manager gespeicherten Anmeldeinformationen abgeglichen und dann für Datenbankverbindungen verwendet.

    Für eine erhöhte Sicherheit können Sie die IAM-basierte Authentifizierung verwenden. Anstatt einen Benutzernamen und ein Passwort anzugeben, können Ihre Anwendungen eine IAM-Ausführungsrolle verwenden, die Diensten wie AWS Lambda oder EC2 zugeordnet ist, um sich bei RDS Proxy zu authentifizieren. Bei der IAM-Authentifizierung haben Sie zwei Optionen:

    • Verwenden Sie die IAM-Authentifizierung für Client-zu-Proxy-Verbindungen, während Sie Secrets Manager für Proxy-zu-Datenbank-Verbindungen verwenden
    • Verwenden Sie die IAM-Authentifizierung sowohl für Client-zu-Proxy- als auch für Proxy-zu-Datenbank-Verbindungen, sodass Sie Datenbankpasswörter nicht mehr in Secrets Manager speichern müssen

    Weitere Informationen zur Authentifizierung mit RDS Proxy finden Sie unter Verbindung zu einer Datenbank über RDS-Proxy herstellen. 

Kunden

Acquia

„Wir sind ständig auf der Suche nach einer Optimierung und Verbesserung der Leistung und Skalierbarkeit für unsere Kunden. Da Drupal das Verbindungspooling nicht nativ unterstützt, wollten wir eine Lösung, mit der wir die Verbindungen unserer Anwendung in relationalen Datenbanken besser skalieren können. RDS-Proxy ist dafür die perfekte Lösung! Mit RDS-Proxy können die Drupal-Anwendungen unserer Kunden problemlos einen vorgefertigten Pool etablierter Verbindungen nutzen. Dadurch können wir sowohl plötzliche Spitzen im Datenverkehr auf der Website besser bewältigen als auch die Effizienz unserer Datenbanken verbessern.“

Ed Brennan, Chief Architect – Acquia

Missing alt text value

CAINZ

„Wir haben eine serverlose API-Infrastruktur, die auf AWS Lambda basiert und voraussichtlich Zehntausende von Benutzern unterstützen wird. Dafür ist ein skalierbarer Backend-Datenspeicher erforderlich. Obwohl wir uns in solchen Szenarien traditionell auf NoSQL-Datenbanken verlassen haben, bestand die Herausforderung in dieser Situation darin, dass wir starke SQL-Abfragefunktionen benötigten, um die von den Amazon RDS- und Amazon Aurora-Datenbanken bereitgestellten Daten verwalten und darauf zugreifen zu können. Wir können diese Herausforderung jetzt mit RDS-Proxy vor unseren RDS- und Aurora-Datenbanken angehen. In unseren Tests beobachteten wir eine 4-fache Verbesserung der Reaktionszeiten mit RDS Proxy bei Spitzenlasten. RDS-Proxy ist für uns von Vorteil, da wir vertraute SQL-Anweisungen mit unseren relationalen Datenbanken verwenden können und wir lediglich den Endpunkt wechseln mussten.“

Masahiro Arai, Abteilung für digitale Strategie – CAINZ

Missing alt text value

CloudHealth by VMware

„Wir haben kürzlich unsere MySQL-Datenbanken zu Amazon Aurora migriert. In unseren Anwendungen ist eine große Anzahl von Datenbankverbindungen offen, was unsere Datenbanken bei Verbindungsanstiegen belastet und zu Ausfällen für unsere Kunden führt. Nach der Migration zu Aurora wurde RDS Proxy zu einem wichtigen Bestandteil unserer Architektur, um unsere Anwendung zu skalieren und die Kosten zu optimieren. Mithilfe von RDS Proxy konnten unsere Anwendungen weitaus mehr Verbindungen zum Proxy herstellen, was wiederum die Datenbankverbindungen in Spitzenzeiten um bis zu 90 Prozent reduzierte und die Datenbank vor hohen Verbindungszahlen schützte. RDS Proxy hat dazu beigetragen, unsere Systemstabilität zu verbessern und unsere Kosten zu senken. Da weniger Systemressourcen für Datenbankverbindungen benötigt wurden, konnten wir unsere Datenbanken in weniger Aurora-Clustern konsolidieren und so unsere Gesamtbetriebskosten senken.“

Peter Fein, leitender Softwarearchitekt – CloudHealth von VMware

Missing alt text value

Dream 11

„RDS Proxy hat uns während der indischen Premier League 2023 völlig neue Möglichkeiten eröffnet. Es half uns, die massiven Verkehrsspitzen während der Rundenschließung zu bewältigen, ohne Kompromisse bei der Leistung und Verfügbarkeit der Datenbank eingehen zu müssen. Es ermöglichte uns auch, unsere Ressourcen dynamisch zu skalieren und unsere Kosten zu optimieren. Wir waren in der Lage, unseren Benutzern ein nahtloses Erlebnis zu bieten. RDS Proxy ist ein Muss für jede Online-Gaming-Plattform, die unvorhersehbaren und hochvolumigen Datenverkehr bewältigen muss.“

Bipul Karnani, Chefingenieur – Dream 11

Missing alt text value