Wählen Sie die richtige MySQL-Architektur auf OCI aus

Da Unternehmen, die auf Open-Source-Datenbanken wie Oracle HeatWave MySQL angewiesen sind, von selbstverwalteten On-Premises-Lösungen zu verwalteten Cloud-Datenbankservices (wie MySQL-Datenbank) migrieren, um Kosten zu senken und die Betriebseffizienz zu verbessern, müssen Sie lernen, wie Sie die richtige MySQL-Architektur auf Oracle Cloud Infrastructure (OCI) auswählen.

Oracle HeatWave MySQL ist ein verwalteter Datenbankservice auf OCI, der einen hoch skalierbaren und verfügbaren Datenbankservice bereitstellen soll, ohne dass mühsame tägliche Betriebsaufgaben wie Datenbank-Provisioning, Backup, Patches und Upgrades geplant und ausgeführt werden müssen. Wenn Sie Oracle HeatWave MySQL für Ihre Workloads auf OCI einsetzen würden, reduzieren Sie nicht nur die aktuellen Betriebskosten Ihrer selbstverwalteten Datenbanken, sondern können sich auch auf hochwertige und innovative Werke konzentrieren. Um die maximalen Vorteile der Ausführung Ihrer Workloads auf Oracle HeatWave MySQL und OCI zu erzielen, müssen Sie Oracle HeatWave MySQL und OCI verstehen, um eine flexible und skalierbare Cloud-Architektur zu entwerfen, mit der Sie Ihre Cloud-Nutzung basierend auf Ihren Geschäftsanforderungen und -anforderungen erweitern und erweitern können.

Architektur

Diese Referenzarchitektur zielt darauf ab, Ihnen relevante technische Informationen zur Verfügung zu stellen, um Ihr Design zu unterstützen und eine flexible und skalierbare MySQL-Architektur auf OCI zu optimieren, um Ihre Workload-Anforderungen zu unterstützen.

Der Umfang dieser Referenzarchitektur setzt die folgenden nichtfunktionalen Anforderungen und Spezifikationen voraus:

Domains Anforderungen Beschreibungen
Verfügbarkeit R1 Die Architektur sollte hochverfügbar sein, um den 24/7-Betrieb mit einer Betriebszeit von mindestens 99,95% zu unterstützen
  R2
  • RTO <= 4 Stunden
  • RPO <= 1 Stunde
Skalierbarkeit R3 Die Architektur sollte flexibel und skalierbar sein, um die Workloads zu unterstützen
Sicherheit R4 Die Architektur muss hochgradig mit Zugriffskontroll- und Autorisierungsmechanismen gesichert sein

Basierend auf diesen Anforderungen wird das Oracle HeatWave MySQL High Availability-Modell zusammen mit anderen OCI-Services ausgewählt, um die Architektur für Ihre Workloads zu erstellen.

Diese Referenzarchitektur wird in drei verschiedenen Ansichten dargestellt, um die Anliegen der Infrastrukturarchitekten, Informationsarchitekten, DevOps-Ingenieure und Betriebsingenieure zu behandeln.

Infrastrukturansicht



mysql-oci-architecture-infrastructure-oracle.zip

In dieser Architekturansicht wird ein regionales virtuelles Cloud-Netzwerk mit öffentlichen und privaten Subnetzen in einer einzigen OCI-Region bereitgestellt, die drei Availability-Domains (ADs) umfasst. Das Oracle HeatWave MySQL High Availability-Modell stellt drei redundante MySQL-Datenbankinstanzen über die drei ADs in einer OCI-Region mit mehreren ADs oder drei Faultdomains in einer OCI-Region mit einer AD bereit.

Diese Architekturansicht veranschaulicht die Deployment-Optionen für Anwendungen und Netzwerkkonnektivitätsoptionen für Oracle HeatWave MySQL:

  • Oracle HeatWave MySQL wird im gesicherten privaten Subnetz ohne öffentlichen Zugriff über das Internet bereitgestellt.
  • Konnektivitätsoptionen für den Zugriff auf Oracle HeatWave MySQL:
    • Über das Internet mit Oracle Cloud Infrastructure Load Balancing.
    • Über ein VPN zwischen Ihren Data Centern und OCI-Regionen mit OCI Dynamic Routing Gateway:
      • OCI-Site-to-Site-VPN
      • Oracle Cloud Infrastructure FastConnect
  • Im Allgemeinen gibt es drei Deployment-Muster für Anwendungen für den Zugriff auf Oracle HeatWave MySQL in OCI:
    • Anwendungen, die auf Oracle Cloud Infrastructure Compute-Instanzen oder Oracle Cloud Infrastructure Kubernetes Engine-Instanzen bereitgestellt werden (das bevorzugte Muster, bei dem sowohl die Anwendung als auch MySQL Database in derselben OCI-Cloud-Region untergebracht sind).
    • Anwendungen, die in Ihrem Data Center gehostet werden.
    • Anwendungen, die in Nicht-OCI-Clouds gehostet werden (wie Amazon Web Services, Microsoft Azure und andere).

Ansicht Infrastruktur (Skalierbarkeit/Redundanz)



mysql-oci-architecture-scalability-oracle.zip

In dieser Architekturansicht ist die primäre OCI-Region mit Oracle HeatWave MySQL High Availability-Modell über OCI Dynamic Routing Gateway mit einer anderen OCI-Region verbunden. Diese Architekturansicht veranschaulicht die Skalierbarkeit von MySQL innerhalb derselben OCI-Region sowie die Redundanz in einer anderen OCI-Region:

  • Die primären MySQL-Datenbankinstanzen können einfach skaliert werden, indem die Instanzen des "Managed Read Replica" in derselben OCI-Region bereitgestellt werden, um Ihre Lesetransaktionen zu skalieren (siehe "Weitere Informationen").
  • Die primären MySQL-Instanzen können in einem MySQL-Replikat repliziert werden, das in einer anderen OCI-Region bereitgestellt wird, um Redundanz für Ihre Workloads bereitzustellen (siehe "Weitere Informationen").

Datenbankzugriffsansicht

Diese Architekturansicht veranschaulicht die Toolsoptionen für die Arbeit mit Oracle HeatWave MySQL für Datenbankadministratoren und Entwickler:

  • Auf OCI-Tools wie OCI-Datenbanktools (SQL Worksheet) und Oracle Cloud Infrastructure Cloud Shell mit dem mit MySQL Shell vorinstallierten Tool kann über Webbrowser über das öffentliche Internet zugegriffen werden, um mit MySQL zu arbeiten.
  • Mit Oracle Cloud Infrastructure Bastion können Sie Ihre Tools über das Internet mit Oracle HeatWave MySQL verbinden.
    • Mit dem Oracle Cloud Infrastructure Bastion-Service können Sie Ihre Tools über das Internet mit Oracle MySQL Database Service verbinden.
    • Visual Studio Code mit der Vorschauversion des Shell-Plug-ins MySQL kann auch mit minimaler Konfiguration für die Verbindung mit Oracle HeatWave MySQL verwendet werden.


mysql-oci-architecture-database-access-oracle.zip

Vorgangsansicht

Diese Architekturansicht veranschaulicht die Überwachungsaspekte von Oracle HeatWave MySQL mit Oracle Cloud Observability and Management Platform-Services:

  • Erstellen Sie relevante Schwellenwerte in der Oracle HeatWave MySQL-Konsole, um Alarme für den Vorgang "Betriebsunterstützung" auszulösen.
  • Ereignisgesteuerte Überwachung mit OCI Events, um bestimmte MySQL-Ereignisse zu verfolgen (z.B. Datenbankneustart).
  • Echtzeitüberwachung mit OCI Dashboard, um ein benutzerdefiniertes OCI Dashboard auf bestimmten MySQL-Instanzen zu erstellen.


mysql-oci-architecture-operation-oracle.zip

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

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

  • Virtuelles Cloud-Netzwerk (VCN) und Subnetze

    Ein VCN ist ein anpassbares, softwaredefiniertes Netzwerk, das Sie in einer Oracle Cloud Infrastructure-Region einrichten können. 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.

  • Load Balancer

    Der Oracle Cloud Infrastructure Load Balancing-Service ermöglicht automatisierte Trafficverteilung von einem einzelnen Einstiegspunkt auf mehrere Server im Backend.

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

  • Compute

    Mit Oracle Cloud Infrastructure Compute können Sie Compute-Hosts in der Cloud bereitstellen und verwalten. Sie können Compute-Instanzen mit Ausprägungen starten, die Ihre Ressourcenanforderungen für CPU, Speicher, Netzwerkbandbreite und Speicher erfüllen. Nach dem Erstellen einer Compute-Instanz können Sie sicher darauf zugreifen, die Compute-Instanz neu starten, Volumes zuordnen und trennen und die Compute-Instanz beenden, wenn Sie sie nicht mehr benötigen.

  • Ereignisse

    Oracle Cloud Infrastructure-Services geben Ereignisse aus. Dies sind strukturierte Nachrichten, die Änderungen an Ressourcen beschreiben. Ereignisse werden für CRUD-(Create, Read, Update, or Delete-)Vorgänge, Änderungen des Ressourcenlebenszyklusstatus und Systemereignisse ausgegeben, die sich auf Cloud-Ressourcen auswirken.

  • Notifications

    Der Oracle Cloud Infrastructure Notifications-Service überträgt Nachrichten über ein Veröffentlichungs-Abonnementmuster an verteilte Komponenten. So erhalten Sie sichere, äußerst zuverlässige und dauerhafte Nachrichten mit geringer Latenz für Anwendungen, die auf Oracle Cloud Infrastructure gehostet werden.

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

  • FastConnect

    Mit Oracle Cloud Infrastructure FastConnect können Sie ganz einfach eine dedizierte, private Verbindung zwischen Ihrem Data Center und Oracle Cloud Infrastructure herstellen. FastConnect bietet Optionen mit höherer Bandbreite und ein zuverlässigeres Netzwerk als bei internetbasierten Verbindungen.

  • MySQL HeatWave

    Oracle MySQL Database Service ist ein vollständig verwalteter Datenbankservice, mit dem Entwickler schnell sichere, cloudnative Anwendungen mit der beliebtesten Open-Source-Datenbank der Welt entwickeln und bereitstellen können. Oracle HeatWave MySQL ist ein neuer, integrierter, leistungsstarker In-Memory-Abfragebeschleuniger für Oracle MySQL Database Service, der die MySQL-Performance für Analyse- und Transaktionsabfragen beschleunigt.

Empfehlungen

Verwenden Sie die folgenden Empfehlungen als Ausgangspunkt, um die OCI-Architektur entsprechend Ihren Workload-Anforderungen zu entwerfen.

  • VCN
    • Verwenden Sie regionale Subnetze aus Gründen der Flexibilität.
    • 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 innerhalb des privaten IP-Standardadressraums:
      • 10.0.0.0 - 10.255.255.255
      • 172.16.0.0 - 172.31.255.255
      • 192.168.0.0 - 192.168.255.255
    • Wählen Sie CIDR-Blöcke aus, die sich nicht mit einem anderen Netzwerk (in OCI, 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. Oracle MySQL Database Service befindet sich immer in einem privaten Subnetz.
  • Sicherheit
    • 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 OCI die Vorgänge anhand der Policys im Rezept der Sicherheitszone und lehnt Vorgänge ab, die Policys verletzen.
  • Cloud Guard
    • Klonen und passen Sie die von Oracle bereitgestellten Standardrezepte an, um benutzerdefinierte Detektorrezepte und Responder-Rezepte zu erstellen. Mit diesen Rezepten können Sie angeben, welche Art von Sicherheitsverletzungen eine Warnung generieren und welche Aktionen für sie ausgeführt werden dürfen. Beispiel: Sie möchten Oracle Cloud Infrastructure Object Storage-Buckets mit öffentlicher Sichtbarkeit ermitteln.
  • Netzwerksicherheitsgruppen (NSGs)

    Mit NSGs können Sie eine Gruppe von Ingress- und Egress-Regeln definieren, die für bestimmte VNICs gelten. Wir empfehlen die Verwendung von NSGs und nicht von Sicherheitslisten, da NSGs es Ihnen ermöglichen, die Subnetzarchitektur des VCN von den Sicherheitsanforderungen Ihrer Anwendung zu trennen.

Hinweise

Berücksichtigen Sie bei der Standardisierung und Operationalisierung von Oracle HeatWave MySQL als Cloud-Core-Datenbankservice diese anderen Cloud-Servicekonfigurationen, um den Betrieb und die Flexibilität zu vereinfachen.

  • Netzwerkverbindungen
    • Beachten Sie den flexiblen Grenzwert für verschiedene VCN-Limits beim Entwerfen Ihres Cloud-Netzwerks, z.B. 50 VCN-Limit pro OCI-Mandanten. Diese Limits können geändert werden, indem eine Serviceanfrage an den OCI-Support weitergeleitet wird.
    • Für Oracle HeatWave MySQL ist ein Mindestset privater IP-Adressen zu Wartungszwecken erforderlich:
      • MySQL Standalone erfordert drei private IP-Adressen
      • MySQL High Availability erfordert sieben private IP-Adressen
    • Der Oracle Cloud Infrastructure Bastion-Service ist auf eine maximal dreistündige Nutzung begrenzt. Wenn Sie also einen hochverfügbaren Bastionservice für Ihre Anwendungen oder Entwicklungszwecke benötigen, ist es besser, eine dedizierte Oracle Cloud Infrastructure Compute-Instanz als Bastionhost für die Verbindung zu MySQL-Instanzen zu verwenden.
  • Betrieb

    Stellen Sie sicher, dass Sie über das OCI-Dashboard ein benutzerdefiniertes Dashboard für Ihre Flotte von MySQL-Instanzen für Ihren Servicevorgang erstellen.

  • Verfügbarkeit

    Wenn Sie ein MySQL-Replikat als Backup in einer anderen Region erstellen möchten, müssen Sie die Netzwerklatenz zwischen der primären und der Backupregion berücksichtigen. OCI bietet Informationen zur regionsübergreifenden Netzwerklatenz, mit denen Sie entscheiden können, welche Region als Backupregion für Ihre primäre Region verwendet werden soll. Der andere Berücksichtigungsfaktor für das MySQL-Replikat ist die Zeitdauer (binlog_expire_logs_seconds), um die Binärtransaktionslogs beizubehalten, bevor die Logs gelöscht werden. Die Standardzeitdauer für die Aufbewahrung des Binärtransaktionslogs beträgt 3.600 Sekunden oder 60 Minuten. Wenn eine starke Netzwerklatenz zwischen der primären Region und der Backupregion auftritt, können Sie diesen Parameter erhöhen, damit die Transaktionslogs länger gehalten werden, sodass sie beim Replikat MySQL in der Backupregion übertragen und angewendet werden können.

  • Portabilität und Flexibilität
    • Verwenden Sie den OCI Domain Name Service (DNS), um den MySQL-Hostnamen zur Portabilität aufzulösen. Weisen Sie der Instanz MySQL während der Erstellung einen benutzerdefinierten Hostnamen basierend auf Ihrer Benennungskonvention zu, damit der Hostname vom OCI-DNS als VCN-Resolver aufgelöst werden kann.
    • Verwenden Sie den DNS-Hostnamen von Oracle Cloud Infrastructure Load Balancing für verwaltete MySQL-Lesereplikatinstanzen, um Änderungen an Ihrem Anwendungscode aus Gründen der Flexibilität zu minimieren. Sie finden den zugewiesenen DNS-Hostnamen dieses Oracle Cloud Infrastructure Load Balancing in der OCI-DNS-Servicekonsole.

Danksagungen

Authors: Ryan Kuan

Contributors: John Sulyok