Hallo und willkommen zurück.
Im heutigen Video werden wir über die Grundlagen von Rrds Proxy sprechen.
Bevor wir uns näher mit diesem Thema befassen, ist es wichtig, dass wir zunächst die Grundlagen
und die Vorteile des Datenbank-Proxys verstehen.
Lassen Sie uns also zunächst die Grundlagen des Datenbank-Proxys in einem umfassenden Überblick erörtern.
Ein Datenbank-Proxy ist ein Vermittler zwischen einem Benutzer und der Datenbank, und dasselbe kann in diesem Diagramm
dargestellt werden, wo der Proxy als Vermittler zwischen dem Client und der Datenbank fungiert.
Einer der Vorteile dieses Ansatzes besteht darin, dass alle Abfragen des Clients über diesen speziellen
Proxy laufen und somit viele Kontrollen und Optimierungen auf Proxy-Ebene möglich sind.
Nehmen wir zum Beispiel an, Sie wollen eine bestimmte Art von Anfrage blockieren.
Dies ist etwas, das Sie selbst auf Proxy-Ebene tun können.
Wenn also eine solche Anfrage von einem Client empfangen wird, wird sie jedes Mal, wenn sie direkt an einem Proxy blockiert wird, niemals an die
Datenbank weitergeleitet, und daher gibt es eine Vielzahl von Kontrollen und Optimierungen, die Sie in einer solchen Architektur
anwenden können.
Um die Dinge besser zu verstehen, nehmen wir einen einfachen Anwendungsfall im Zusammenhang mit einem Failover-Szenario.
In diesem speziellen Diagramm haben Sie also eine einzige Datenbank und alle Verbindungen zur Datenbank
laufen über den Proxy.
Aus irgendeinem Grund, nehmen wir an, dass diese primäre Datenbank in solchen Fällen ausfällt.
Wenn eine Standby-Datenbank verfügbar ist, kann der Proxy die Anfrage an die Standby-Datenbankinstanz
weiterleiten.
Also gut.
In diesem Fall braucht sich der Kunde nicht wirklich um die IP-Adresse der Standby-DB-Instanz zu kümmern, denn
wenn sich die primäre Instanz ändert, ändert sich auch die IP-Adresse der DB oder die URL der
Datenbank.
Da der Client jedoch eine Verbindung zum Proxy herstellt, leitet der Proxy die Anfrage um, und damit auch die
bestehende Anfrage, die an den Proxy gerichtet war und eigentlich an die primäre Datenbank gehen sollte.
Da die primäre Datenbank ausgefallen ist, kann der Proxy diese Anfragen an die Standby-DB umleiten.
Diese Anfragen werden nicht fehlschlagen, und dies wird auch die allgemeine Ausfallsicherheit der Anwendung verbessern.
Andernfalls, wenn der Client direkt mit der primären DB kommuniziert und die primäre DB ausfällt, würde die
gesamte Anwendung ausfallen, und das ist etwas, das für die Produktion nicht empfohlen wird.
Um den AIDS-Proxy zu verstehen, ist es wichtig, dass wir die Grundlagen der Datenbankverbindung
kennen.
Wenn zum Beispiel ein Client eine Anfrage an eine Datenbank sendet, sagen wir mal, ein Client sendet eine Schreibanfrage,
bei der er bestimmte Daten in die Datenbank schreiben möchte.
Auch wenn nur wenige Daten in die Datenbank geschrieben werden, laufen hinter den Kulissen
viele Schritte ab.
Einer der ersten Schritte besteht also darin, dass die Anwendung den Datenbanktreiber verwendet, um die Verbindung
zur Datenbank zu öffnen.
Dies ist also der erste Teil.
Zweitens ist der Netzwerk-Socket auf der Ebene des Betriebssystems geöffnet, um die Anwendung mit der Datenbank
zu verbinden.
Außerdem findet eine Authentifizierung statt.
Sie haben auch Daten, in die geschrieben wird, sobald die Authentifizierung abgeschlossen ist, und sobald der Vorgang, egal
welcher Datenbankvorgang, abgeschlossen ist, kann die Verbindung von der Anwendungsseite aus geschlossen werden, und dann wird
der Netzwerksocket geschlossen.
Von hier aus können wir also verstehen, dass selbst wenn ein Client eine kleine Datenmenge lesen oder schreiben
will, hinter den Kulissen eine Menge Dinge passieren.
Und das wiederum kostet CPU und Speicher.
Wenn es nur eine Anfrage gibt, wirkt sich das nicht wirklich aus, aber nehmen wir an, es gibt Millionen von Anfragen,
Millionen von Benutzern, die die Website besuchen, Millionen von Anfragen, die an die
Datenbank gehen.
Die Aufrechterhaltung der Datenbankverbindung ist dann etwas, das die Last erheblich erhöht.
Um dieses Problem zu lösen, gibt es ein Konzept, das sich "Connection Pooling" nennt.
Das Pooling von Datenbankverbindungen ist also eine Möglichkeit, die Kosten für das Öffnen und Schließen von Verbindungen zu reduzieren,
indem man einen Pool von offenen Verbindungen unterhält.
Hier haben Sie also den Proxy für ein Beispiel zwischen einem Proxy und einer Datenbank.
Es besteht eine offene Verbindung, die bereits aufgebaut ist.
Wenn nun der Client die Anfrage an den Proxy sendet, wird der Proxy, da die Verbindungen bereits vorhanden
sind, die bestehende Verbindung nutzen, um den vom Client angeforderten Vorgang auszuführen.
So wird ein bestimmter Satz oder ein bestimmter Pool offener Verbindungen vom Proxy aufrechterhalten, was die Kosten
in Bezug auf CPU und Speicher hier reduziert.
Also gut.
Ich hoffe, Sie haben damit einige der Vorteile verstanden, die ein Datenbank-Proxy bieten kann.
Ähnlich verhält es sich mit der Funktion "RDF Proxy", wenn wir über Anzeigen sprechen.
Im Großen und Ganzen ist Ideas Proxy also ein vollständig verwalteter Datenbank-Proxy für Amazon Ideas, über den wir gerade sprechen.
Ähnlich wie die Datenbank-Proxy-Ideen bietet auch Proxy eine Reihe von Vorteilen wie Verbindungspooling.
Wir haben besprochen, wie die Verfügbarkeit im Falle eines Ausfalls der primären DB, dann kann der Proxy automatisch eine Verbindung zur Standby-Instanz
herstellen und die Verbindungen werden nicht abgebrochen.
Außerdem haben Sie den Vorteil der Authentifizierung, dass Sie auf Proxy-Ebene die IAM-Authentifizierung für die Datenbank erzwingen können, so dass
Sie die Anmeldeinformationen für die Datenbank nicht unbedingt angeben müssen.
All diese Durchsetzungsmaßnahmen können also auf der Ebene der Bevollmächtigten durchgeführt werden.
Lassen Sie uns also eine Sache tun.
Schauen wir uns eine kurze Demo an.
Für die heutige Demo habe ich eine Datenbankinstanz, die verfügbar ist.
Lassen Sie uns das schnell aufmachen.
Dies ist der Endpunkt der Datenbank.
Lassen Sie uns jetzt schnell eine Verbindung mit dem CLA herstellen.
Lassen Sie mich schnell eine Verbindung mit dem Datenbankendpunkt herstellen.
Ich gebe den Benutzernamen admin und das Passwort wie erwartet an.
Sie sehen, wir sind eingeloggt, und wenn Sie etwas tun wie Datenbanken anzeigen, können wir die Liste der Datenbankgitter
sehen.
Also lasst uns loslegen und herauskommen.
In diesem Stadium haben wir ein Beispiel gewählt, bei dem der Client direkt mit der Datenbank kommuniziert.
Nehmen wir nun ein Beispiel für einen Rrd-Proxy, bei dem der Client eine Verbindung zur Datenbank über
einen Rrd-Proxy herstellt.
In der IDS-Konsole habe ich den Proxy bereits konfiguriert.
Ich möchte es Ihnen kurz zeigen.
Es gibt also einen Proxy, der konfiguriert ist.
Wenn wir hier drüben nachsehen, gibt es einen Proxy-Endpunkt.
Dies ist also der Endpunkt, mit dem sich der Client verbinden muss.
Sobald der Proxy verfügbar ist, müssen Sie den Client so konfigurieren, dass er Anfragen
nur an den Proxy und nicht an die Datenbank sendet.
Dies kann auch über die Sicherheitsgruppe erzwungen werden, wenn Sie dies wünschen.
Darin sehen Sie, dass Sie die Zielgruppe haben, und die Zielgruppe ist hier die Datenbank eins.
Die zugehörige Datenbank ist also Datenbank eins, die nichts anderes als diese spezielle Datenbank ist.
Der Proxy ist also mit der Datenbank verbunden.
Lassen Sie uns nun fortfahren und die Anfrage an den Proxy-Endpunkt senden.
Versuchen wir also noch einmal von meinem CLA aus, eine Verbindung zum Proxy herzustellen.
Geben wir das Passwort an.
Und wie Sie sehen, sind wir mit der Datenbank verbunden.
Wenn Sie erneut eine Datenbank anzeigen lassen, sehen Sie dieselbe Liste von Datenbanken, die jetzt verfügbar
sind, da Sie den IDs-Proxy eingerichtet haben.
Verschiedene Dinge wie das Pooling von Verbindungen und andere werden automatisch vom Proxy übernommen.
Darüber hinaus gibt es noch andere Dinge, die Sie durchsetzen können.
Ich möchte Ihnen kurz ein Beispiel geben.
Hier in der IAM-Authentifizierung können Sie also angeben, ob sie erforderlich ist oder nicht.
Manchmal, wie in diesem Fall, haben wir den Administrator, den Benutzer und das Passwort manuell eingegeben.
Nehmen wir an, Sie wollen das gar nicht, oder Sie wollen das gar nicht zulassen.
Dies ist also auch etwas, das auf der Ebene der Bevollmächtigten durchgesetzt werden kann.
Wenn Sie also die Option "erforderlich" auswählen, bedeutet dies, dass nur die IM-Authentifizierung zulässig ist und keine Datenbankanmeldeinformationen
verwendet werden können.
Sie können TLS auch für den Fall konfigurieren, dass Sie dies wünschen.
Großartig.
Ich hoffe also, dass Sie mit diesem Überblick die Grundlagen dessen, was unser Proxy uns ermöglicht, verstanden
haben, und damit schließe ich das heutige Video ab.