Einträge in einer privaten DNS-Zone mit OCI-Funktionen automatisieren

In einigen Fällen möchten Kunden die DNS-Einstellungen für ein VCN anpassen und anstelle von oraclevcn.com eine andere Domain für mit VCN verbundene Hosts verwenden. Mit dem Feature "Private DNS-Zone" im DNS-Service (OCI) von Oracle Cloud Infrastructure können Benutzer die Funktionen des integrierten VCN-DNS-Resolvers erweitern, sodass sie benutzerdefinierte Domainnamen für die Ressourcen in den VCNs verwenden können. Diese Architektur erweitert die Lösung, die im Blogpost Anwendungsfall - Benutzerdefiniertes OCI-VCN-DNS beschrieben wird (Zugriff über den Abschnitt "Weitere Informationen" an anderer Stelle in dieser Referenzarchitektur), indem OCI-Ereignisse und -Funktionen zur Automatisierung der Verwaltung von DNS-Zoneneinträgen verwendet werden.

Architektur

In dieser Architektur wird beschrieben, wie Sie mit OCI Functions und Events eine private Zone automatisch mit DNS-Einträgen auffüllen können, wodurch der Bedarf an manuellen Updates und potenziellen Fehlern reduziert wird. Anschließend können Sie mit Events Anforderungen zum Erstellen neuer Instanzen auf Compartment-Ebene erfassen, die Funktion Add DNS record auslösen, um Instanzmetadaten zu erfassen, einen DNS-Datensatz zur privaten DNS-Zone hinzuzufügen und schließlich das Einfügen von Datensätzen zu bestätigen, indem Sie Freiformtags der Instanz aktualisieren. Wenn die Instanz beendet wird, löst das Ereignis die Funktion Remove DNS record aus, um den zugehörigen DNS-Datensatz zu löschen.

Das folgende Diagramm veranschaulicht diese Referenzarchitektur.


Beschreibung von dns_private_zones.png folgt
Beschreibung der Abbildung dns_private_zones.png

dns-private-zones-oracle.zip

Diese Architektur enthält die folgenden Komponenten:
  • Region

    Eine Oracle Cloud Infrastructure-Region ist ein lokalisierter geografischer Bereich, der mindestens ein Data Center enthält, das als Availability-Domains bezeichnet wird. Regionen sind unabhängig von anderen Regionen, und große Entfernungen können sie voneinander trennen (über Länder oder sogar Kontinente).

  • Compartment

    Compartments sind regionsübergreifende logische Partitionen in einem Oracle Cloud Infrastructure-Mandanten. Mit Compartments können Sie Ihre Ressourcen in Oracle Cloud organisieren, den Zugriff auf die Ressourcen kontrollieren und Nutzungsquoten festlegen. Um den Zugriff auf die Ressourcen in einem bestimmten Compartment zu kontrollieren, definieren Sie Policys, mit denen angegeben wird, wer auf die Ressourcen zugreifen kann und welche Aktionen sie ausführen können.

  • 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. Aus diesem Grund ist es wahrscheinlich, dass ein Fehler in einer Availability-Domain sich auf die anderen Availability-Domains in der Region auswirkt.

  • Virtuelles Cloud-Netzwerk (VCN) und Subnetze

    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 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. Sicherheitsliste Sie können für jedes Subnetz Sicherheitsregeln erstellen, die Quelle, Ziel und Typ des Traffics angeben, der in das und aus dem Subnetz zugelassen werden muss.

  • NAT-Gateway

    Das NAT-Gateway ermöglicht privaten Ressourcen in einem VCN den Zugriff auf Hosts im Internet, ohne dass diese Ressourcen für eingehende Internetverbindungen freigegeben werden.

  • Servicegateway

    Das Servicegateway ermöglicht den Zugriff von einem VCN auf andere Services wie Oracle Cloud Infrastructure Object Storage. Der Datenverkehr vom VCN zum Oracle-Service durchläuft die Oracle-Netzwerkfabric und nie das Internet.

  • Private DNS-Zone

    Mit einem privaten DNS können Sie Ihre eigenen privaten DNS-Domainnamen verwenden und die zugehörigen Zonen und Datensätze vollständig verwalten. So können Sie die Hostnamenauflösung für Anwendungen bereitstellen, die in und zwischen virtuellen Cloud-Netzwerken (VCNs) ausgeführt werden, sowie für Ihr On-Premise- oder anderes privates Netzwerk.

  • Oracle Cloud Infrastructure Events

    Mit OCI-Ereignissen können Sie Automatisierung basierend auf den Statusänderungen von Ressourcen in Ihrem Mandanten erstellen. Die ausgegebenen Ereignisse können mithilfe von Regeln gefiltert und dann als Teil einer Aktion in anderen OCI-Services (Benachrichtigung, Streaming, Funktionen) verarbeitet werden.

  • Oracle Functions

    Mit Oracle Functions können Entwickler von einer vollständig verwalteten, mehrmandantenfähigen, hoch skalierbaren, bedarfsgesteuerten Functions-as-a-Service-Plattform profitieren, um Code in der Cloud zu schreiben und auszuführen, ohne die zugrunde liegende Infrastruktur verwalten zu müssen. In dieser Architektur lauten die Funktionen Add DNS record und Remove DNS record.

  • VCN-DNS-Resolver

    Mit dem VCN-DNS-Resolver können von VCN angehängte Instanzen Hostnamen (die Sie zuweisen können) anderer Instanzen in demselben VCN auflösen. Sie können die Standardfunktionen des VCN-DNS-Resolvers erweitern, indem Sie private Zonen an die private VCN-Ansicht anhängen.

Empfehlungen

Verwenden Sie die folgenden Empfehlungen als Ausgangspunkt für die Automatisierung von Einträgen in einer privaten DNS-Zone mit OCI Functions. Ihre Anforderungen können von der hier beschriebenen Architektur abweichen.
  • VCN

    Bestimmen Sie beim Erstellen eines VCN 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 standardmäßigen privaten IP-Adressraums.

    Wählen Sie CIDR-Blöcke aus, die sich mit keinem 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 zugehörigen CIDR-Blöcke ändern, hinzufügen und entfernen.

    Berücksichtigen Sie bei der Entwicklung der Subnetze Ihren Verkehrsfluss 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.

  • 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 ermittelt wird, empfiehlt Cloud Guard Korrekturmaßnahmen und unterstützt das Ausführen 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 für 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 Sicherheitszonenrezept und lehnt Vorgänge ab, die eine der Policys verletzen.

  • Cloud Guard

    Klonen und passen Sie die von Oracle bereitgestellten Standardrezepte an, um benutzerdefinierte Detektor- und Responder-Rezepte zu erstellen. Mit diesen Rezepten können Sie angeben, welche Art von Sicherheitsverletzungen eine Warnung generiert und welche Aktionen für sie ausgeführt werden dürfen. Beispiel: Sie möchten Object Storage-Buckets ermitteln, deren Sichtbarkeit auf "Öffentlich" gesetzt ist.

    Wenden Sie Cloud Guard auf Mandantenebene an, um den größten Geltungsbereich abzudecken und den administrativen Aufwand für die Verwaltung mehrerer Konfigurationen zu reduzieren.

    Sie können das Feature "Verwaltete Liste" auch verwenden, um bestimmte Konfigurationen auf Detektoren anzuwenden.

  • Sicherheitszonen

    Sicherheitszonen setzen Sicherheitsmaßnahmen in OCI-Compartments durch und verhindern Aktionen, die das Sicherheitsniveau eines Kunden beeinträchtigen könnten. Sie können Sicherheitszonen-Policys auf verschiedene Cloud-Infrastrukturtypen (Netzwerk, Compute, Speicher, Datenbank usw.) anwenden, um die Sicherheit von Cloud-Ressourcen sicherzustellen und Sicherheitsfehlkonfigurationen zu verhindern.

  • Netzwerksicherheitsgruppen (NSGs)

    Mit NSGs können Sie eine Gruppe von Ingress- und Egress-Regeln definieren, die für bestimmte VNICs gelten. Es wird empfohlen, NSGs anstelle von Sicherheitslisten zu verwenden, da Sie mit NSGs die Subnetzarchitektur des VCN von den Sicherheitsanforderungen Ihrer Anwendung trennen können. Mit NSGs können Sie eine Gruppe von Ingress- und Egress-Regeln definieren, die für bestimmte VNICs gelten. Es wird empfohlen, NSGs anstelle von Sicherheitslisten zu verwenden, da Sie mit NSGs die Subnetzarchitektur des VCN von den Sicherheitsanforderungen Ihrer Anwendung trennen können.

  • Load Balancer-Bandbreite

    Beim Erstellen des Load Balancers können Sie entweder eine vordefinierte Ausprägungen auswählen, die eine feste Bandbreite bereitstellen, oder eine benutzerdefinierte (flexible) Ausprägung angeben, in der Sie einen Bandbreitenbereich festlegen und die Bandbreite basierend auf Trafficmustern automatisch skalieren lassen. Bei beiden Vorgehensweisen können Sie die Ausprägungen nach dem Erstellen des Load Balancers jederzeit ändern.

Überlegungen

Beachten Sie beim Provisioning der Infrastruktur Folgendes:

  • Bereitstellung

    Der Benutzer, der die Architektur bereitstellt, muss über Administratorrechte verfügen.

  • DNS-Zone

    Die konfigurierte DNS-Zone muss sich im selben Compartment wie das ausgewählte Subnetz befinden.

Bereitstellen

Der Terraform-Code für diese Referenzarchitektur ist als Beispiel-Stack in Oracle Cloud Infrastructure Resource Manager verfügbar. Sie können den Code auch von GitHub herunterladen und an Ihre spezifischen Anforderungen anpassen.

  • Mit dem Beispielstack in Oracle Cloud Infrastructure Resource Manager bereitstellen:
    1. Klicken Sie auf In Oracle Cloud bereitstellen.

      Wenn Sie noch nicht angemeldet sind, geben Sie die Mandanten- und Benutzerzugangsdaten ein.

    2. Wählen Sie die Region aus, in der Sie den Stack bereitstellen möchten.
    3. Befolgen Sie die Anweisungen auf dem Bildschirm, um den Stack zu erstellen.
    4. Nachdem Sie den Stack erstellt haben, klicken Sie auf Terraform-Aktionen, und wählen Sie Planen aus.
    5. 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.

    6. Wenn keine weiteren Änderungen erforderlich sind, kehren Sie zur Seite "Stackdetails" zurück, klicken Sie auf Terraform-Aktionen, und wählen Sie Anwenden aus.
  • Mit dem Terraform-Code in GitHub bereitstellen:
    1. Gehen Sie zu GitHub.
    2. Klonen Sie das Repository, oder laden Sie es auf den lokalen Rechner herunter.
    3. Befolgen Sie die Anweisungen im Dokument README.

Mehr erfahren

Weitere Informationen zu privaten DNS-Zonen in OCI finden Sie in den folgenden Ressourcen:

Prüfen Sie die folgenden zusätzlichen Ressourcen:

Bestätigungen

Autor: Andrei Ilas