Wie funktioniert eigentlich die Namensauflösung in Azure?

Stellst du eine virtuelle Maschine in Azure bereit, erhält diese eine private IP-Adresse aus dem Netzwerkbereich des virtuellen Azure-Netzwerkes, in dem sie erstellt wird. Sie erhält aber scheinbar keinen privaten DNS-Namen. Ob du eine öffentliche IP-Adresse erhältst, kannst du im Rahmen der Bereitstellung in Abhängigkeit des jeweiligen Bereitstellungswerkzeugs entscheiden. Sie erhält aber per Default keinen öffentlichen DNS-Namen. Wir verraten dir im Folgenden, wie du private und öffentliche DNS-Namen in Azure einrichten kannst.
Passende Schulungen
AI-900 – Microsoft Azure AI Fundamentals (AI-900T00)
AI-900 – Microsoft Azure AI Fundamentals (AI-900T00): Einführung in künstliche Intelligenz (AI) und Grundlagen von AI in Azure

AZ-104 Microsoft Azure Administrator (AZ-104T00)
AZ-104 Microsoft Azure Administrator (AZ-104T00): Azure Administration für Profis

Du benötigst mehr Know-how rund um MS Azure? Dann empfehlen wir dir unsere Microsoft Azure Schulungen!
Starten wir ausnahmsweise mit einem Fazit, das die verschiedenen verfügbaren Methoden systematisiert. Für die DNS-Auflösung stehen folgende Möglichkeiten zur Verfügung:
Private DNS-Auflösung
- Azure DNS-Service (PaaS)
- In Azure gehostete „private DNS -Zone“ (PaaS)
- Azure DNS-Resolver (PaaS)
- Benutzerdefinierter DNS-Server auf einer Azure-VM (IaaS)
Öffentliche DNS-Auflösung
- Azure DNS-Service (PaaS)
- In Azure gehostete „DNS -Zone“ (PaaS)
- Benutzerdefinierter DNS-Server auf einer Azure-VM (IaaS)
Welche Methode der Namensauflösung du nutzen solltest, hängt von Aspekten wie Kosten und Verwaltbarkeit und unter anderem auch davon ab, wie die Ressourcen miteinander kommunizieren und wie komplex das Gesamt-Szenario aussieht, z. B. im Kontext einer hybriden-Umgebungen mit ADDS-DCs on premise UND in der Cloud.
Passende Schulungen
AZ-140 Configuring and Operating Windows Virtual Desktop on Microsoft Azure (AZ-140T00)

Private DNS-Auflösung
Für die einfache private Namensauflösung zwischen virtuellen Computern, die sich im gleichen virtuellen Netzwerk befinden oder die mit anderen Azure Cloud Services-Rolleninstanzen im gleichen Clouddienst kommunizieren, kannst du wahlweise die von der Azure-Plattform bereitgestellte Namensauflösung verwenden oder eine private DNS-Zone in Azure erstellen. Der erste Fall ist quasi Default und erfordert von dir kein weiteres Eingreifen. Bei dieser Lösung wird ein von Azure bereitgestellter DNS-Dienst verwendet. Das kannst du leicht verifizieren, indem du beim ausgewählten virtuellen Netzwerk ins Menü „DNS Server“ navigierst. Hier ist per Default „Standard (von Azure bereitgestellt)“ eingetragen. Hier wäre ggf. auch der Ansatzpunkt, durch einen Wechsel auf „Benutzerdefiniert“ zu einem eigenen DNS-Server zu wechseln.
Die Einstellung vererbt sich auf jedes Netzwerkinterface, das mit diesem Netzwerk verbunden ist oder verbunden wird, wenn du eine neue VM in diesem Netzwerk erstellst. Navigiere dazu in Menü „DNS-Server“ der ausgewählten Netzwerkkarte.
Die Kommunikation mit dem zugehörigen „virtuellen Azure-DNS-Server“ erfolgt aus der VM heraus immer über die spezifische IP-Adresse 168.63.129.16, welche für die betreffende VM eine gefilterte Namensauflösung bereitstellt. Streng genommen handelt es sich bei dieser IP-Adresse um eine virtuelle öffentliche IP, die einen Kommunikationskanal zu den Ressourcen der Azure-Plattform ermöglicht und noch andere Aufgaben übernimmt wie, z. B die Kommunikationen zwischen dem Azure-VM-Agenten und der Azure Plattform, für das Ermitteln des Integritätsstatus der VM für Azure-Load Balancer, für die Bereitstellung von Taktsignalen des Azure-Gast-Agenten oder das Abrufen einer dynamischen IP-Adresse vom Azure DHCP-Dienst. Du kannst das gut nachvollziehen, wenn du „in“ der VM das Ergebnis von „ip config / all“ ansiehst:
Diese von Azure gesteuerte Namensauflösung stellt jedoch nur essenzielle autoritative DNS-Funktionen bereit, wobei Azure die DNS-Zonennamen und -Einträge vollständig für dich verwaltet, d. h. du kannst weder den vorgegeben DNS-Zonennamen noch den Lebenszyklus der DNS-Einträgen steuern. Den Zonennamen musst du ohnehin gar nicht angeben, denn bei via Ressource Manager bereitgestellten virtuellen Netzwerkwerken ist der DNS-Suffix aller virtuellen Computer im virtuellen Netzwerk einheitlich, sodass du den vollständigen FQDN nicht benötigst.
Das gilt sowohl für virtuelle Computer als auch für Instanzen in einem Azure-Clouddienst. Wie du der Abbildung 4 entnehmen kannst, löst die VM „dnsdemo-vm0“ die VM „dnsdemo-vm1“ über den DNS-Server 168.63.129.16 anstandslos auf, auch ohne DNS-Suffix „….. internal.cloudapp.net“
Möchtest du den Namen des DNS-Zone für die private Namensauflösung in Azure selbst bestimmen, kannst du in Azure den PaaS-Dienst „Private-DNS-Zonen“ nutzen. Suche im Azure Portal nach dem Dienst (Du findest ihn auch über die Kategorisierung „Alle Dienste“ im Abschnitt „Netzwerk“) und klicke auf „Private DNS-Zone erstellen“, um eine eigene nicht öffentliche DNS-Zone in Azure zu hosten. Die Zone benötigt keinen Standort, da es sich um einen globalen Service handelt. Du brauchen lediglich eine Ressourcengruppe und den Namen.
Wurde die DNS-Zone erstellt, kannst du der Übersichtsseite entnehmen, dass diese zunächst nur über ein einziges Record-Set, den so genannten SOA-Eintrag (Source of authority) verfügt. Im Falle von virtuellen Maschinen als Ziele benötigst du noch A- (IPv4), bzw. AAAA- (IPv6) Einträge für deine VMs. Diese können bei privaten DNS-Zonen automatisch erzeugt werden, indem du die DNS-Zone mit dem gewünschten virtuellen Netzwerk verknüpfst.
Klicke dazu im Abschnitt „Einstellungen“ auf „Verknüpfungen virtueller Netzwerke“, um dort mit „+ Hinzufügen“ ein neues VNET zu verknüpfen. Dieser „Link“ benötigt lediglich einen Namen und das Ziel-Netzwerk aus dem gewünschten Abonnement. Setzt du dabei die Option „Automatische Registrierung aktivieren“, erhält jede VM, die sich gegenwärtig in diesem Netzwerk befindet, sowie jede Künftige, automatisch deinen A-Eintrag in dieser Zone.
Du kannst das anschließend auf der Übersichtsseite leicht verifizieren und die Namesauflösung anschließend in der gleichen Weise testen wie im Beispiel oben, nur dass du hier den vorständigen FQDN angeben musst.
Die beiden bisher vorgestellten Lösungen kannst du für die Namensauflösung zwischen virtuellen Computern im gleichen virtuellen Netzwerk oder Azure Cloud Services-Rolleninstanzen im gleichen Cloud-Service verwenden. Für die Namensauflösung aus den Azure App Services (Web App, Azure Funktion) mithilfe von Integration virtueller Netzwerke in Rolleninstanzen oder die Namensauflösung aus App Service-Web-Apps in virtuelle Computer im gleichen virtuellen Netzwerk, sowie in ein anderes virtuelles Netzwerk hingegen, benötigst du entweder den Azure-PaaS-Dienst „Private DNS Resolver“ oder einen eigenen (z. B. auf einer Azure-VM gehosteten) DNS-Server. Gleiches gilt für die Auflösung lokaler Computer- und Dienstnamen von VMs oder Rolleninstanzen in Azure. Zur Auflösung von Azure-Hostnamen von lokalen Computern durch Weiterleitung von Abfragen an einen vom Kunden verwalteten DNS-Proxyserver im zugehörigen virtuellen Netzwerk, benötigst du in jeden Fall einen eigenen DNS-Server. Einen solchen kannst du z. B. mit Hilfe eines Windows- oder Linux-Servers (Bind DNS) mit Hilfe den jeweiligen Bordmitteln oder durch eine 3rd-Py-Lösung wie z. B. „infoblox“ realisieren. Der Azure-Marktplatz bietet hier reichlich Auswahl:
Beim Azure DNS Private Resolver handelt es sich um einen relativ neuen Dienst, mit dem du von einer lokalen Umgebung private Zonen in Azure DNS abfragen kannst und umgekehrt, ohne dass du dazu selbst einen DNS-Server auf Basis einer virtuellen Maschine breitstellen musst.
Der Dienst ist ziemlich mächtig, da es sich quasi um einen vollständig verwalteten und vorkonfigurierten DNS-Server handelt und demzufolge auch nicht ganz billig im Vergleich zu einer in Azure gehosteten Zone. Möchtest du den Azure DNS Private Resolver einsetzen, benötigst du dazu vorher ein Azure Virtual Network. Bei der Assistenten-geführten Konfiguration musst du „Eingehende Endpunkte“, „Ausgehende Endpunkte“ und „Regelsätze“ einrichten. Eingehende Endpunkte empfangen Anforderungen zur Auflösung von Domänennamen. Ausgehende Endpunkte des Resolvers arbeiten DNS-Abfragen auf Basis der von dir erstellten DNS-Weiterleitungsregeln („Regelsatz“) ab. DNS-Abfragen, die in mit einem Regelsatz verknüpften Netzwerken initiiert werden, lassen sich dann z. B. an andere DNS-Server senden. Du musst keinerlei DNS-Client-Einstellungen auf deiner VMs anpassen, um den Azure DNS Private Resolver verwenden zu können.
Öffentliche DNS-Auflösung
Die einfachste Form der öffentlichen Namensauflösung für Azure-VMs, die über öffentliche IP-Konnektivität verfügen, erreichst du ganz einfach dadurch, dass du auf der Übersichtsseite einer ausgewählten VM neben „DNS-Name“ auf den Link „Nicht konfiguriert“ klickst oder alternativ im Abschnitt „Eigenschaften“ rechts neben „DNS-Name“ auf „Konfigurieren“. Voraussetzung dafür ist, dass die VM über eine öffentliche IP-Adresse verfügt.
Alternativ kannst du auch das Netzwerkinterface der VM auswählen und auf „Konfiguration“ klicken
Trage dann bei „DNS-Namenbezeichnung (optional)“ einen beliebigen, aber eindeutigen DNS-Präfix ein. Dieser muss eindeutig sein, weil sich alle Azure-VMS bezüglich der öffentlichen Namensauflösung in der DNS Domäne „<location>.cloudapp.azure.com“ befinden. Am besten du arbeitest mit einem zufälligen Präfix. Zum Testen der Namensauflösung kannst du „nslookup“ verwenden. Da es sich um öffentliche Namensauflösung befindet, musst du den Test natürlich von „außerhalb“ der VM initiieren, z. B. aus der Azure Cloud Shell oder von deinem Arbeitsplatzrechner.
Eine Rückwärtsauflösung funktioniert auf diese Weise nicht.
Möchtest du den Namen der zu verwendenden DNS-Zone selbst bestimmen und außerdem Einfluss auf die zu erstellenden Datensätze nehmen, musst du eine „öffentliche DNS-Zone“ in Azure hosten. Suche dazu im Azure-Portal nach dem Eintrag „DNS Zonen“ oder navigiere über „Alle Dienste / Netzwerk“ dorthin.
Die DNS-Zone bekommt lediglich eine Ressourcengruppe und einen Namen, aber keinen Standort, weil es sich um einen globalen Dienst handelt.
Wie du an der Übersichtseite erkennen kannst, wird automatisch ein SOA-Datensatz angelegt, sowie ein NS-Datensatz mit 4 Nameserver-Einträgen. Die A- (IPv4) oder AAAA- (IPv6)-Einträge für deine VMs musst du hier allerdings selbst anlegen. Klicke dazu auf „+Datensatzgruppe)“
Füge dann bei „Name“ den Domain-Präfix deiner VM und unten bei IP-Adresse die öffentliche IP-Adresse deiner VM ein. Du kannst pro Datensatzgruppe bis zu 20 Datensätze einfügen, im Falle eines A-Records also bis zu 20 IP-Adressen.
Tatsächlich funktionieren wird die öffentliche Namensauflösung auf die Weise indes erst dann, wenn die zuständigen Nameserver der Domäne an Azure delegiert werden, d. h. du musst (sofern dazu berechtigt) beim Registrar deiner DNS-Domäne die dort eingetragenen Nameserver (NS-Einträge) durch die 4 Azure-Nameserver ersetzen, wie sie auf der Übersichtseite angezeigt werden. Hier ein Beispiel für eine bei AWS betriebene Zone.
Möchtest du die Nameserver nicht wirklich delegieren, kannst du das korrekte Funktionieren der Namensauflösung aber trotzdem testen, z. B mit „nslookup“. Du musst dann beim Verwenden von „nslookup“ lediglich den zu verwendenden (Azure)-Nameserver explizit mit angeben, wie du folgender Abbildung einer testweise mit nslookup in der Cloud-Shell durchgeführten öffentlichen Namensauflösung entnehmen kannst
Selbstverständlich kannst du aber auch für die öffentliche Namensauflösung einen benutzerdefinierten DNS-Server z. B. auf einer Azure-VM betreiben, was wir in einem weiteren Artikel thematisieren werden, ebenso wie den „Azure Private DNS Resolver“.
Fazit
Wie einleitend erwähnt stellt dir Azure zahlreiche Möglichkeiten zur Verfügung, öffentliche und private DNS-Namen für Azure-VMs zu konfigurieren und wird damit vielen verschiedenen DNS-Auflösungs-Szenarien von grundlegend bis sehr komplex gerecht.
Kontakt

„*“ zeigt erforderliche Felder an