DNS-Verhalten und Auflösungslogik
Das Domänennamensystem (DNS) ist die Grundlage des Internets und arbeitet transparent im Hintergrund, um von Menschen lesbare Website-Namen in computerlesbare numerische IP-Adressen umzuwandeln. Diese Adressen entsprechen den RFC-1918-Richtlinien für IPv4 und den RFC-4193-Richtlinien für IPv6. Kurz gesagt, DNS-Server ordnen Domainnamen wie ibm.com beispielsweise den entsprechenden IP-Adressen zu, die die meisten Menschen
nie kennen müssen.
Um diese Übersetzung durchzuführen, fragt das DNS-System ein Netz von miteinander verbundenen DNS-Servern im Internet ab. Dieser Vorgang ist vergleichbar mit der Verwendung eines Telefonbuchs oder einer Karte, um einen bestimmten Ort zu finden.
Namensserver
Ein Nameserver bietet Dienste, die auf Abfragen eines Verzeichnisses reagieren und sinnvolle, textbasierte Web- oder Hostnamen in IP-Adressen übersetzen.
Nameserver-Delegation liegt vor, wenn der Nameserver einer Domäne eine Anfrage nach den Einträgen einer Subdomäne erhält und daraufhin den Anfragenden an den delegierten Nameserver verweist, der die Subdomäne verwaltet. Dieses Verfahren ermöglicht
die dezentrale Verwaltung großer Domänen wie ibm.com.
Mit einem benutzerdefinierten Domain Name Server können Sie die Server des DNS-Anbieters mit dem benutzerdefinierten Referenznamen Ihrer eigenen Domain verwenden. So können Sie beispielsweise Ihren Nameserver als ns1.cloud.ibm.com definieren, anstatt den Standardwert des Anbieters wie ns1.acme.com.
Proxying-DNS-Datensätze und globale Lastausgleichsfunktionen
CIS Unterstützt Proxying für globale Load Balancer und DNS-Einträge. Wenn ein Record oder Load Balancer über einen Proxy läuft, wird sein Datenverkehr direkt über CIS geleitet.
Derzeit können DNS-Datensätze des Typs A, AAAAoder CNAME proxiiert werden. Weitere Informationen finden Sie unter DNS-Eintragstypen.
Proxy-Modi festlegen
Lastausgleichsfunktionen und DNS-Datensätze unterstützen sowohl DNS-als auch HTTP-Proxy-Modi. Sie können HTTP proxy und DNS-only Domains in der gleichen CIS Instanz haben, aber das Traffic-Routing-Verhalten unterscheidet sich: Traffic für Datensätze, die proxy sind, fließt durch CIS, während Traffic für Datensätze, die nicht proxy sind (DNS-only Modus), direkt vom Client zum Ursprung fließt.
HTTP-Proxy-Modus
Im Proxy-Modus „ HTTP “ gibt CIS die IP-Adressen von IBM extern bekannt, schützt (maskiert) jedoch die IP-Adressen Ihres Ursprungsservers. Die angekündigten IP-Adressdatensätze haben eine automatische TTL. Der Datenverkehr fließt durch den „ CIS “, wo alle Sicherheits-, Leistungs- und Zuverlässigkeitsfunktionen wie Firewall-Regeln und Caching angewendet werden. Die „automatische“ TTL (fünf Minuten) reduziert auch die Anzahl der autoritativen Abfragen, die an CIS gestellt werden.
Nur DNS-Modus
Im reinen DNS-Modus werden die Einträge zur Ursprungs-IP aufgelöst, und Sie können die TTL für Ihre Einträge anpassen. Bei globalen Load Balancern liefert CIS die Adressen der funktionierenden Ursprungsserver direkt, verlässt sich jedoch auf DNS-Resolver, die die kurze TTL berücksichtigen, um CIS DNS erneut nach einer aktualisierten Liste funktionierender Adressen abzufragen.
Im reinen DNS-Modus werden keine der Sicherheits-, Zuverlässigkeits- und Leistungsfunktionen von CIS angewendet.
CNAME-Vereinfachung für Rootdatensätze
Die Funktion "CNAME flattening" in CIS ermöglicht es den Root-Records, die IETF RFC-Beschränkung zu umgehen. Diese Einschränkung besagt, dass ein Root-Eintrag, der ein CNAME ist, keine anderen Einträge für diese Domain haben darf.
Autoritative Server von CIS umgehen diese Einschränkung, indem sie anstelle des CNAME selbst den A records entsprechenden Eintrag für das CNAME-Ziel zurückgeben und so den CNAME effektiv verbergen. Mit dieser Technik können andere
Einträge, wie MX-Einträge, zur Domain hinzugefügt werden, obwohl der Root-Eintrag ein CNAME ist.
Secure DNS
DNSSEC ist eine Technologie, die DNS-Daten digital „signiert“, sodass Sie sicher sein können, dass sie gültig sind. Um Schwachstellen im Internet zu beseitigen, muss DNSSEC in jedem Schritt des Suchvorgangs eingesetzt werden, von der Root-Zone
bis zum endgültigen Domainnamen (z. B. www.icann.org).
Stapelverarbeitung von DNS-Einträgen
CIS unterstützt Batch-Änderungen von DNS-Einträgen, so dass Sie mehrere Zonendatensätze in einer einzigen Aktion aktualisieren können. Dieser Ansatz reduziert den manuellen Aufwand und vereinfacht Aufgaben der Domänenverwaltung, wie z. B. Migrationen, die Einrichtung von Umgebungen oder Automatisierungsworkflows. Die Konsole CIS unterstützt zwar einzelne Änderungen, aber Batch-Operationen lassen sich am besten über die API durchführen.
Der Batch-DNS-Datensätze-API-Endpunkt ermöglicht es Ihnen, mehrere DELETES, PATCHES, PUTS und POSTS in einer einzigen Anfrage durchzuführen.
Vorgänge, die in den Körper der Anfrage /batch aufgenommen werden, werden immer in der folgenden Reihenfolge verarbeitet:
- Löschungen
- Patches
- Einreihungen
- Beiträge
Innerhalb jeder Vorgangsart werden die einzelnen Datensatzänderungen in der Reihenfolge ihrer Bearbeitung angewendet. Wenn einer der Vorgänge fehlschlägt, werden keine Änderungen vorgenommen, und die API gibt den ersten Fehler zurück, auf den sie stößt.
Wichtige Überlegungen für Batch-DNS-Einträge
Beachten Sie bei der Angabe der einzelnen Vorgänge im /batch-Anforderungskörper die folgenden Richtlinien für erforderliche Felder und die Behandlung nicht angegebener Felder:
-
Deletes: Nur das Feldidist für jedes Datensatzobjekt erforderlich. Sie können zusätzliche Felder einfügen, z. B.name, um die Übersichtlichkeit zu erhöhen, aber alle anderen Felder werden ignoriert. -
Patches: Geben Sie neben den einzelnen Datensätzeniddie Felder an, die Sie aktualisieren möchten. Alle nicht angegebenen Felder bleiben unverändert. -
Puts: Geben Sie dieid,content,nameundtypefür jeden Datensatz an. Geben Sie auch alle anderen Felder an, die Sie auf andere Werte als die Standardwerte setzen möchten. Alle nicht spezifizierten Felder nehmen den Standardwert für jeden Datensatztyp an. Dieser Vorgang funktioniert wie ein Überschreiben, so dass immer alle Felder in einem Datensatz betroffen sind. -
Posts: Dient zur Erstellung neuer Datensätze. Das Feldidist nicht erforderlich. Felddefinitionen finden Sie unter dem Endpunkt DNS-Eintrag erstellen und wählen Sie den entsprechenden Eintragstyp aus der Spezifikation des Anfragekörpers aus.
Beispielanforderung
In diesem Beispiel nimmt das Proxy-Feld für den ersten Datensatz, der in puts aufgeführt ist, den Standardwert false an.
{
"deletes": [
{
"id": "023e105f4ecef8ad9ca31a8372d0c353"
}
],
"patches": [
{
"id": "023e105f4ecef8ad9ca31a8372d0c353",
"comment": "Domain verification record",
"name": "example.com",
"proxied": true,
"settings": {},
"tags": [],
"ttl": 3600,
"content": "198.51.100.4",
"type": "A"
}
],
"posts": [
{
"comment": "Domain verification record",
"name": "example.com",
"proxied": true,
"settings": {},
"tags": [],
"ttl": 3600,
"content": "198.51.100.4",
"type": "A"
}
],
"puts": [
{
"id": "023e105f4ecef8ad9ca31a8372d0c353",
"comment": "Domain verification record",
"name": "example.com",
"proxied": true,
"settings": {},
"tags": [],
"ttl": 3600,
"content": "198.51.100.4",
"type": "A"
}
]
}