Gorodenkoff - stock.adobe.com

So erstellen und verwalten Sie DNS-Zonen in Azure

Unternehmen, die weitläufige Azure-Infrastrukturen betreiben, profitieren mitunter davon, wenn sie auch ihre DNS-Server in Azure verwalten. Wir zeigen, wie es geht.

Die meisten Domain Registries bieten zwar in der Regel ihre eigenen DNS-Server, über die Domain-Inhaber Anfragen bearbeiten, Microsoft verfügt aber auch über ein Angebot für diesen Service in der Azure-Cloud.

Ein Vorteil der Nutzung von Microsoft für DNS ist, dass es einfacher ist, die Umgebung zu konsolidieren – das ist vor allem für Unternehmen interessant, die ohnehin schon in größerem Umfang auf Azure setzen. Externe DNS-Server bedürfen genauer Beobachtung und regelmäßiger Patches, so wie jede Infrastruktur, die direkt mit dem Internet verbunden ist. Azure DNS übernimmt einen Teil dieser Sicherheitsmaßnahmen für Sie.

Um eine Domain in der Azure-Infrastruktur zu hosten, müssen Sie eine DNS-Zone konfigurieren. Mit PowerShell können Administratoren die Konfiguration und Verwaltung von Azure-DNS-Zonen und anderer Aspekte dieses Cloud-Dienstes steuern und automatisieren. Jenseits der Vorteile haben Sie in manchen Szenarien auch gar keine andere Wahl, als Azure-DNS zu nutzen. Das kann zum Beispiel der Fall sein, wenn eine private Namensauflösung in einem einzelnen virtuellen Azure-Netzwerk erforderlich ist.

Erstellen einer Azure-DNS-Zone

Sie greifen auf die DNS-Verwaltungs-Tools von Azure zu, indem Sie sich im Azure-Portal anmelden und links im Menü den Punkt Alle Dienste anklicken. Wählen Sie nun links im Untermenü Netzwerk aus und dann die Option DNS-Zonen (siehe Abbildung 1).

Abbildung 1. Klicken Sie auf die Option DNS-Zonen, um mit der Verwaltung von DNS-Anfragen in Azure zu beginnen.
Abbildung 1. Klicken Sie auf die Option DNS-Zonen, um mit der Verwaltung von DNS-Anfragen in Azure zu beginnen.

Starten Sie mit dem Klick auf +Hinzufügen den Assistenten und füllen Sie die Maske aus wie in Abbildung 2. Wenn Sie fertig sind, klicken Sie auf die Schaltfläche Überprüfen + Erstellen.

Abbildung 2. Beim Erzeugen von Azure DNS-Zonen müssen Sie Ihr Azure-Abonnement, den Namen der Ressourcengruppe und den Zonennamen angeben.
Abbildung 2. Beim Erzeugen von Azure DNS-Zonen müssen Sie Ihr Azure-Abonnement, den Namen der Ressourcengruppe und den Zonennamen angeben.

Azure-DNS-Zonen sind normalerweise schnell – innerhalb einer Minute – einsatzbereit. Es gibt jedoch externe Faktoren wie zum Beispiel Client-DNS-Caching, die den Prozess verzögern können.

In einer Windows-Umgebung können Sie den DNS-Resolver-Cache eines Clients leeren, indem Sie die Eingabeaufforderung öffnen und den folgenden Befehl eingeben:

IPConfig /FlushDNS

Ausführen einer Azure-DNS-Zonenübertragung

Eine DNS-Zone lässt sich in drei einfachen Schritten von einem anderen Dienst nach Azure übertragen. Hinzu kommt gegebenenfalls das Erstellen einer neuen Ressourcengruppe.

Zuerst erstellen Sie eine DNS-Zonendatei mit den vom aktuellen Host bereitgestellten Tools. Die meisten DNS-Anbieter ermöglichen Ihnen das Exportieren einer Zonendatei in Form einer Textdatei (in unserem Code-Beispiel contoso.com.txt), die eine Liste der DNS-Einträge enthält.

Als nächstes importieren Sie die Zonendatei in Azure. Das können Sie mit der Azure CLI (Command Line Interface, Kommandozeile) und folgendem Befehl erledigen:

az network dns zone import -g IhreRessourcengruppe -n contoso.com -f contoso.com.txt

Abschließend konfigurieren Sie Ihre Domäne für die Verwendung von Azure für die DNS-Namensauflösung. Sie müssen sich dazu in Ihrer Domain-Registry anmelden, Ihre Domäne auswählen und sie dann mit den Azure-DNS-Servern verknüpfen. Die Details variieren je nach Ihrer verwendeten Domain Registry. Eine Anleitung für diesen Prozess finden Sie hier.

Private Azure-DNS-Zonen

Üblicherweise setzen Unternehmen Domänenzonen ein, um Domänennamen über das Internet auflösen zu können. Es gibt aber auch Szenarien, für die Sie eine private DNS-Zone brauchen, nämlich wenn Sie ein oder mehrere virtuelle Netzwerke in Azure verwenden. Sie können in einer privaten Zone jeden beliebigen Domänennamen verwenden. Außerdem erlaubt es ein privates Netzwerk, Virtuelle Maschinen (VM) automatisch mit einer privaten DNS-Zone zu registrieren, sodass Sie sich dieser Aufgabe nicht mehr manuell annehmen müssen.

Private DNS-Zonen lassen sich nicht über die grafische Benutzeroberfläche im Azure-Portal einrichten; Sie müssen dafür PowerShell benutzen. Das PowerShell-Modul Az.PrivateDNS bietet die erforderlichen Cmdlets zum Erstellen und Verwalten privater Azure-DNS-Zonen an.

Eine Anleitung zum Erstellen privater DNS-Zonen finden Sie auf dieser Microsoft-Website.

Was tun, wenn eine private Azure-DNS-Zone nicht aufgelöst werden kann?

Private Azure-DNS-Zonen sind in der Regel eher wartungsarm. Clients werden automatisch registriert und entfernt. Manchmal kommt es aber vor, dass Ressourcen innerhalb einer privaten DNS-Zone nicht richtig aufgelöst werden.

Zum Beheben dieses Problems stellen Sie sicher, dass die DNS-Einträge hinreichend Zeit für ihre Verbreitung hatten. Überprüfen Sie als nächstes den voll qualifizierten Domänennamen der Ressource. Wenn Sie eine VM zu einer privaten DNS-Zone hinzufügen, stimmt das DNS-Suffix dieser VM nicht mit der privaten Zone überein, was zu Problemen führen kann. Sie müssen in diesem Fall das Suffix manuell anpassen.

Optionen von Drittanbietern für die Azure DNS-Zonenverwaltung

Neben PowerShell und dem Azure-Admin-Portal können Sie für die Arbeit mit Azure-DNS-Zonen auch das Dienstprogramm eines Drittanbieters verwenden, zum Beispiel Ansible, Salt oder Terraform.

Mit Terraform können Administratoren Infrastrukturkomponenten wie DNS verwalten und konfigurieren, indem sie die Infrastruktur als Code (IaC) definieren. Eine tiefgreifende Beschäftigung mit der optimalen Nutzung von Terraform auf Azure würde den Rahmen dieses Artikels sprengen, aber wir können an einem Beispiel kurz demonstrieren, wie das funktioniert:

Der in Terraform eingegebene Code ist in Abschnitte unterteilt. Der erste Teil deklariert mit folgendem Befehl Azure als Provider:

provider "azurerm" {

}

Von hier aus schreiben Sie einen Codeblock für die Definition einer Ressourcengruppe. Mit den nachfolgenden Codeblöcken können Sie DNS-Zonen und DNS-Einträge erstellen. Dieser Beispielcode wird von Terraform selbst bereitgestellt:

resource "azurerm_resource_group" "Beispiel" {

  name     = "NameIhrerRessourcengruppe"

  location = "West US"

}

resource "azurerm_dns_zone" "Beispiel-öffentlich" {

  name                = "IhreDomäne.de"

  resource_group_name = AzureRM_Ressourcengruppe.Beispiel.Name

}

resource "azurerm_private_dns_zone" "Beispiel-Privat" {

  name                = "IhreDomäne.de "

  resource_group_name = AzureRM_Ressourcengruppe.Beispiel.Name

}

Erfahren Sie mehr über Cloud Computing