Stellen Sie Oracle REST Data Services mit High Availability auf Oracle Cloud Infrastructure bereit
Stellen Sie Oracle REST Data Services (ORDS) mit High Availability auf Oracle Cloud Infrastructure (OCI) und REST bereit, um Ihre Datenbank zu aktivieren und die Vorteile der Microservices-Architektur und -Funktionen bereitzustellen.
ORDS überbrückt HTTPS und Ihre Oracle-Datenbank. Als Mid-Tier-Java-Anwendung bietet sie eine Database Management-REST-API, SQL Developer Web, ein PL/SQL-Gateway, SODA for REST und die Möglichkeit, RESTful-Webservices für die Interaktion mit den Daten und Stored Procedures in der Oracle-Datenbank zu veröffentlichen.
ORDS bietet außerdem mehr Flexibilität, indem Deployments unterstützt werden, die Oracle WebLogic Server oder Apache Tomcat verwenden oder sich im Standalone-Modus befinden. ORDS vereinfacht den Deployment-Prozess weiter, da kein Oracle Home erforderlich ist, da ein eingebetteter JDBC-Treiber Konnektivität bereitstellt.
In dieser Referenzarchitektur wird beschrieben, wie Sie ORDS über mehrere VM-Compute-Instanzen hinweg bereitstellen und eine hochverfügbare Middle Tier für Ihre Oracle-Datenbankinstanzen erstellen können.
Architektur
Diese Architektur zeigt, wie Sie Oracle REST Data Services mit High Availability auf OCI bereitstellen.
Die Architektur beginnt mit einem virtuellen Cloud-Netzwerk (VCN) innerhalb einer einzelnen Region. Dieses VCN kann zwar mehrere Availability-Domains (AD) umfassen, verwendet jedoch für diese Referenzarchitektur eine einzelne AD. Diese AD enthält mehrere Faultdomains – Bereiche innerhalb einer AD mit gruppierter Hardware und Infrastruktur. Compute-VMs mit ORDS werden über mehrere Faultdomains bereitgestellt, um High Availability zu erreichen.
Im VCN enthalten mehrere Subnetze bestimmte Architekturkomponenten. Sie beginnt mit einem Internetgateway, das nur Traffic über einen angegebenen Port zu den Load Balancern am Frontend dieses VCN in einem öffentlichen Subnetz zulässt. Die Load Balancer verfügen auch über eine öffentliche IP, mit der Sie bei Bedarf später benutzerdefinierte Domainnamen anwenden können. Der Load Balancer kommuniziert mit dem Subnetz, das die ORDS-Compute-Mid-Tiers enthält. Die Kommunikation wird durch subnetzweite Sicherheitslisten sowie Netzwerksicherheitsgruppen (NSG) gesichert. Sie können diese NSGs auf eine Gruppe von VNICs auf dem Compute- und Load Balancer anwenden, um granulare Sicherheitsregeln für die Kommunikation zwischen diesen Ressourcen bereitzustellen.
Schließlich können die ORDS-Mid-Tiers wieder mit Sicherheitslisten und NSGs auf eine Oracle-Datenbank in einem privaten Subnetz zugreifen. Ressourcen, die private Subnetze verwenden, erhalten keine öffentlichen IPs. Auf diese Weise können Sie die NSGs für eine sichere Kommunikationsschicht zwischen den öffentlichen und privaten Subnetzen verwenden. Bei der Oracle-Datenbankinstanz in diesem privaten Subnetz kann es sich um eine VM-DB-Instanz, eine autonome Datenbank oder eine Exadata Cloud Service-Datenbank handeln.
Das folgende Diagramm veranschaulicht diese Referenzarchitektur.
Beschreibung der Abbildung ha-ords-oci3.png
- Region
Eine OCI-Region ist ein lokalisierter geografischer Bereich, der mindestens ein Data Center enthält, das als Availability-Domain bezeichnet wird. Regionen sind unabhängig von anderen Regionen, und große Entfernungen können sie trennen (über Länder oder sogar Kontinente).
- Availability-Domains
Availability-Domains sind eigenständige, unabhängige Data Center innerhalb einer Region. Die physischen Ressourcen in jeder Availability-Domain sind von den Ressourcen in den anderen Availability-Domains isoliert, was eine Fehlertoleranz sicherstellt. Availability-Domains haben keine gemeinsame Infrastruktur wie Stromversorgung oder Kühlung oder das interne Availability-Domainnetzwerk. Daher ist es unwahrscheinlich, dass ein Fehler in einer Availability-Domain sich auf die anderen Availability-Domains in der Region auswirkt. Die Ressourcen in dieser Architektur werden in einer einzelnen Availability-Domain bereitgestellt.
- Faultdomains
Eine Faultdomain ist eine Gruppierung aus Hardware und Infrastruktur innerhalb einer Availability-Domain. Jede Availability-Domain verfügt über drei Faultdomains mit unabhängiger Stromversorgung und Hardware. Wenn Sie Ressourcen auf mehrere Faultdomains verteilen, können Ihre Anwendungen physische Serverausfälle, Systemwartungen und Stromausfälle innerhalb einer Faultdomain tolerieren. Die Ressourcen in dieser Architektur werden in mehreren Faultdomains bereitgestellt.
- Virtuelles Cloud-Netzwerk (VCN) und Subnetze
Ein VCN ist ein anpassbares, softwaredefiniertes Netzwerk, das Sie in einer OCI-Region einrichten. Wie herkömmliche Data Center-Netzwerke erhalten Sie mit VCNs vollständige Kontrolle über Ihre Netzwerkumgebung. Ein VCN kann mehrere sich nicht überschneidende CIDR-Blöcke aufweisen, die Sie nach dem Erstellen des VCN ändern können. Sie können ein VCN in Subnetze segmentieren, die sich auf eine Region oder eine Availability-Domain beschränken. Jedes Subnetz besteht aus einem Bereich zusammenhängender Adressen, die sich nicht mit anderen Subnetzen im VCN überschneiden. Sie können die Größe eines Subnetzes nach der Erstellung ändern. Ein Subnetz kann öffentlich oder privat sein.
In dieser Referenzarchitektur werden die Compute-Instanzen mit ORDS zusammen mit dem Load Balancer an ein öffentliches Subnetz angehängt, während die Datenbanken entweder ein privates oder ein öffentliches Subnetz verwenden können. Best Practices für die Datenbanksicherheit stellen Datenbankinstanzen nach Möglichkeit in private Subnetze.
- Load Balancer
Der Oracle Cloud Infrastructure Load Balancing-Service bietet eine automatisierte Trafficverteilung von einem einzelnen Einstiegspunkt auf mehrere Server im Backend. Die öffentliche IP dieses Load Balancers dient auch dazu, bei Bedarf benutzerdefinierte Domainnamen zu registrieren.
- API-Gateway
Mit Oracle Cloud Infrastructure API Gateway können Sie APIs mit privaten Endpunkten veröffentlichen, auf die von Ihrem Netzwerk aus zugegriffen werden kann und die Sie bei Bedarf im öffentlichen Internet verfügbar machen können. Die Endpunkte unterstützen API-Validierung, Anforderungs- und Antworttransformation, CORS, Authentifizierung und Autorisierung sowie Anforderungsbegrenzung.
- Compute-Instanzen/ORDS-Hosts
Mit Oracle Cloud Infrastructure Compute können Sie Compute-Hosts bereitstellen und verwalten. Sie können Compute-Instanzen mit Ausprägungen starten, die Ihren Ressourcenanforderungen entsprechen (CPU, Arbeitsspeicher, Netzwerkbandbreite und Speicher). Nachdem Sie eine Compute-Instanz erstellt haben, können Sie sicher darauf zugreifen, sie neu starten, Volumes anhängen und trennen und sie beenden, wenn Sie sie nicht benötigen. Die Webserver in dieser Architektur werden auf virtuellen Compute-Maschinen mit einer x86- oder ARM-CPU-Architektur ausgeführt
- Datenbankinstanzen
Der Database-Service bietet autonome und gemeinsam verwaltete Oracle Database-Cloud-Lösungen. Autonome Datenbanken sind vorkonfigurierte, vollständig verwaltete Umgebungen, die für Transaktionsverarbeitungs- oder Data Warehouse-Workloads geeignet sind. Gemeinsam verwaltete Lösungen sind Bare-Metal-, Virtual-Machine- und Exadata-DB-Systeme, die Sie mit den Ressourcen und Einstellungen anpassen können, die Ihren Anforderungen entsprechen.
Diese Referenzarchitektur kann für autonome Datenbanken oder gemeinsam verwaltete Datenbankinstanzen verwendet werden.
- Netzwerksicherheitsgruppen (NSGs)
NSGs fungieren als virtuelle Firewalls für Ihre Compute-Instanzen. Mit dem Zero-Trust-Sicherheitsmodell von OCI wird der gesamte Traffic abgelehnt, und Sie können den Netzwerktraffic in einem VCN kontrollieren. Eine NSG besteht aus einer Gruppe von Ingress- und Egress-Sicherheitsregeln, die nur für eine bestimmte Gruppe von VNICs in einem einzelnen VCN gelten. In dieser Architektur werden separate NSGs für den Load Balancer, Webserver und die Datenbank verwendet.
- Routentabellen
Virtuelle Routentabellen enthalten Regeln zum Weiterleiten von Traffic von Subnetzen an Ziele außerhalb eines VCN, in der Regel über Gateways.
- Internetgateway
Das Internetgateway ermöglicht Traffic zwischen den öffentlichen Subnetzen in einem VCN und dem öffentlichen Internet.
- Sicherheitslisten
Die Sicherheitsliste ist eine Gruppe von Ingress- und Egress-Regeln, die angeben, welche Traffictypen für alle VNICs/Instanzen in einem Subnetz zulässig sind. Sicherheitslisten werden auf Subnetzebene angewendet, während NSGs auf VNIC-Ebene angewendet werden. Beide fungieren effektiv als Firewall für eine VNIC. Mit dem Zero-Trust-Sicherheitsmodell von OCI wird der gesamte Traffic zu einer VNIC abgelehnt. Sowohl SL als auch NSG müssen den Traffic explizit zulassen, damit der Traffic zur VNIC zugelassen wird.
- Zero-Trust-Paketweiterleitung (ZPR)
Zusätzlich zu SL und NSG verfügt OCI über ein Netzwerksicherheitskonstrukt namens Zero-Trust Packet Routing. ZPR ist ein absichtsbasiertes sicheres Netzwerk, das auf Ebene 4 agiert und in einer menschenlesbaren Policy-Sprache implementiert werden kann. Durch die Zuweisung von Sicherheitsattributen ("Tags" für ZPR) zu Ihren Ressourcen können Sie granulare Zugriffskontrollen erstellen, um sicherzustellen, dass nur autorisierte Entitys mit sensiblen Komponenten wie Datenbanken und Anwendungsservern kommunizieren können. Dieser Ansatz reduziert nicht nur das Risiko von unbefugtem Zugriff, sondern vereinfacht auch das Policy-Management, wenn sich Ihre Anwendung weiterentwickelt. ZPR arbeitet mit vorhandenen NSGs und SLs zusammen und bietet eine umfassendere Sicherheitslage, die sich an Änderungen in Ihrer Netzwerkarchitektur anpasst. Hier können Sie den Knoten in jedem Subnetz Sicherheitsattribute (spezielle ZPR-Tags) so zuweisen, dass nur der erforderliche Datenverkehr zulässig ist (Flussrichtung, Protokoll und Ports), unabhängig davon, wie sich die Netzwerkarchitektur in Zukunft ändert/verschiebt.
Empfehlungen
- 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 im VCN anhängen möchten. Verwenden Sie CIDR-Blöcke, die sich innerhalb des privaten IP-Standardadressraums befinden.
Wählen Sie CIDR-Blöcke aus, die sich nicht mit einem anderen Netzwerk (in Oracle Cloud Infrastructure, Ihrem On-Premise-Data Center oder einem anderen Cloud-Provider) überschneiden, zu dem Sie private Verbindungen einrichten möchten.
Nachdem Sie ein VCN erstellt haben, können Sie die CIDR-Blöcke ändern, hinzufügen und entfernen.
Berücksichtigen Sie beim Entwerfen der Subnetze Ihren Trafficfluss und Ihre Sicherheitsanforderungen. Hängen Sie alle Ressourcen innerhalb einer bestimmten Ebene oder Rolle an dasselbe Subnetz an, das als Sicherheitsgrenze dienen kann.
Verwenden Sie regionale Subnetze.
Sie sollten Firewalls für jede Netzwerkgrenze bereitstellen.
- Load Balancing
OCI bietet flexibles Load Balancing. Sie können Load Balancer mit Ober- und Untergrenzen erstellen, damit sie basierend auf der Anzahl der eingehenden Anforderungen skaliert werden können. Die Grenzen können von 10mbps bis 8000mbps reichen. Für Instanzen, bei denen Load Balancing mit mehreren ADs oder Regionen erforderlich ist, verwenden Sie DNS Cloud Service mit Steuerungsfunktion für Trafficmanagement.
- Sicherheit
Mit Oracle Cloud Guard können Sie die Sicherheit Ihrer Ressourcen in Oracle Cloud Infrastructure proaktiv überwachen und verwalten. Cloud Guard verwendet Detektorrezepte, die Sie definieren können, um Ihre Ressourcen auf Sicherheitsschwächen zu untersuchen und Operatoren und Benutzer auf riskante Aktivitäten zu überwachen. Wenn eine falsche Konfiguration oder unsichere Aktivität erkannt wird, empfiehlt Cloud Guard Korrekturmaßnahmen und unterstützt Sie bei der Ausführung dieser Aktionen basierend auf Responder-Rezepten, die Sie definieren können.
Für Ressourcen, die maximale Sicherheit erfordern, empfiehlt Oracle die Verwendung von Sicherheitszonen. Eine Sicherheitszone ist ein Compartment, das mit einem von Oracle definierten Rezept von Sicherheits-Policys verknüpft ist, die auf Best Practices basieren. Beispiel: Die Ressourcen in einer Sicherheitszone dürfen nicht über das öffentliche Internet zugänglich sein und müssen mit vom Kunden verwalteten Schlüsseln verschlüsselt werden. Wenn Sie Ressourcen in einer Sicherheitszone erstellen und aktualisieren, validiert Oracle Cloud Infrastructure die Vorgänge anhand der Policys im Rezept der Sicherheitszone und lehnt Vorgänge ab, die gegen eine der Policys verstoßen.
- Datenbankinstanzen
Für Produktionsanwendungen muss die Oracle-Datenbankinstanz dem Deployment-Modell der Maximum Availability Architecture (MAA) von Oracle in OCI entsprechen. Die Einhaltung dieser Richtlinien stellt sicher, dass die Datenbank nicht nur hochverfügbar, sondern auch vor Ausfällen und Katastrophen geschützt ist, wenn sie auftreten. Diese Architekturen profitieren auch von Reportingdatenbanken, in denen die DR-Instanz verwendet wird.
Die MAA-Architektur ist direkt in die gemeinsam verwalteten und autonomen Oracle Cloud Infrastructure Database-Services integriert. Data Guard, GoldenGate, RAC und automatische Backups sind sofort verfügbar und sollten gegebenenfalls für die Produktionsumgebung verwendet werden.
Stellen Sie bei der Verwendung von RAC mit Oracle Cluster Registry (OCR)Oracle Database sicher, dass die von ORDS verwendeten Datenbankverbindungsinformationen auf den SCAN-Listener und nicht auf einen einzelnen Knoten verweisen.
- Compute-/ORDS-Instanzen
Empfehlungen finden Sie im folgenden Diagramm, wenn Sie die Größe Ihrer Compute-Mid-Tiers festlegen:
Referenzarchitekturgrößen (virtuelle Maschinen)
Form Maximale Anzahl OCPUs Minimaler Speicher Maximaler Speicher VM.Standard3.Flex 32 1 GB oder Wert, der mit der Anzahl der OCPUs übereinstimmt, unabhängig davon, ob er größer ist 64 GB pro OCPU, bis zu 512 GB gesamt VM.Standard.E2.1.Micro 1 1 GB 1 GB VM.Standard.E4.Flex 64 1 GB oder Wert, der mit der Anzahl der OCPUs übereinstimmt, unabhängig davon, ob er größer ist 64 GB pro OCPU, bis zu 1024 GB gesamt VM.Standard.E5.Flex 94 1 GB oder Wert, der mit der Anzahl der OCPUs übereinstimmt, unabhängig davon, ob er größer ist 64 GB pro OCPU, bis zu 1049 GB gesamt VM.Standard.A1.Flex 76 (OCPU ist 1 Kern eines Alta-Prozessors) 1 GB oder Wert, der mit der Anzahl der OCPUs übereinstimmt, unabhängig davon, ob er größer ist 64 GB pro OCPU, bis zu 472 GB gesamt VM.Standard.A2. FlexFeld 78 (OCPU ist 2 Kerne eines Ampere One-Prozessors) 1 GB oder Wert, der mit der Anzahl der OCPUs übereinstimmt, unabhängig davon, ob er größer ist 64 GB pro OCPU, bis zu 946 GB gesamt Um die Liste der in Ihrem Compartment verfügbaren Ausprägungen zu ermitteln, können Sie den Vorgang
List Shapes
auch über die CLI/das SDK ausführen. Weitere Informationen finden Sie in der API-DokumentationList Shapes
und unter "Computes Shapes", auf die Sie unter "Mehr erfahren" unten zugreifen können.Um die prognostizierten monatlichen Compute-Kosten auf OCI zu ermitteln, können Sie den Kostenrechner verwenden. Detaillierte Informationen zur Abrechnung finden Sie auf der Seite "Fakturierung und Kostenmanagement". Sie können sowohl auf den Kostenrechner als auch auf das "Abrechnung und Kostenmanagement" unter "Mehr erfahren" unten zugreifen.
Referenz Architektur Größen (Bare Metal)
Compute-Ausprägung CPU/Speicher Maximale Netzwerkbandbreite BM.Standard3.64 64 OCPU/1024 GB 2 x 50 GBPS BM.Standard.E4.128 128 OCPU/2048 GB 2 x 50 GBPS BM. Standard. E5.192 192 OCPU/ 2304 GB 1 x 100 GBPS BM.Standard.A1.160 160 OCPU/1024 GB 2 x 50 GBPS
Hinweise
Beachten Sie beim Deployment dieser Referenzarchitektur die folgenden Punkte:
- Performance
Compute-, Load Balancer- und Database Cloud-Instanzen können alle skaliert werden, um eine erhöhte Last zu bewältigen. Mit der Compute-/ORDS-Tier können zusätzliche Instanzen schnell erstellt und der Load-Balancer-Konfiguration hinzugefügt werden. Für die Datenbankebene kann Autonomous Database so eingestellt werden, dass die CPU/der Speicher automatisch skaliert wird, wenn die Last erhöht wird. Bei gemeinsam verwalteten Instanzen kann der VM-basierte Service die Anzahl der auf der VM verwendeten CPUs skalieren. Bei den Exadata-Cloud-Services kann die Plattform X8M nicht nur die CPU skalieren, sondern auch Knoten zum RAC-Cluster hinzufügen, um zusätzliche Rechenleistung hinzuzufügen.
- Sicherheit
Achten Sie darauf, sehr detaillierte Regeln in Ihrem Subnetz und NSG-Ingress-/Egress-Regeln zu verwenden. Sie möchten nur Traffic über die erwarteten Ports zu bestimmten IPs von Instanzen in Ihren Subnetzen. Wenn Zugriff auf eine Compute- oder Datenbankebene erforderlich ist, verwenden Sie die Bastion as a Service für den Zugriff. Dadurch wird sichergestellt, dass nur autorisierte Benutzer auf diese Instanzen und nur auf die spezifischen Instanzen zugreifen können, auf die ihnen Zugriff gewährt wird. Die Verwendung von Bastion as a Service ist eine viel sicherere Methode als die Bereitstellung von SSH-Ports für das öffentliche Internet.
- Verfügbarkeit
Befolgen Sie den Oracle Maximum Availability Architecture-(MAA-)Leitfaden für Datenbank-Deployments. Für ORDS werden mehrere Mid-Tiers mit einem Load Balancer empfohlen. Zur Erinnerung: Stellen Sie bei der Verwendung von RAC mit Oracle Database sicher, dass die von ORDS verwendeten Datenbankverbindungsinformationen auf den SCAN-Listener und nicht auf einen einzelnen Knoten verweisen.
- Kostenfaktor
Die Verwendung von Autoscaling und Skalierung im Allgemeinen für jede Compute- und Datenbankebene trägt zur Kostenkontrolle bei, sodass Sie nur für das bezahlen können, was ohne übermäßige oder verschwendete CPU, Arbeitsspeicher oder Instanzen verwendet wird. Die Kosten können auch mit einem flexiblen Load Balancer gesteuert werden.
Stellen Sie
Mit einem einzigen Klick können Sie den Code für diese Architektur in Oracle Cloud Infrastructure Resource Manager abrufen, den Stack erstellen und bereitstellen.
- Klicken Sie auf
.
Wenn Sie noch nicht angemeldet sind, geben Sie den Mandanten und die Benutzerzugangsdaten ein.
- Wählen Sie die Region aus, in der der Stack bereitgestellt werden soll.
- Befolgen Sie die Anweisungen und Anweisungen zum Erstellen des Stacks auf dem Bildschirm.
- Nachdem Sie den Stack erstellt haben, klicken Sie auf Terraform-Aktionen, und wählen Sie Planen 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 Planen erneut aus.
- Wenn keine weiteren Änderungen erforderlich sind, kehren Sie zur Seite "Stackdetails" zurück, klicken Sie auf Terraform-Aktionen, und wählen Sie Anwenden aus.
Mehr erfahren
Mit den folgenden zusätzlichen Ressourcen erfahren Sie mehr über das Deployment von Oracle REST Data Services mit High Availability auf Oracle Cloud Infrastructure:
.
Danksagungen
- Autoren: Gagan S. Kohli
- Mitwirkende: Eric Peterson, Mayur Raleraskar, Robert Wunderlich, Sherwood Zern
Änderungslog
In diesem Log werden wichtige Änderungen aufgeführt:
22. März 2025 |
|