Mit angepassten Auflösern arbeiten

Ein benutzerdefinierter privater DNS-Auflöser erweitert die Fähigkeit von IBM Cloud® DNS Services, die Anforderungen einer Hybrid-Cloud-Umgebung zu erfüllen, indem er die Auflösung von IBM Cloud VPC-Hostnamen von lokalen DNS-Auflösern und die Auflösung von lokalen Hostnamen von IBM Cloud aus ermöglicht.

Schlüsselfunktionen des angepassten Auflösers:

  • Erweitert DNS-Auflösungen auf Auflöser, die sich vor Ort befinden
  • Ermöglicht das Auflöser-Fallback auf eine sekundäre Auflösersposition (falls konfiguriert), wenn die primäre Auflöserposition nicht verfügbar ist

Übersicht über den angepassten Auflöser

Um mit einem angepassten Auflöser zu starten, müssen Sie einen angepassten Auflöser erstellen und diesem anschließend Weiterleitungsregeln hinzufügen.

Es wird erwartet, dass der benutzerdefinierte Resolver standardmäßig für Hochverfügbarkeit konfiguriert ist. Führen Sie die Schritte in Angepassten Resolver ohne Hochverfügbarkeit erstellen aus, wenn Sie keine hoch verfügbare Konfiguration wünschen.

Nachdem Sie den angepassten Auflöser erstellt und seine Weiterleitungsregeln konfiguriert haben, kann der Auflöser für den VPC aktiviert werden. Dies führt dazu, dass die DHCP-Option für den Auflöser auf die IP-Adressen des angepassten Auflösers geändert wird.

Übersicht über benutzerdefinierte Resolver-Profile

Sie können benutzerdefinierte Resolver-Profile verwenden, um die Anzahl der Weiterleitungsregeln, sekundären Zonen oder DNS-Ansichten zu erhöhen, die konfiguriert werden können. Wenn Sie viele DNS-Einträge für ihre sekundären Zonen konfigurieren möchten, verhindert ein größeres Profil außerdem Leistungsengpässe.

Die Quoten variieren je nach dem von Ihnen ausgewählten benutzerdefinierten Auflösungsprofil. Weitere Informationen finden Sie unter Kontingente für benutzerdefinierte Resolverprofile.

Reservierte IP für angepasste Auflöser

Virtuelle Einheiten werden für angepasste Auflöser erstellt, um DNS-Abfragen zu bedienen, oder für Statusprüfungen der globalen Lastausgleichsfunktion, um Tests an Ihre Ursprungsserver zu senden, die ihren Allgemeinzustand überwachen. Die virtuelle Appliance wird vollständig von DNS Servicesverwaltet. Sie können jedoch zum Dashboard Teilnetze für VPC wechseln und die Details eines Teilnetzes anzeigen, um die reservierten IP-Adressen dieses Teilnetzes anzuzeigen. Sie können sehen, welche IP-Adresse an die Netzschnittstelle auf der virtuellen Appliance gebunden ist, die von DNS Servicesverwaltet wird.

Reservierte IP
Reservierte IP für virtuelles Gerät, das von DNS Services

In der Spalte Zielressource können Sie anzeigen, welche reservierte IP an eine DNS-Serviceinstanz gebunden ist, bei der eine virtuelle Appliance mit Ihrem Teilnetz verbunden ist. Es wird empfohlen, Automatische Freigabe aktiviert zu lassen (Standardeinstellung). Bei der automatischen Freigabe wird diese IP-Adresse im Rahmen des Löschprozesses für angepasste Auflöser und Pools für globale Lastausgleichsfunktionen automatisch für den IP-Adressenpool freigegeben, nachdem die virtuelle Appliance gelöscht wurde.

Die Inaktivierung der automatischen Freigabe kann Wiederherstellungsoperationen für DNS Services unterbrechen.

Weitergabe angepasster Resolveradressen an Berechnungsinstanzen

Die reservierten IP-Adressen für jede angepasste Auflösungsposition werden zusammen als angepasste Auflöseradressen bezeichnet. Wenn Sie mehrere Positionen in einem angepassten Auflöser aktiviert haben, werden bei der Weitergabe dieser angepassten Auflöser-Adressen an Berechnungsinstanzen in der VPC alle Nachbarschaftsregeln und Optimierungsregeln für den Lastausgleich berücksichtigt.

Die Nachbarschaftsregel wird als bevorzugte Regel zur Bestimmung des primären DNS-Servers für Recheninstanzen betrachtet. Anschließend wird die Lastausgleichsoptimierung berücksichtigt, wenn eine Verfügbarkeitszone keinen Standort hat. Im folgenden Beispiel werden die Regeln für die Bestimmung der Zuordnung des primären DNS-Servers zur Berechnung von Instanzen in den einzelnen Verfügbarkeitszonen beschrieben.

Beispiel 1: Drei Standorte in verschiedenen Verfügbarkeitszonen

In diesem Beispiel hat jede Verfügbarkeit genau eine angepasste Auflösungsposition.

Angepasster Auflöser: R

  • location-1 in us-south-1 hat Adresse: A1
  • location-2 in us-south-2 hat Adresse: A2
  • location-3 in us-south-3 hat die Adresse A3

Die Nähe ist die einzige Richtlinie zur Bestimmung der primären DNS-Server für Recheninstanzen in jeder Verfügbarkeitszone:

  • us-south-1: A1 (primär), A2, A3.
  • us-south-2: A2 (primär), A1, A3.
  • us-south-3: A3 (primär), A1, A2.

Beispiel 2: Zwei von drei Standorten in derselben Verfügbarkeitszone

In diesem Beispiel befinden sich zwei von drei Standorten in derselben Verfügbarkeitszone us-south-1, aber es gibt keine Standorte in us-south-3.

Angepasster Auflöser: R

  • location-1 in us-south-1 hat Adresse: A1
  • location-2 in us-south-1 hat die Adresse A2
  • location-3 in us-south-3 hat die Adresse A3

Die Nachbarschaftsregel wird zuerst angewendet, um primäre DNS-Server für us-south-1 und us-south-3 zu bestimmen, da diese beiden Verfügbarkeitszonen Standorte haben. Als nächstes wird die Optimierungsregel für den Lastausgleich verwendet, um den " location-2 als primären Server für " us-south-2 auszuwählen. Folglich ergeben sich folgende DNS-Server für Recheninstanzen in jeder Verfügbarkeitszone:

  • us-south-1: A1 (primär), A2, A3.
  • us-south-3: A3 (primär), A1, A2.
  • us-south-2: A2 (primär), A1, A3.

Beispiel 3: Alle 3 Standorte befinden sich in derselben Verfügbarkeitszone

In diesem Beispiel befinden sich alle Standorte in derselben Verfügbarkeitszone us-south-1, aber es gibt keine Standorte in us-south-2 und us-south-3.

Angepasster Auflöser: R

  • location-1 in us-south-1 hat Adresse: A1
  • location-2 in us-south-1 hat die Adresse A2
  • location-3 in us-south-1 hat die Adresse A3

Die Proximity-Regel wählt location-1 als primären DNS-Server für " us-south-1 aus. Anschließend ordnet die Optimierungsregel für den Lastausgleich einen primären DNS-Server für us-south-2 und us-south-3 location-2 bzw. location-3zu. Die resultierenden DNS-Server für Recheninstanzen in jeder Verfügbarkeitszone sind:

  • us-south-1: A1 (primär), A2, A3.
  • us-south-2: A2 (primär), A1, A3.
  • us-south-3: A3 (primär), A1, A2.

Beispiel 4: Anzahl der benutzerdefinierten Auflösungspositionen ist kleiner als 3

In diesem Beispiel hat der angepasste Auflöser weniger als drei Positionen.

Angepasster Auflöser: R

  • location-1 in us-south-1 hat Adresse: A1
  • location-2 in us-south-2 hat Adresse: A2

In diesem Fall wird mindestens ein Standort als primärer DNS-Server für zwei Verfügbarkeitszonen verwendet. Nachdem Sie die oben genannten Regeln beachtet haben, werden die resultierenden DNS-Server für Recheninstanzen in jeder Verfügbarkeitszone wie folgt aussehen:

  • us-south-1: A1 (primär), A2.
  • us-south-2: A2 (primär), A1.
  • us-south-3: A1 (primär), A2.

Angepasster Auflöserstatus

Der Status eines neu erstellten benutzerdefinierten Resolvers lautet zunächst Critical, da der Resolverstandort nicht vollständig bereitgestellt ist. Der Status ändert sich in Healthy, nachdem die Auflöserposition in Up geändert wurde.

Die folgenden Statusdefinitionen gelten für die Auflöserpositionen:

  • Aktiv - Wenn die Position des Auflösers funktioniert.
  • Inaktiv - Wenn die Position des Auflösers nicht funktioniert.

Die folgenden Statusdefinitionen gelten für den angepassten Auflöser:

  • In einwandfreiem Zustand - Wenn alle Auflöserpositionen Up sind, lautet der Status Healthy.
  • Vermindert - Wenn mehr als eine Auflöserposition vorhanden ist und eine Position Up, eine andere jedoch Down ist, ändert sich der Status in Degraded.
  • Kritisch - Wenn alle Auflöserpositionen Down sind, ändert sich der Status in Critical.

Benutzerdefinierte Auflösungsfunktionen

Sie können benutzerdefinierte Resolver mit den folgenden Profilen bereitstellen, um verschiedene Funktionen bereitzustellen, einschließlich der Profilgröße der Standortserverinstanz und der maximalen Begrenzung von Ressourcen wie sekundären Zonen, Weiterleitungsregeln und Ansichten.

Wenn Sie ein benutzerdefiniertes Resolverprofil aktualisieren oder herabstufen, müssen die Subnetze, auf denen die benutzerdefinierten Resolver-Standorte bereitgestellt werden, über mindestens eine verfügbare IP-Adresse verfügen.

Wenn keine IP-Adressen verfügbar sind, wird der Änderungsprozess nicht abgeschlossen, auch wenn die benutzerdefinierten Resolver-Standorte weiterhin normal funktionieren. Außerdem können Weiterleitungsregeln und sekundäre Zonen während einer Profiländerung nicht erstellt, aktualisiert oder gelöscht werden.

Die folgende Tabelle zeigt die Fähigkeiten der einzelnen Profile.

Fähigkeiten jedes Profils
Profil Sekundärzonenbegrenzung Begrenzung der Weiterleitungsregel Ansichtslimit pro Weiterleitungsregel
Wesentlich 10 10 1
Erweitert 50 50 3
Premier 100 100 5

Sie können den benutzerdefinierten Resolver und die Standorte nicht aktivieren oder deaktivieren, den benutzerdefinierten Resolver löschen oder Standorte hinzufügen und entfernen, während das benutzerdefinierte Resolverprofil aktualisiert wird.

Ansichten von Weiterleitungsregeln

Eine Ansicht definiert einen Ausdruck, der es ermöglicht, DNS-Abfragen basierend auf dem Auswertungsergebnis an verschiedene DNS-Resolver weiterzuleiten. Diese Auswertung ermöglicht erweiterte Server-Block-Routing-Funktionen wie Split-DNS.

Der View-Ausdruck folgt der Common Expression Language, unterstützt jedoch nicht alle integrierten Funktionen und Makros von CEL. Derzeit unterstützt der Ausdruck nur die folgenden benutzerdefinierten Funktionen, Variablen und Operatoren.

  • Funktionen

    • ipInRange(ip, cidr): Gibt einen booleschen Wert zurück, der angibt, ob die ip-Adresse im cidr-Bereich liegt.
  • Variablen

    • source: Client-Informationen für die DNS-Abfrage.
      • ip: Die IP-Adresse des Clients.
  • Operatoren

    • ||: Logisches ODER
    • &&: Logisches UND
    • !: Logisches NOT
    • ==: Logisch gleich
    • !=: Logisch NotEquals
    • ?:: Bedingt

Beispiele für Ausdrücke anzeigen

  • ipInRange(source.ip, ' 10.240.0.0/24 ')
  • !ipInRange(source.ip, ' 10.240.0.0/24 ')
  • ipInRange(source.ip, 10.240.0.0/24 ') || ipInRange(source.ip, 10.240.1.0/24 ')
  • source.ip == '10.240.0.5'
  • source.ip != '10.240.0.5'

Benutzerdefinierte Resolver-Grenzwerte

Weitere Informationen finden Sie unter "Service limits for DNS services ".