Autonomous Database mit Flask-Webserver bereitstellen
Aktivieren Sie den privaten Zugriff auf eine vollständig verwaltete, autonome Datenbank in Oracle Cloud Infrastructure in einem privaten Subnetz. Dadurch wird der autonomen Datenbank eine private IP für den Zugriff zugewiesen.
Architektur
Diese Architektur zeigt einen öffentlich gerichteten Flask Webserver an, der mit einer autonomen Datenbank verbunden ist, wobei ein privater Endpunkt in Oracle Cloud Infrastructure bereitgestellt wird.

Beschreibung der Abbildung autonom-db-private-endpoint.png
autonom-db-private-endpoint-oracle.zip
Die Architektur verfügt über folgende Komponenten:
- Autonome Datenbank mit privatem Endpunkt
Diese Architektur verwendet eine autonome Datenbank (die eine Oracle Autonomous Transaction Processing-Datenbank oder ein Oracle Autonomous Data Warehouse sein kann), die in einem privaten Subnetz bereitgestellt wird, d. h. mit einem privaten Endpunkt.
- Region
Eine Oracle Cloud Infrastructure-Region ist ein lokalisierter geografischer Bereich, der mindestens ein Rechenzentrum (Availability-Domains) enthält. Regionen sind unabhängig von anderen Regionen, und große Entfernungen können sie trennen (über Länder oder sogar Kontinente).
- Verfügbarkeitsdomains
Availability-Domains sind eigenständige, unabhängige Rechenzentren innerhalb einer Region. Die physischen Ressourcen in jeder Availability-Domain werden von den Ressourcen in den anderen Availability-Domains isoliert, was eine Fehlertoleranz bietet. Verfügbarkeitsdomänen teilen keine Infrastruktur wie Strom oder Kühlung oder das interne Availability-Domänennetzwerk. Somit ist es unwahrscheinlich, dass ein Fehler bei einer Availability-Domain die anderen Availability-Domains in der Region beeinträchtigt.
- Virtuelles Cloud-Netzwerk (VCN) und Subnetze
Ein VCN ist ein anpassbares, softwaredefiniertes Netzwerk, das Sie in einer Oracle Cloud Infrastructure-Region eingerichtet haben. Wie herkömmliche Rechenzentrumsnetze geben VCNs Ihnen die vollständige Kontrolle über Ihre Netzwerkumgebung. Ein VCN kann mehrere nicht überlappende CIDR-Blöcke enthalten, die Sie nach dem Erstellen des VCN ändern können. Sie können ein VCN in Subnetze segmentieren, die für eine Region oder eine Availability-Domain Geltungsbereich haben können. Jedes Subnetz besteht aus einem zusammenhängenden Adressbereich, der sich nicht mit den anderen Subnetzen im VCN überschneidet. Sie können die Größe eines Subnetzes nach der Erstellung ändern. Ein Subnetz kann öffentlich oder privat sein.
In dieser Architektur ist der Webserver an ein öffentliches Subnetz angehängt, und die autonome Datenbank befindet sich in einem privaten Subnetz.
Empfehlungen
Ihre Anforderungen können von der hier beschriebenen Architektur abweichen. Verwenden Sie die folgenden Empfehlungen als Ausgangspunkt.
- Rechenleistungseinheiten
Diese Architektur verwendet eine Oracle Linux 7.7-Compute-Instanz mit einer VM.Standard2.1-Form für den Flask-basierten Server. Wenn die Anwendung mehr Verarbeitungsleistung, Speicher oder Netzwerkbandbreite benötigt, wählen Sie eine größere Form aus.
- VCN
Wenn Sie ein VCN erstellen, bestimmen Sie die Anzahl der erforderlichen CIDR-Blöcke und die Größe jedes Blocks basierend auf der Anzahl der Ressourcen, die Sie an Subnetze in VCN anhängen möchten. Verwenden Sie CIDR-Blöcke, die sich innerhalb des standardmäßigen privaten IP-Adressraums befinden.
Nachdem Sie ein VCN erstellt haben, können Sie die CIDR-Blöcke ändern, hinzufügen und entfernen.
- Autonome Datenbank
In dieser Architektur speichert die Anwendung relationale Daten in einer autonomen Datenbank. Wir empfehlen, die neueste Version von Oracle Database zu verwenden.
Wichtige Aspekte
- Skalierbarkeit des Web-Servers
Sie können Ihre Flask-Anwendung skalieren, indem Sie den Compute-Instanzpool und die automatischen Skalierungsfunktionen verwenden.
Mit Instanzpools können Sie mehrere Compute-Instanzen basierend auf derselben Konfiguration innerhalb derselben Region bereitstellen und erstellen.
Mit der automatischen Skalierung können Sie die Anzahl der Compute-Instanzen in einem Instanzpool basierend auf Performancemetriken, wie der CPU-Auslastung, automatisch anpassen. Mit der automatischen Skalierung können Sie für Benutzer in Zeiten mit hohem Bedarf konsistente Performance bereitstellen und Kosten in Perioden mit niedrigem Bedarf senken.
- Autonome Datenbankskalierbarkeit
Sie können die Basisanzahl der CPU-Kerne der Datenbank jederzeit manuell nach oben oder unten skalieren. Mit der automatischen Skalierung kann Ihre Datenbank jederzeit bis zu dreimal die aktuelle Basisanzahl von CPU-Kernen verwenden. Mit zunehmender Nachfrage erhöht die automatische Skalierung automatisch die Anzahl der verwendeten Kerne. Sie können die Speicherkapazität der Datenbank jederzeit skalieren, ohne die Verfügbarkeit oder Performance zu beeinträchtigen.
- Anwendungsverfügbarkeit
Fault-Domains bieten die beste Resilienz innerhalb einer Availability-Domain. Wenn Sie eine höhere Verfügbarkeit benötigen, sollten Sie mehrere Availability-Domains oder mehrere Regionen verwenden.
- Autonome Datenbankbackups
Ihre autonome Datenbank wird automatisch gesichert, und die Backups werden 60 Tage lang beibehalten. Sie können die Datenbank während des Aufbewahrungszeitraums zu einem beliebigen Zeitpunkt wiederherstellen und wiederherstellen.
Sie können auch manuelle Backups erstellen, um die automatischen Backups zu ergänzen. Manuelle Backups werden in einem Bucket gespeichert, den Sie in Oracle Cloud Infrastructure Object Storage erstellen, und die Backups werden 60 Tage lang beibehalten.
- Backups berechnen
Mit dem Oracle Cloud Infrastructure Block Volumes-Service können Sie Point-in-Time-Backups von Daten auf einem Block-Volume erstellen. Anschließend können Sie die Backups sofort oder später auf neue Volumes wiederherstellen.
Sie können den Service auch verwenden, um ein zeitnahes, absturzkonsistentes Backup eines Boot-Volumes ohne Anwendungsunterbrechung oder Ausfallzeit zu erstellen. Boot-Volume-Backup-Funktionen sind die gleichen wie Block-Volume-Backup-Funktionen.
- Sicherheit
- Policys
Mit Policys können Sie einschränken, wer auf Ihre Oracle Cloud Infrastructure-Ressourcen zugreifen kann und welche Vorgänge sie ausführen können.
- Netzwerksicherheit
Der Netzwerkdienst bietet zwei virtuelle Firewall-Funktionen, die Sicherheitsregeln zur Steuerung des Datenverkehrs auf Paketebene verwenden: Sicherheitslisten und Netzwerksicherheitsgruppen (NSG).
Ein NSG besteht aus einer Gruppe von Ingress- und Egress-Sicherheitsregeln, die nur für eine Gruppe von VNICs Ihrer Wahl innerhalb eines VCN gelten. Beispiel: Ein NSG kann die VNICs aller Compute-Instanzen in die Web-Tier einer Multitier-Anwendung aufnehmen.
NSG-Sicherheitsregeln funktionieren genauso wie Sicherheitslistenregeln. Für die Quelle oder das Ziel einer NSG-Sicherheitsregel können Sie jedoch anstelle eines CIDR-Blocks ein NSG angeben. So können Sie problemlos Sicherheitsregeln schreiben, um den Traffic zwischen zwei NSGs in demselben VCN oder Traffic innerhalb eines einzelnen NSG zu steuern.
Wenn Sie die autonome Datenbank in Oracle Cloud Infrastructure bereitstellen, können Sie eine oder mehrere NSGs angeben. Sie können auch eine vorhandene Datenbank aktualisieren, um eine oder mehrere NSGs zu verwenden.
- Policys
Bereitstellen
Der Terraform-Code für diese Referenzarchitektur ist in GitHub verfügbar. Sie können den Code mit einem einzigen Klick in Oracle Cloud Infrastructure Resource Manager ziehen, den Stack erstellen und bereitstellen. Alternativ können Sie den Code von GitHub auf Ihren Computer herunterladen, den Code anpassen und die Architektur mit der Terraform-CLI bereitstellen.
- Mit Oracle Cloud Infrastructure Resource Manager bereitstellen:
- Klicken Sie auf
Wenn Sie noch nicht angemeldet sind, geben Sie die Mandanten- und Benutzerzugangsdaten ein.
- Prüfen und akzeptieren Sie die Allgemeinen Geschäftsbedingungen.
- Wählen Sie den Bereich, in dem Sie den Stack bereitstellen möchten.
- Befolgen Sie die Anweisungen und Aufforderungen auf dem Bildschirm, um den Stack zu erstellen.
- Klicken Sie nach dem Erstellen des Stacks auf Terraform-Aktionen, und wählen Sie Plan aus.
- Warten Sie, bis der Job abgeschlossen ist, und prüfen Sie den Plan.
Um Änderungen vorzunehmen, kehren Sie zur Seite "Stackdetails" zurück, klicken Sie auf Stack bearbeiten, und nehmen Sie die erforderlichen Änderungen vor. Führen Sie dann die Aktion Plan erneut aus.
- Wenn keine weiteren Änderungen erforderlich sind, kehren Sie zur Seite "Stackdetails" zurück, klicken auf Terraform-Aktionen, und wählen Sie Anwenden.
- Klicken Sie auf
- Deployment mit der Terraform-CLI:
- Gehen Sie zu GitHub.
- Laden Sie den Code herunter oder klonen Sie ihn auf Ihren lokalen Computer.
- Befolgen Sie die Anweisungen im README.
Änderungslog
In diesem Log werden nur die wesentlichen Änderungen aufgeführt:
5. Mai 2022 | Option zum Herunterladen bearbeitbarer Versionen hinzugefügt (. SVG und . DRAWIO) des Architekturdiagramms. |
20. April 2021 | Der Link zum Deployment der Architektur wurde mit Oracle Cloud Infrastructure Resource Manager aktualisiert. |
4. November 2020 | Schritte zum Deployment der Architektur mit Oracle Cloud Infrastructure Resource Manager hinzugefügt. |