Amazon RDS Proxy ist eine vollständig verwaltete, hochverfügbare Datenbank-Proxy-Funktion für Amazon Relational Database Service (Amazon RDS), die dafür sorgt, dass Anwendungen skalierbarer, widerstandsfähiger gegen Datenbankausfälle und sicherer sind.
Viele Anwendungen, einschließlich solcher, die auf modernen serverlosen Architekturen aufgebaut sind, können eine große Anzahl offener Verbindungen zum Datenbankserver haben und Datenbankverbindungen mit hoher Geschwindigkeit öffnen und schließen, was den Datenbankspeicher und die Rechenressourcen erschöpft. Mit Amazon RDS Proxy können Anwendungen etablierte Datenbankverbindungen bündeln und gemeinsam nutzen, was die Effizienz der Datenbank und die Skalierbarkeit der Anwendung verbessert. Mit RDS Proxy werden die Failover-Zeiten für Aurora- und RDS-Datenbanken um bis zu 66 % reduziert, und durch die Integration mit AWS Secrets Manager und AWS Identity and Access Management (IAM) können Datenbank-Anmeldeinformationen, Authentifizierung und Zugriff verwaltet werden.
Amazon RDS Proxy kann für die meisten Anwendungen ohne Codeänderungen aktiviert werden. Sie müssen keine zusätzliche Infrastruktur bereitstellen oder verwalten, um mit der Verwendung von RDS Proxy zu beginnen. Die Preisgestaltung ist einfach und basiert auf der Kapazität der zugrunde liegenden Datenbankinstances. Sie zahlen pro Aurora Capacity Unit (ACU) für Amazon-Aurora-Serverless-v2-Instances oder pro vCPU für bereitgestellte Instances. Amazon RDS Proxy ist verfügbar für Amazon Aurora PostgreSQL-kompatible Edition, Amazon Aurora MySQL-kompatible Edition, Amazon RDS für PostgreSQL, Amazon RDS für MySQL, Amazon RDS für MariaDB und Amazon RDS für SQL Server.
Vorteile von RDS Proxy
Funktionsweise
Amazon RDS Proxy befindet sich zwischen Ihrer Anwendung und Ihrer relationalen Datenbank, um Verbindungen zur Datenbank effizient zu verwalten und die Skalierbarkeit der Anwendung zu verbessern.
Anwendungsfälle
Serverlose Anwendungsentwicklung
Mit Amazon RDS Proxy können Sie serverlose Anwendungen erstellen, die skalierbarer und verfügbarer sind, da sie Ihre relationalen Datenbanken effizienter nutzen. Moderne serverlose Anwendungen unterstützen stark variable Arbeitslasten und versuchen möglicherweise, eine Vielzahl neuer Datenbankverbindungen zu öffnen oder viele Verbindungen offen zu halten, aber inaktiv zu halten. Eine Flut von Verbindungen oder eine große Anzahl offener Verbindungen kann Ihren Datenbankserver belasten, was zu langsameren Abfragen und eingeschränkter Skalierbarkeit der Anwendung führen kann. Durch die Bündelung und gemeinsame Nutzung bereits etablierter Datenbankverbindungen können Sie mit RDS Proxy effizient von Ihrer serverlosen Anwendung aus auf viele weitere Verbindungen skalieren. RDS Proxy ermöglicht es Ihnen auch, eine vorhersehbare Datenbankleistung beizubehalten, indem Sie die Gesamtzahl der geöffneten Datenbankverbindungen kontrollieren. Schließlich gewährleistet RDS Proxy die Verfügbarkeit Ihrer serverlosen Anwendung, indem unbrauchbare Anwendungsverbindungen verweigert werden, die die Leistung Ihrer Datenbank beeinträchtigen könnten.
Software-as-a-Service- (SaaS) und E-Commerce-Anwendungen
SaaS- oder E-Commerce-Anwendungen halten oft eine große Anzahl von Datenbankverbindungen offen, um schnelle Reaktionszeiten der Benutzer zu gewährleisten, obwohl nur ein Bruchteil dieser offenen Verbindungen zu einem bestimmten Zeitpunkt aktiv genutzt werden kann. Diese offenen, aber inaktiven Verbindungen verbrauchen immer noch Datenbankspeicher und Rechenressourcen. Anstatt Ihre Datenbank zu überlasten, um die meisten Leerlaufverbindungen zu unterstützen, können Sie RDS Proxy verwenden, um Leerlaufverbindungen von Ihrer Anwendung zurückzuhalten und nur bei Bedarf Datenbankverbindungen herzustellen, um aktive Anfragen optimal zu bedienen.