Verwalten von DNS-Einträgen und Ressourceneintragssätzen in Azure DNS mit der Azure CLI

In diesem Artikel wird gezeigt, wie Sie DNS-Einträge für Ihre DNS-Zone mithilfe der plattformübergreifenden Azure-Befehlszeilenschnittstelle (Azure CLI) verwalten können. Azure CLI ist für Windows, Mac und Linux verfügbar. Sie können Ihre DNS-Einträge auch mithilfe von Azure PowerShell oder über das Azure-Portal verwalten.

Bei den Beispielen in diesem Artikel wird vorausgesetzt, dass Sie bereits die Azure CLI installiert haben, angemeldet sind und eine DNS-Zone erstellt haben.

Einführung

Bevor Sie DNS-Einträge in Azure DNS erstellen, müssen Sie zunächst verstehen, wie DNS-Einträge von Azure DNS in DNS-Ressourceneintragssätzen organisiert werden.

Eintragsnamen

Einträge in Azure DNS werden mit relativen Namen angegeben. Ein vollqualifizierter Domänenname (FQDN) beinhaltet den Zonennamen, ein relativer Name hingegen nicht. Der relative Eintragsname www in der Zone contoso.com gibt beispielsweise den vollqualifizierten Eintragsnamen www.contoso.com an.

Ein Eintrag an der Zonenspitze ist ein DNS-Eintrag im Stamm (oder der Spitze) einer DNS-Zone. Beispiel: Ein Eintrag an der Zonenspitze der DNS-Zone contoso.com besitzt auch den vollqualifizierten Namen contoso.com (dies wird mitunter als reine Domäne bezeichnet). Gemäß der Konvention wird der relative Name “@“ verwendet, um Einträge an der Zonenspitze darzustellen.

Eintragstypen

Jeder DNS-Eintrag hat einen Namen und einen Typ. Datensätze werden anhand der darin enthaltenen Daten nach verschiedenen Typen unterteilt. Der häufigste Typ ist ein „A“-Eintrag, der einer IPv4-Adresse einen Namen zuordnet. Ein weiterer gängiger Typ ist ein „MX“-Eintrag, der einem E-Mail-Server einen Namen zuordnet.

Azure DNS unterstützt alle allgemeinen DNS-Eintragstypen: A, AAAA, CAA, CNAME, MX, NS, PTR, SOA, SRV und TXT. Beachten Sie, dass SPF-Datensätze mithilfe von TXT-Einträgen dargestellt werden.

Zusätzliche Datensatztypen werden unterstützt, wenn die Zone mit DNS-Sicherheitserweiterungen (DNSSEC) signiert ist, z. B. Ressourcendatensätze mit DS (Delegation Signer) und TLSA (Transport Layer Security Authentication).

DNSSEC-Ressourcendatensatztypen wie DNSKEY-, RRSIG- und NSEC3-Datensätze werden automatisch hinzugefügt, wenn eine Zone mit DNSSEC signiert ist. Diese Typen von DNSSEC-Ressourcendatensätzen können nach der Zonensignierung nicht erstellt oder geändert werden.

Ressourceneintragssätze

In einigen Fällen müssen Sie mehrere DNS-Einträge mit einem bestimmten Namen und Typ erstellen. Angenommen, die Website „www.contoso.com“ wird auf zwei verschiedenen IP-Adressen gehostet. Für diese Website sind zwei verschiedene A-Einträge erforderlich (einer für jede IP-Adresse). Hier ist ein Beispiel für eine Datensatzgruppe:

www.contoso.com.        3600    IN    A    134.170.185.46
www.contoso.com.        3600    IN    A    134.170.188.221

Azure DNS verwaltet alle DNS-Einträge mithilfe von Ressourceneintragssätzen. Bei Ressourceneintragssätzen handelt es sich um die Auflistung von DNS-Einträgen in einer Zone, die den gleichen Namen und den gleichen Typ aufweisen. Die meisten Ressourceneintragssätze enthalten einen einzelnen Eintrag, Beispiele wie oben, in dem eine Datensatzgruppe mehr als einen Datensatz enthält, sind aber nicht ungewöhnlich.

Angenommen, dass Sie bereits einen A-Eintrag „www“ in der Zone „contoso.com“ erstellt haben, der auf die IP Adresse „134.170.185.46“ zeigt (der erste Eintrag darüber). Um den zweiten Eintrag zu erstellen, müssen Sie diesen Eintrag zum bestehenden Ressourceneintragssatz hinzufügen, anstatt einen weiteren Ressourceneintragssatz zu erstellen.

Die Eintragstypen SOA und CNAME sind Ausnahmen. Die DNS-Standards lassen mehrere Datensätze mit demselben Namen für diese Typen nicht zu, daher können diese Ressourceneintragssätze nur einen Eintrag enthalten.

Weitere Informationen zu DNS-Einträgen in Azure DNS finden Sie unter DNS-Zonen und -Einträge.

Erstellen eines DNS-Eintrags

Verwenden Sie zum Erstellen eines DNS-Eintrags den Befehl az network dns record-set <record-type> add-record (wobei <record-type> der Typ des Eintrags ist, z. B. srv oder txt). Entsprechende Hilfeinformationen finden Sie unter az network dns record-set --help.

Beim Erstellen eines Eintrags müssen Sie die folgenden Informationen angeben:

  • Ressourcengruppenname
  • Zonenname
  • Name des Eintragssatzes
  • Eintragstyp

Der Name des Eintragssatzes muss ein relativer Name sein, also ein Name ohne Zonenname. Wenn der Eintragssatz noch nicht vorhanden ist, wird er durch diesen Befehl für Sie erstellt. Dieser Befehl fügt aber den von Ihnen angegebenen Eintrag hinzu, wenn er der Eintragssatz bereits vorhanden ist.

Bei der Erstellung eines neuen Eintragssatzes wird ein Standardwert von 3600 für die Gültigkeitsdauer (Time-To-Live, TTL) verwendet. Anleitungen zum Verwenden verschiedener TTL-Werte finden Sie unter Erstellen eines DNS-Ressourceneintragssatzes.

Im folgenden Beispiel wird in der Ressourcengruppe MyResourceGroup in der Zone contoso.com ein A-Eintrag namens www erstellt. Die IP-Adresse des A-Datensatzes lautet 203.0.113.11.

az network dns record-set a add-record --resource-group myresourcegroup --zone-name contoso.com --record-set-name www --ipv4-address 203.0.113.11

Zum Erstellen eines Ressourceneintragssatzes auf oberster Ebene der Zone (in diesem Fall „contoso.com“) verwenden Sie den Namen des Eintrags "\@\", einschließlich der Anführungszeichen:

az network dns record-set a add-record --resource-group myresourcegroup --zone-name contoso.com --record-set-name "@" --ipv4-address 203.0.113.11

Erstellen eines DNS-Ressourceneintragssatzes

In den oben gezeigten Beispielen wurde der DNS-Eintrag entweder zu einem vorhandenen Eintragssatz hinzugefügt oder der Eintragssatz wurde implizit erstellt. Sie können einen Eintragssatz auch explizit erstellen, bevor Sie Datensätze hinzufügen. Azure DNS unterstützt „leere“ Eintragssätze. Diese können als Platzhalter verwendet werden, um vor der Erstellung von DNS-Einträgen einen DNS-Namen zu reservieren. Leere Eintragssätze sind auf der Steuerungsebene von Azure DNS sichtbar, werden auf den Azure DNS-Namenservern aber nicht angezeigt.

Eintragssätze werden mit dem Befehl az network dns record-set <record-type> create erstellt. Entsprechende Hilfeinformationen finden Sie unter az network dns record-set <record-type> create --help.

Durch explizites Erstellen eines Eintragssatzes können Sie Eigenschaften für den Eintragssatz angeben, wie z.B. die Gültigkeitsdauer (TTL) oder Metadaten. Mithilfe von Metadaten für den Eintragssatz können den einzelnen Eintragssätzen anwendungsspezifische Daten als Schlüssel-Wert-Paare zugeordnet werden.

Im folgenden Beispiel wird mithilfe des Parameters --ttl (Kurzform: -l) ein leerer Eintragssatz vom Typ „A“ mit einer Gültigkeitsdauer von 60 Sekunden erstellt:

az network dns record-set a create --resource-group myresourcegroup --zone-name contoso.com --name www --ttl 60

Das folgende Beispiel erstellt mithilfe des Parameters --metadata einen Eintragssatz mit zwei Metadateneinträgen („dept=finance“ und „environment=production“):

az network dns record-set a create --resource-group myresourcegroup --zone-name contoso.com --name www --metadata "dept=finance" "environment=production"

Nach dem Erstellen eines leeren Eintragssatzes können diesem mithilfe von azure network dns record-set <record-type> add-record Einträge hinzugefügt werden, wie in Erstellen eines DNS-Eintrags beschrieben.

Erstellen anderer Eintragstypen

Nach der ausführlichen Erstellungsanleitung für A-Einträge erfahren Sie in den folgenden Beispielen, wie Sie andere von Azure DNS unterstützte Eintragstypen erstellen.

Die zum Angeben der Eintragsdaten verwendeten Parameter variieren abhängig vom Eintragstyp. Beispiel: Für einen Eintrag vom Typ „A“ geben Sie die IPv4-Adresse mit dem Parameter --ipv4-address <IPv4 address> an. Die Parameter für jeden Eintragstyp können mithilfe von az network dns record-set <record-type> add-record --help aufgelistet werden.

Für jeden Fall wird gezeigt, wie Sie einen einzelnen Eintrag erstellen. Der Eintrag wird dem vorhandenen Eintragssatz hinzugefügt, oder es wird implizit ein Eintragssatz erstellt. Weitere Informationen zum Erstellen von Eintragssätzen und zum expliziten Definieren von Eintragssatzparametern finden Sie unter Erstellen eines DNS-Ressourceneintragssatzes.

Es gibt kein Beispiel für das Erstellen eines SOA-Eintragssatzes, weil SOAs mit jeder DNS-Zone erstellt und gelöscht werden. Der SOA-Eintrag kann nicht separat erstellt oder gelöscht werden. Er kann jedoch geändert werden. Dies wird in einem späteren Beispiel gezeigt.

Erstellen eines AAAA-Eintrags

az network dns record-set aaaa add-record --resource-group myresourcegroup --zone-name contoso.com --record-set-name test-aaaa --ipv6-address FD00::1

Erstellen eines CAA-Eintrags

az network dns record-set caa add-record --resource-group myresourcegroup --zone-name contoso.com --record-set-name test-caa --flags 0 --tag "issue" --value "ca1.contoso.com"

Erstellen eines CNAME-Eintrags

Hinweis

Aufgrund der DNS-Standards sind auf der obersten Ebene einer Zone (--Name "@") keine CNAME-Einträge und keine Ressourceneintragssätze mit mehreren Einträgen zulässig.

Weitere Informationen finden Sie unter CNAME-Einträge.

az network dns record-set cname set-record --resource-group myresourcegroup --zone-name contoso.com --record-set-name test-cname --cname www.contoso.com

Erstellen eines MX-Eintrags

In diesem Beispiel verwenden wir den Namen des Datensatzes „\@\“ zum Erstellen des MX-Eintrags auf oberster Ebene der Zone (in diesem Fall „contoso.com“).

az network dns record-set mx add-record --resource-group myresourcegroup --zone-name contoso.com --record-set-name "@" --exchange mail.contoso.com --preference 5

Erstellen eines NS-Eintrags

az network dns record-set ns add-record --resource-group myresourcegroup --zone-name contoso.com --record-set-name test-ns --nsdname ns1.fabrikam.com

Erstellen eines PTR-Eintrags

In diesem Fall ist „my-arpa-zone.com“ die ARPA-Zone, die Ihren IP-Adressbereich darstellt. Jeder PTR-Eintragssatz in dieser Zone entspricht einer IP-Adresse innerhalb dieses IP-Adressbereichs. Der Eintragsname „10“ ist das letzte Oktett der IP-Adresse innerhalb dieses IP-Adressbereichs, der durch diesen Eintrag dargestellt wird.

az network dns record-set ptr add-record --resource-group myresourcegroup --zone-name contoso.com --record-set-name my-arpa.zone.com --ptrdname myservice.contoso.com

Erstellen eines SRV-Eintrags

Geben Sie bei der Erstellung eines SRV-Datensatzes den _service und das _protocol im Datensatznamen an. Bei der Erstellung eines SRV-Datensatzes an der Zonenspitze muss das „@“ nicht in den Datensatznamen aufgenommen werden.

az network dns record-set srv add-record --resource-group myresourcegroup --zone-name contoso.com --record-set-name _sip._tls --priority 10 --weight 5 --port 8080 --target sip.contoso.com

Erstellen eines TXT-Eintrags

Das folgende Beispiel zeigt die Erstellung eines TXT-Eintrags. Weitere Informationen zur maximal unterstützten Zeichenfolgenlänge in TXT-Einträgen finden Sie unter TXT-Einträge.

az network dns record-set txt add-record --resource-group myresourcegroup --zone-name contoso.com --record-set-name test-txt --value "This is a TXT record"

Abrufen einer Datensatzgruppe

Verwenden Sie az network dns record-set <record-type> showzum Abrufen eines vorhandenen Ressourceneintragssatzes. Entsprechende Hilfeinformationen finden Sie unter az network dns record-set <record-type> show --help.

Wenn ein Eintrag oder Eintragssatz erstellt wird, muss der Eintragssatz einen relativen Namen erhalten. Dieser Name enthält nicht den Zonennamen. Außerdem müssen Sie den Eintragstyp, die Zone, die den Eintragssatz enthält, und die Ressourcengruppe, die die Zone enthält, angeben.

Das folgende Beispiel ruft den Eintrag www vom Typ A aus der Zone contoso.com in der Ressourcengruppe MyResourceGroup ab:

az network dns record-set a show --resource-group myresourcegroup --zone-name contoso.com --name www

Auflisten von Datensatzgruppen

Sie können alle Eintragssätze in einer DNS-Zone mit dem Befehl az network dns record-set list auflisten. Entsprechende Hilfeinformationen finden Sie unter az network dns record-set list --help.

Dieses Beispiel gibt alle Eintragssätze in der Zone contoso.com in der Ressourcengruppe MyResourceGroup zurück:

az network dns record-set list --resource-group myresourcegroup --zone-name contoso.com

Dieses Beispiel gibt alle Eintragssätze zurück, die dem angegebenen Eintragstyp (in diesem Fall „A“-Einträge) entsprechen:

az network dns record-set a list --resource-group myresourcegroup --zone-name contoso.com 

Hinzufügen eines Eintrags zu einem vorhandenen Ressourceneintragssatz

Sie können az network dns record-set <record-type> add-record sowohl zum Erstellen eines Eintrags in einem neuen Eintragssatz als auch zum Hinzufügen eines Eintrags zu einem vorhandenen Eintragssatz verwenden.

Weitere Informationen finden Sie unter Erstellen eines DNS-Eintrags und Erstellen anderer Eintragstypen weiter oben.

Entfernen eines Eintrags aus einem vorhandenen Eintragssatz

Um einen DNS-Eintrag aus einem vorhandenen Eintragssatz zu entfernen, verwenden Sie az network dns record-set <record-type> remove-record. Entsprechende Hilfeinformationen finden Sie unter az network dns record-set <record-type> remove-record -h.

Dieser Befehl löscht einen DNS-Eintrag aus einem Eintragssatz. Wenn der letzte Eintrag in einem Eintragssatz gelöscht wird, wird auch der Eintragssatz selbst gelöscht. Verwenden Sie die Option --keep-empty-record-set, um stattdessen den leeren Eintragssatz beizubehalten.

Wenn Sie den Befehl az network dns record-set <record-type> add-record verwenden, müssen Sie den Datensatz angeben, der gelöscht wird, und die Zone, aus der er gelöscht werden soll. Diese Parameter werden unter Erstellen eines DNS-Eintrags und Erstellen anderer Eintragstypen weiter oben beschrieben.

Das folgende Beispiel löscht den A-Datensatz mit dem Wert „203.0.113.11“ aus der Datensatzgruppe www in der Zone contoso.com der Ressourcengruppe MyResourceGroup.

az network dns record-set a remove-record --resource-group myresourcegroup --zone-name contoso.com --record-set-name "www" --ipv4-address 203.0.113.11

Ändern eines vorhandenen Ressourceneintragssatzes

Jeder Eintragssatz enthält eine Gültigkeitsdauer (TTL), Metadaten und DNS-Einträge. In den folgenden Abschnitten wird erläutert, wie diese Eigenschaften geändert werden können.

So ändern Sie einen Eintrag vom Typ A, AAAA, CAA, MX, NS, PTR, SRV oder TXT

Um einen vorhandenen Eintrag vom Typ A, AAAA, CAA, MX, NS, PTR, SRV oder TXT zu ändern, sollten Sie zunächst einen neuen Eintrag erstellen und den vorhandenen Eintrag löschen. Ausführliche Anweisungen zum Löschen und Hinzufügen von Einträgen finden Sie in den Abschnitten weiter oben in diesem Artikel.

Das folgende Beispiel zeigt, wie Sie einen A-Datensatz von der IP-Adresse 203.0.113.11 in die IP-Adresse 203.0.113.22 ändern:

az network dns record-set a add-record --resource-group myresourcegroup --zone-name contoso.com --record-set-name www --ipv4-address 203.0.113.22
az network dns record-set a remove-record --resource-group myresourcegroup --zone-name contoso.com --record-set-name www --ipv4-address 203.0.113.11

Sie können im automatisch erstellten NS-Eintragssatz an der Zonenspitze (--Name "@", einschließlich Anführungszeichen) keine Einträge hinzufügen, entfernen oder ändern. Für diesen Eintragssatz können Sie nur die Gültigkeitsdauer (Time-to-Live, TTL) und die Metadaten ändern.

Ändern eines CNAME-Eintrags

Im Gegensatz zu den meisten anderen Eintragstypen kann ein CNAME-Eintrag nur einen einzelnen Eintrag enthalten. Deshalb können Sie nicht wie bei anderen Eintragstypen den aktuellen Wert ersetzen, indem Sie einen neuen Eintrag hinzufügen und den vorhandenen Eintrag entfernen.

Verwenden Sie zum Ändern eines CNAME-Eintrags daher az network dns record-set cname set-record. Entsprechende Hilfeinformationen finden Sie unter az network dns record-set cname set-record --help.

Diese Beispiel ändert den CNAME-Eintragssatz www in der Zone contoso.com der Ressourcengruppe MyResourceGroup so, dass er auf „www.fabrikam.net“ anstatt auf den vorhandenen Wert zeigt:

az network dns record-set cname set-record --resource-group myresourcegroup --zone-name contoso.com --record-set-name test-cname --cname www.fabrikam.net

So ändern Sie einen SOA-Eintrag

Im Gegensatz zu den meisten anderen Eintragstypen kann ein SOA-Eintragssatz nur einen einzigen Eintrag enthalten. Deshalb können Sie nicht wie bei anderen Eintragstypen den aktuellen Wert ersetzen, indem Sie einen neuen Eintrag hinzufügen und den vorhandenen Eintrag entfernen.

Verwenden Sie zum Ändern des SOA-Eintrags stattdessen az network dns record-set soa update. Entsprechende Hilfeinformationen finden Sie unter az network dns record-set soa update --help.

Das folgende Beispiel zeigt, wie Sie die Eigenschaft „email“ des SOA-Eintrags für die Zone contoso.com festlegen:

az network dns record-set soa update --resource-group myresourcegroup --zone-name contoso.com --email admin.contoso.com

So ändern Sie NS-Einträge an der Zonenspitze

Der für die Zonenspitze festgelegte NS-Eintrag wird für jede DNS-Zone automatisch erstellt. Er enthält die Namen der Azure DNS-Namenserver, die der Zone zugewiesen sind.

Sie können diesem NS-Eintragssatz weitere Namenserver hinzufügen, um das gemeinsame Hosten von Domänen mit mehr als einem DNS-Anbieter zu unterstützen. Außerdem können Sie die Gültigkeitsdauer und die Metadaten für diesen Eintragssatz ändern. Die vorab mit Daten aufgefüllten Azure DNS-Namenserver können jedoch nicht entfernt oder geändert werden.

Diese Einschränkung gilt nur für den NS-Ressourceneintragssatz an der Zonenspitze. Andere NS-Eintragssätze in Ihrer Zone (zur Delegierung von untergeordneten Zonen) können ohne Einschränkungen geändert werden.

Im folgenden Beispiel wird gezeigt, wie Sie dem NS-Eintragssatz an der Zonenspitze einen zusätzlichen Namenserver hinzufügen:

az network dns record-set ns add-record --resource-group myresourcegroup --zone-name contoso.com --record-set-name "@" --nsdname ns1.fabrikam.com 

So ändern Sie die Gültigkeitsdauer eines vorhandenen Eintragssatzes

Um die Gültigkeitsdauer eines vorhandenen Eintragssatzes zu ändern, verwenden Sie azure network dns record-set <record-type> update. Entsprechende Hilfeinformationen finden Sie unter azure network dns record-set <record-type> update --help.

Das folgende Beispiel zeigt, wie Sie die Gültigkeitsdauer eines Eintragssatzes ändern, in diesem Fall in 60 Sekunden:

az network dns record-set a update --resource-group myresourcegroup --zone-name contoso.com --name www --set ttl=60

So ändern Sie die Metadaten eines vorhandenen Eintragssatzes

Mithilfe von Metadaten für den Eintragssatz können den einzelnen Eintragssätzen anwendungsspezifische Daten als Schlüssel-Wert-Paare zugeordnet werden. Um die Metadaten eines vorhandenen Eintragssatzes zu ändern, verwenden Sie az network dns record-set <record-type> update. Entsprechende Hilfeinformationen finden Sie unter az network dns record-set <record-type> update --help.

Im folgenden Beispiel wird gezeigt, wie Sie einen Eintragssatz mit zwei Metadateneinträgen („dept=finance“ und „environment=production“) ändern. Alle vorhandenen Metadaten werden durch die angegebenen Werte ersetzt.

az network dns record-set a update --resource-group myresourcegroup --zone-name contoso.com --name www --set metadata.dept=finance metadata.environment=production

Löschen eines Eintragssatzes

Eintragssätze können mit dem Befehl az network dns record-set <record-type> delete gelöscht werden. Entsprechende Hilfeinformationen finden Sie unter azure network dns record-set <record-type> delete --help. Beim Löschen eines Ressourceneintragssatzes werden auch alle darin enthaltenen Einträge gelöscht.

Hinweis

Die SOA- und NS-Ressourceneintragssätze auf der obersten Ebene der Zone (--name "@") können nicht gelöscht werden. Diese werden automatisch erstellt, wenn die Zone erstellt wird, und automatisch gelöscht, wenn die Zone gelöscht wird.

Das folgende Beispiel löscht den Eintragssatz namens www vom Typ A aus der Zone contoso.com in der Ressourcengruppe MyResourceGroup:

az network dns record-set a delete --resource-group myresourcegroup --zone-name contoso.com --name www

Sie werden aufgefordert, den Löschvorgang zu bestätigen. Um diesen Aufforderung zu unterdrücken, verwenden Sie die Option --yes.

Nächste Schritte

Informieren Sie sich ausführlicher über Zonen und Einträge in Azure DNS.
Lernen Sie, wie Sie bei Verwendung von Azure DNS Ihre Zonen und Einträge schützen.