Disaster-Recovery-Lösung für ein Oracle Cloud Infrastructure-API-Gateway bereitstellen

Oracle Cloud Infrastructure API Gateway ist in einer OCI-Region verfügbar, die von Service-Level Agreements (SLAs) geregelt wird. Diese Referenzarchitektur beschreibt die Architektur, die der Implementierung einer regionsübergreifenden, vom Kunden verwalteten Disaster-Recovery-Lösung für OCI API Gateway zugrunde liegt.

Diese Disaster Recovery-Lösung unterstützt:
  • "Aktiv-passive" Topologien, bei denen nur ein Gateway die gesamte Last verarbeitet, obwohl erwartet wird, dass beide Gateways hochgefahren und gestartet sind. Ein aktives Gateway wird nicht durch seinen Status (Aktiv/Gelöscht/Wird aktualisiert) bestimmt, sondern durch das Gateway, zu dem der Traffic geleitet wird und für die Ausführung aller Funktionen aktiviert ist.
  • Vom Kunden verwaltete Replikation von OCI API Gateway-Kategorien, z.B. API-Deployments, Nutzungspläne und API-Abonnenten.
Wenn sowohl primäre als auch sekundäre OCI API Gateways dieselben API-Kategorien und Autorisierungsprovider verwenden, können Sie nach dem Switchover über die Regionen hinweg auf die APIs auf die gleiche Weise zugreifen.

Bevor Sie beginnen

Bevor Sie mit der Konfiguration der Disaster Recovery-Konfiguration für Integrationen beginnen, müssen Sie:
  • Stellen Sie ein zweites OCI API Gateway in einer anderen OCI-Region bereit.
  • Rufen Sie einen benutzerdefinierten DNS-/Hostnamen (in einer Domain Ihrer Wahl) und ein zugehöriges SSL-Zertifikat ab.

Architektur

Diese Referenzarchitektur für OCI API Gateway besteht aus zwei OCI API Gateways in zwei verschiedenen Cloud-Regionen, auf die über einen einzelnen benutzerdefinierten Endpunkt (URL) zugegriffen wird. Um einen einzelnen benutzerdefinierten Endpunkt zu implementieren, können Sie den benutzerdefinierten Endpunktnamen mit einer OCI Domain Name System-(DNS-)Zone auflösen.

Sie können diese benutzerdefinierten URLs als Einstiegspunkt für die OCI-API-Gateways verwenden. Beispiel: api.mycompany.com. Weitere Informationen zum Konfigurieren benutzerdefinierter Endpunkte finden Sie unter "DNS-Servicezonen verwalten", auf die Sie über "Weitere Informationen" zugreifen können.

Die beiden OCI API Gateways in der Architektur sind als primär und sekundär gekennzeichnet, und beide Gateways werden gleichzeitig ausgeführt. Allerdings empfängt nur eines der Gateways Traffic. Zunächst empfängt das primäre Gateway den Trafficfluss. Wenn die primäre Region nicht mehr verfügbar ist, kann der DNS-Datensatz aktualisiert werden, um den Traffic an die sekundäre Region weiterzuleiten.

Das folgende Diagramm veranschaulicht diese Referenzarchitektur für ein öffentliches Gateway (Landing-Zone-Muster für OCI API Gateway):


Beschreibung von apigw-oci-customer-managed-dr-topology.png folgt
Beschreibung der Abbildung apigw-oci-customer-managed-dr-topology.png

apigw-oci-customer-managed-dr-topology-oracle.zip

Diese Architekturen haben die folgenden Komponenten:
  • Tenancy

    Ein Mandant ist eine sichere und isolierte Partition, die Oracle in Oracle Cloud einrichtet, wenn Sie sich für Oracle Cloud Infrastructure registrieren. Sie können Ihre Ressourcen in Oracle Cloud in Ihrem Mandanten erstellen, organisieren und verwalten. Ein Mandant ist ein Synonym für ein Unternehmen oder eine Organisation. In der Regel verfügt ein Unternehmen über einen einzigen Mandanten und spiegelt seine Organisationsstruktur innerhalb dieses Mandanten wider. Ein einzelner Mandant ist in der Regel mit einem einzelnen Abonnement verknüpft, und ein einzelnes Abonnement hat in der Regel nur einen Mandanten.

  • Region

    Eine Oracle Cloud Infrastructure-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).

  • Compartment

    Compartments sind regionsübergreifende logische Partitionen innerhalb eines Oracle Cloud Infrastructure-Mandanten. Mit Compartments können Sie Nutzungsquoten für Ihre Oracle Cloud-Ressourcen organisieren, den Zugriff kontrollieren und festlegen. In einem bestimmten Compartment definieren Sie Policys, die den Zugriff kontrollieren und Berechtigungen für Ressourcen festlegen.

  • Availability-Domain

    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. Ein Fehler in einer Availability-Domain sollte sich also nicht auf die anderen Availability-Domains in der Region auswirken.

  • Virtuelles Cloud-Netzwerk (VCN) und Subnetz

    Ein VCN ist ein anpassbares, softwaredefiniertes Netzwerk, das Sie in einer Oracle Cloud Infrastructure-Region einrichten. Wie herkömmliche Data Center-Netzwerke erhalten Sie mit VCNs die 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.

  • Routentabelle

    Virtuelle Routentabellen enthalten Regeln zum Weiterleiten von Traffic von Subnetzen an Ziele außerhalb eines VCN, in der Regel über Gateways.

  • Sicherheitsliste

    Für jedes Subnetz können Sie Sicherheitsregeln erstellen, die Quelle, Ziel und Typ des Traffics angeben, der im Subnetz und aus dem Subnetz zugelassen werden muss.

  • Oracle Cloud Infrastructure DNS-Service

    Öffentliche DNS-Zonen enthalten die autoritativen DNS-Datensätze, die sich auf den Namenservern von OCI befinden. Sie können öffentliche Zonen mit öffentlich verfügbaren Domainnamen erstellen, die im Internet erreichbar sind. Weitere Informationen finden Sie unter "Überblick über DNS", auf den Sie über "Mehr erfahren" unten zugreifen können.

  • Internetgateway

    Das Internetgateway ermöglicht Traffic zwischen den öffentlichen Subnetzen in einem VCN und dem öffentlichen Internet.

  • Oracle Cloud Infrastructure Web Application Firewall (WAF)

    WAFs schützen Anwendungen mit einem cloudbasierten, PCI-konformen, globalen Web Application Firewall-Service vor böswilligem und unerwünschtem Internettraffic. Durch die Kombination von Threat Intelligence mit konsistenter Regeldurchsetzung auf dem OCI Flexible Network Load Balancer stärkt Oracle Cloud Infrastructure Web Application Firewall die Verteidigung und schützt internetseitige Anwendungsserver und interne Anwendungen. (Diese Komponente ist optional)

  • Flexibler Load Balancer

    Ein Load Balancer verbessert die Ressourcenauslastung, indem Anforderungen über Anwendungsservices geleitet werden, die parallel ausgeführt werden. Wenn der Bedarf steigt, kann die Anzahl der Anwendungsservices erhöht werden, und der Load Balancer verwendet sie, um die Verarbeitung von Anforderungen auszugleichen. (Diese Komponente ist optional)

  • Bastionservice

    Oracle Cloud Infrastructure Bastion bietet eingeschränkten und zeitlich begrenzten sicheren Zugriff auf Ressourcen, die keine öffentlichen Endpunkte haben und strenge Ressourcenzugriffskontrollen erfordern, wie Bare-Metal- und virtuelle Maschinen, Oracle MySQL Database Service, Autonomous Transaction Processing (ATP), Oracle Cloud Infrastructure Kubernetes Engine (OKE) und alle anderen Ressourcen, die Secure Shell Protocol-(SSH-)Zugriff ermöglichen. Mit dem OCI Bastion-Service können Sie den Zugriff auf private Hosts aktivieren, ohne einen Jump-Host bereitzustellen und zu verwalten. Darüber hinaus erhalten Sie eine verbesserte Sicherheitslage mit identitätsbasierten Berechtigungen und einer zentralisierten, auditierten und zeitgebundenen SSH-Session. Mit OCI Bastion ist keine öffentliche IP für Bastionzugriff erforderlich. Dadurch entfällt der Aufwand und die potenzielle Angriffsfläche bei der Bereitstellung von Remotezugriff.

  • 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.

  • Analyse

    Oracle Analytics Cloud ist ein skalierbarer und sicherer Public Cloud-Service, der Business Analysts moderne, KI-gestützte Selfservice-Analysefunktionen für Datenvorbereitung, Visualisierung, Unternehmensberichte, erweiterte Analysen sowie Verarbeitung und Generierung natürlicher Sprache bietet. Mit Oracle Analytics Cloud erhalten Sie außerdem flexible Serviceverwaltungsfunktionen, darunter schnelles Setup, einfache Skalierung und Patches sowie automatisiertes Lebenszyklusmanagement.

  • Identity and Access Management (IAM)

    Oracle Cloud Infrastructure Identity and Access Management (IAM) ist die Zugriffskontrollebene für Oracle Cloud Infrastructure (OCI) und Oracle Cloud Applications. Mit der IAM-API und der Benutzeroberfläche können Sie Identitätsdomains und die Ressourcen innerhalb der Identitätsdomain verwalten. Jede OCI-IAM-Identitätsdomain stellt eine eigenständige Identity and Access Management-Lösung oder eine andere Benutzerpopulation dar.

  • Identitätsdomain (IDom)

    IAM verwendet Identitätsdomains (IDom), um Identitäts- und Zugriffsverwaltungsfeatures wie Authentifizierung, Single Sign-On (SSO) und Identitätslebenszyklusmanagement für Oracle Cloud sowie für Oracle- und Nicht-Oracle-Anwendungen (SaaS, in der Cloud gehostet oder On Premise) bereitzustellen.

  • Policy

    Eine Oracle Cloud Infrastructure Identity and Access Management-Policy gibt an, wer auf welche Ressourcen zugreifen kann und wie. Der Zugriff wird auf Gruppen- und Compartment-Ebene erteilt. Sie können also eine Policy schreiben, die einer Gruppe einen bestimmten Zugriffstyp in einem bestimmten Compartment oder auf den Mandanten gibt.

  • Audit

    Der Oracle Cloud Infrastructure Audit-Service zeichnet Aufrufe aller unterstützten öffentlichen API-Endpunkte von Oracle Cloud Infrastructure automatisch als Logereignisse auf. Alle OCI-Services unterstützen das Logging durch Oracle Cloud Infrastructure Audit.

  • Logging
    Logging ist ein hoch skalierbarer und vollständig verwalteter Service, der Zugriff auf die folgenden Logtypen von Ihren Ressourcen in der Cloud ermöglicht:
    • Auditlogs: Logs zu Ereignissen, die vom Audit-Service ausgegeben werden.
    • Servicelogs:: Logs, die von einzelnen Services wie API Gateway, Events, Functions, Load Balancing, Object Storage und VCN-Flowlogs ausgegeben werden.
    • Benutzerdefinierte Logs: Logs, die Diagnoseinformationen von benutzerdefinierten Anwendungen, andere Cloud-Provider oder eine On-Premise-Umgebung enthalten.
  • Logginganalysen

    Logging Analytics ist ein auf Machine Learning basierender Cloud-Service, der alle Logdaten aus On-Premise- und Multicloud-Umgebungen überwacht, aggregiert, indexiert und analysiert. Ermöglichen Sie Benutzern, diese Daten zu durchsuchen, zu untersuchen und zu korrelieren, um Probleme schneller zu beheben und zu lösen und Erkenntnisse zu gewinnen, um bessere betriebliche Entscheidungen zu treffen.

Empfehlungen

Verwenden Sie die folgenden Empfehlungen als Ausgangspunkt für das Deployment einer Disaster-Recovery-Lösung für ein OCI-API-Gateway. Ihre Anforderungen können von der hier beschriebenen Architektur abweichen.
  • 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.

  • Konnektivität (privates API-Gateway)

    Wenn Sie Ressourcen in OCI bereitstellen, können Sie mit einer einzigen Verbindung zu Ihrem On-Premise-Netzwerk klein anfangen. Diese einzelne Verbindung kann über OCI FastConnect oder über das VPN IPSec erfolgen. Um die Redundanz zu planen, berücksichtigen Sie alle Komponenten (Hardwaregeräte, Einrichtungen, Schaltungen und Stromversorgung) zwischen Ihrem On-Premise-Netzwerk und OCI. Berücksichtigen Sie auch Vielfalt, um sicherzustellen, dass Einrichtungen nicht zwischen den Pfaden geteilt werden.

Hinweise

Berücksichtigen Sie diese Faktoren beim Deployment einer Disaster Recovery-Lösung für ein OCI API Gateway.

  • OCI-DNS-Managementzone verwenden

    Konfigurieren Sie DNS-Datensätze für Ihre OCI-API-Gateways. Sie können eine OCI-DNS-Zone verwenden, um DNS-Datensätze zu verwalten und die Hostnamenauflösung für Ihre OCI-API-Gateways bereitzustellen.

    Nachdem Sie eine Domain (oder eine Subdomain) für Ihre API-Gateways erworben haben, fügen Sie eine OCI-DNS-Zone über die OCI-Konsole oder die API hinzu. Einzelheiten zum Erstellen einer OCI-DNS-Zone und zum Hinzufügen eines Datensatzes finden Sie unter "DNS-Servicezonen verwalten", auf die Sie über "Weitere Informationen" zugreifen können.
    • Fügen Sie in der Zone den benutzerdefinierten Hostnamen des OCI API Gateway als CNAME-Datensatz hinzu.
    • Nachdem Sie die Zonenänderungen erfolgreich veröffentlicht haben, aktualisieren Sie Ihre Domain so, dass sie die OCI-DNS-Namenserver verwendet.
  • Sicherheit

    Mit OCI Identity and Access Management-(IAM-)Policys können Sie kontrollieren, wer auf Ihre Cloud-Ressourcen zugreifen kann und welche Vorgänge ausgeführt werden können. OCI-Cloud-Services verwenden IAM-Policys, wie z.B. das Aufrufen von Funktionen durch OCI API Gateway. OCI API Gateway kann den Zugriff auch mit der Authentifizierung und Autorisierung von OAuth kontrollieren. IAM ermöglicht Authentifizierung und Autorisierung, die über IAM föderiert werden können. Daher kann sich das OCI API Gateway bei einer Vielzahl von Services und Authentifizierungssetups authentifizieren.

  • Performance und Kosten

    OCI API Gateway unterstützt das Antwort-Caching, indem es mit einem externen Cacheserver (wie einem Redis- oder KeyDB-Server) integriert wird, um unnötige Last auf Backend-Services zu vermeiden. Wenn Antworten gecacht werden und ähnliche Anforderungen empfangen werden, können sie durch Abrufen von Daten aus einem Antwortcache abgeschlossen werden, anstatt die Anforderung an den Backend-Service zu senden. Dadurch wird die Last für Backend-Services reduziert und die Performance verbessert und die Kosten gesenkt. OCI API Gateway cacht auch Autorisierungstoken (basierend auf ihrer Zeit, TTL zu verlassen), reduziert die Belastung des Identitätsproviders und verbessert die Performance.

  • Verfügbarkeit

    Ziehen Sie die Verwendung einer High Availability-Option in Betracht, die auf Ihren Deployment-Anforderungen und Ihrer Region basiert. Zu den Optionen gehören die Verteilung von Ressourcen auf mehrere Availability-Domains in einer Region und die Verteilung von Ressourcen auf die Faultdomains in einer Availability-Domain.

  • Überwachung und Warnungen

    Richten Sie Monitoring und Alerts für API-Gateway-Metriken ein.

Stellen Sie

Sie können diese Referenzarchitektur auf Oracle Cloud Infrastructure bereitstellen, indem Sie die folgenden Schritte ausführen:

Der Terraform-Code oci_apigateway_api ist auf GitHub verfügbar. Einen Link finden Sie unter "Mehr erfahren".

  1. Bei der Oracle Cloud Infrastructure-Konsole mit Ihren Oracle Cloud-Zugangsdaten anmelden
  2. Richten Sie die erforderliche sekundäre Sitenetzwerkinfrastruktur ein, wie im Architekturdiagramm dargestellt. Dazu gehören die folgenden Komponenten: VCN, Subnetz, DRG/Internetgateway (privates/öffentliches API-Gateway), Sicherheitsliste, Routingtabelle, Servicegateway, FastConnect/VPN und CPE, öffentliche DNS-Zone
  3. Erstellen Sie ein OCI-API-Gateway. Informationen zum Vorbereiten und Erstellen der OCI-API-Gatewayinstanz finden Sie unter "API-Gateway erstellen". Sie können auf dieses Dokument über "Weitere Informationen" unten zugreifen.
  4. Begrenzen Sie die Netzwerke, die Zugriff auf Ihr API-Gateway haben, indem Sie bei Bedarf die Sicherheitsliste, die Routing-Tabelle und Netzwerksicherheitsgruppen konfigurieren.
  5. Automatisieren Sie die Bereitstellungssynchronisierung. In diesem Schritt wird sichergestellt, dass die Stacks für die API-Deployments, API-Nutzungspläne und API-Abonnements regelmäßig mit CI/CD zwischen der Primär- und der Standbydatenbank synchronisiert werden.

    Hinweis:

    Jede Konfiguration und Änderung basierend auf OCI-API-Managementressourcen-API-Deployments, API-Nutzungsplänen und API-Abonnements kann als Terraform-Stack gespeichert und verwaltet werden. Der Stack kann dann mit OCI DevOps auf die Sekundärseite hochgeladen oder auf eine andere Site angewendet werden.
  6. Führen Sie die Failover-Aufgaben aus.
    • Wechseln Sie zur Disaster Recovery-Umgebung.
    • Wechseln Sie bei Ausfällen von der primären Instanz zur Standbyinstanz, indem Sie den DNS-Datensatz bei Ihrem DNS-Provider oder in der OCI-DNS-Zone aktualisieren, um den Traffic über das API-Gateway an die sekundäre Site weiterzuleiten. Sie können dies manuell über die OCI-Konsole oder über die OCI-REST-API tun. Nach dem Failover-Prozess wird das API-Gateway der Standby-/Sekundärsite zu Ihrem primären API-Gateway, und das zuvor als primär angegebene API-Gateway wird zum neuen Standby-API-Gateway.

Danksagungen

  • Autor: Peter Obert
  • Beitragender: Robert Wunderlich