Správa záznamů a sad záznamů DNS v Azure DNS pomocí Azure CLI

V tomto článku se dozvíte, jak spravovat záznamy DNS pro vaši zónu DNS pomocí Azure CLI pro různé platformy. Azure CLI je k dispozici pro Windows, Mac a Linux. Záznamy DNS můžete také spravovat pomocí Azure PowerShell nebo Azure Portal.

Příklady v tomto článku předpokládají, že jste už nainstalovali Azure CLI, přihlásili se a vytvořili jste zónu DNS.

Úvod

Před vytvářením záznamů DNS v DNS Azure je nejprve nutné pochopit, jak DNS Azure organizuje záznamy DNS v sadách záznamů DNS.

Názvy záznamů

V Azure DNS se záznamy zadávají pomocí relativních názvů. Plně kvalifikovaný název domény (FQDN) zahrnuje název zóny, zatímco relativní název ne. Například relativní název www záznamu v zóně contoso.com dává plně kvalifikovaný název www.contoso.comzáznamu .

Záznam „vrcholu“ je záznam DNS v kořeni (nebo „vrcholu“) zóny DNS. Například v zóně contoso.comDNS má vrcholový záznam také plně kvalifikovaný název contoso.com (někdy se nazývá holá doména). Podle konvence se k vyjádření záznamů vrcholu používá relativní název '@'.

Typy záznamů

Každý záznam DNS má název a typ. Záznamy jsou uspořádány do různých typů podle dat, která obsahují. Nejběžnějším typem je záznam „A“, který mapuje název na adresu IPv4. Dalším běžným typem záznamu je „MX“, který mapuje název na poštovní server.

Azure DNS podporuje všechny běžné typy záznamů DNS: A, AAAA, CAA, CNAME, MX, NS, PTR, SOA, SRV a TXT. Záznamy SPF se vyjadřují pomocí záznamů TXT.

Sady záznamů

Někdy můžete potřebovat vytvořit víc než jeden záznam DNS s daným názvem a typem. Předpokládejme například, že web „www.contoso.com“ je hostovaný na dvou různých IP adresách. Tento web vyžaduje dva různé záznamy A, jeden pro každou IP adresu. Tady je příklad sady záznamů:

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

Azure DNS spravuje všechny záznamy DNS pomocí sady záznamů. Sada záznamů (známá také jako sada záznamů „prostředků“) je kolekce záznamů DNS v zóně, které mají stejný název a jsou stejného typu. Většina sad záznamů obsahuje jediný záznam. Příklady jako ten výše, kde sada záznamů obsahuje více než jeden záznam, však nejsou výjimkou.

Předpokládejme třeba, že už jste vytvořili záznam A „www“ v zóně „contoso.com“, který odkazuje na IP adresu 134.170.185.46 (první záznam výše). Když budete chtít vytvořit druhý záznam, bude potřeba tento záznam přidat do existující sady záznamů, ne vytvořit další sadu záznamů.

Výjimkou jsou typy záznamů SOA a CNAME. Standardy DNS nedovolují pro tyto typy více záznamů se stejným názvem, proto tyto sady záznamů můžou obsahovat jenom po jednom záznamu.

Další informace o záznamech DNS v DNS Azure najdete v tématu Zóny a záznamy DNS.

Vytvoření záznamu DNS

K vytvoření záznamu az network dns record-set <record-type> add-record DNS použijte příkaz (kde <record-type> je typ záznamu, tj. a, srv, txt atd.). Nápovědu najdete v tématu az network dns record-set --help.

Při vytváření záznamu musíte zadat následující informace:

  • Název skupiny prostředků
  • Název zóny
  • Název sady záznamů
  • Typ záznamu

Zadaný název sady záznamů musí být relativní název, což znamená, že musí vyloučit název zóny. Pokud sada záznamů ještě neexistuje, tento příkaz ji vytvoří za vás. Tento příkaz ale přidá zadaný záznam, pokud sada záznamů již existuje.

Pokud se vytváří nová sada záznamů, použije se výchozí hodnota TTL (Time to Live) 3 600. Pokyny k používání různých seznamů TTL najdete v tématu Vytvoření sady záznamů DNS.

Následující příklad vytvoří záznam A s názvem www v zóně contoso.com ve skupině prostředků MyResourceGroup. IP adresa záznamu A je 1.2.3.4.

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

Pokud chcete vytvořit sadu záznamů na vrcholu zóny (v tomto případě „contoso.com“), použijte název záznamu "@" včetně uvozovek:

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

Vytvoření sady záznamů DNS

Ve výše uvedených příkladech byl záznam DNS buď přidán do existující sady záznamů, nebo se sada záznamů vytvořila implicitně. Sadu záznamů můžete také vytvořit explicitně předtím, než do ní přidáte záznamy. Azure DNS podporuje prázdné sady záznamů, které můžou fungovat jako zástupný symbol pro rezervaci názvu DNS před vytvořením záznamů DNS. Prázdné sady záznamů jsou viditelné v řídicí rovině Azure DNS, ale nezobrazují se na názvových serverech Azure DNS.

Sady záznamů se vytvářejí pomocí az network dns record-set <record-type> create příkazu . Nápovědu získáte příkazem az network dns record-set <record-type> create --help.

Explicitní vytvoření sady záznamů umožňuje zadat vlastnosti sady záznamů, jako je hodnota TTL (Time to Live) a metadata. Metadata sady záznamů se dají použít k přidružení dat specifických pro aplikaci ke každé sadě záznamů jako páru klíč-hodnota.

Následující příklad vytvoří prázdnou sadu záznamů typu A s hodnotou TTL 60 sekund pomocí parametru --ttl (krátký tvar -l):

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

Následující příklad vytvoří sadu záznamů se dvěma položkami metadat, "dept=finance" a "environment=production", pomocí parametru --metadata :

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

Po vytvoření prázdné sady záznamů je možné záznamy přidat pomocí příkazu azure network dns record-set <record-type> add-record , jak je popsáno v tématu Vytvoření záznamu DNS.

Vytvoření záznamů jiných typů

Následující příklady ukazují, jak vytvořit záznamy "A" a ukázaly, jak vytvořit záznamy jiných typů záznamů podporovaných službou Azure DNS.

Parametry použité k zadání dat záznamu se liší podle typu záznamu. Například pro záznam typu A zadáváte adresu IPv4 pomocí parametru --ipv4-address <IPv4 address>. Parametry pro každý typ záznamu je možné vypsat pomocí az network dns record-set <record-type> add-record --helppříkazu .

V každém případě si ukážeme, jak vytvořit jeden záznam. Záznam se přidá do existující sady záznamů nebo se implicitně vytvoří sada záznamů. Další informace o vytváření sad záznamů a explicitní definici parametru sady záznamů najdete v tématu Vytvoření sady záznamů DNS.

Neexistuje žádný příklad vytvoření sady záznamů SOA, protože soa se vytvářejí a odstraňují s každou zónou DNS. Záznam SOA nelze vytvořit ani odstranit samostatně. Soa se ale dá upravit, jak je znázorněno v pozdějším příkladu.

Vytvoření záznamu AAAA

az network dns record-set aaaa add-record --resource-group myresourcegroup --zone-name contoso.com --record-set-name test-aaaa --ipv6-address 2607:f8b0:4009:1803::1005

Vytvoření záznamu CAA

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"

Vytvoření záznamu CNAME

Poznámka

Standardy DNS nepovolují záznamy CNAME na vrcholu zóny (--Name "@"), ani nepovolují sady záznamů obsahující více než jeden záznam.

Další informace najdete v tématu Záznamy CNAME.

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

Vytvoření záznamu MX

V tomto příkladu vytvoříme s využitím názvu sady záznamů „@“ záznam MX ve vrcholu zóny (v tomto „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

Vytvoření záznamu NS

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

Vytvoření záznamu PTR

V tomto případě "my-arpa-zone.com" představuje zónu ARPA představující váš rozsah IP adres. Každá sada záznamů PTR v této zóně odpovídá IP adrese v rámci tohoto rozsahu IP adres. Název záznamu "10" je poslední oktet IP adresy v tomto rozsahu IP adres reprezentovaných tímto záznamem.

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

Vytvoření záznamu SRV

Při vytváření sady záznamů SRV zadejte v názvu sady záznamů _service a _protocol . Při vytváření sady záznamů SRV na vrcholu zóny není nutné v názvu sady záznamů "@".

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

Vytvoření záznamu TXT

Následující příklad ukazuje, jak vytvořit záznam TXT. Další informace o maximální délce řetězce podporované v záznamech TXT najdete v tématu Záznamy TXT.

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"

Získání sady záznamů

Pokud chcete načíst existující sadu záznamů, použijte az network dns record-set <record-type> show. Nápovědu získáte příkazem az network dns record-set <record-type> show --help.

Při vytváření záznamu nebo sady záznamů musí být zadaným názvem sady záznamů relativní název. Tento název neobsahuje název zóny. Musíte také zadat typ záznamu, zónu obsahující sadu záznamů a skupinu prostředků obsahující zónu.

Následující příklad načte záznam www typu A ze zóny contoso.com ve skupině prostředků MyResourceGroup:

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

Výpis sad záznamů

Pomocí příkazu můžete vypsat všechny záznamy v zóně az network dns record-set list DNS. Nápovědu získáte příkazem az network dns record-set list --help.

Tento příklad vrátí všechny sady záznamů v zóně contoso.com ve skupině prostředků MyResourceGroup:

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

Tento příklad vrátí všechny sady záznamů, které odpovídají danému typu záznamu (v tomto případě záznamy A):

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

Přidání záznamu do existující sady záznamů

Obojí můžete použít az network dns record-set <record-type> add-record k vytvoření záznamu v nové sadě záznamů nebo k přidání záznamu do existující sady záznamů.

Další informace najdete v tématech Vytvoření záznamu DNS a Vytvoření záznamů jiných typů výše.

Odebrání záznamu z existující sady záznamů

Pokud chcete odebrat záznam DNS z existující sady záznamů, použijte az network dns record-set <record-type> remove-record. Nápovědu získáte příkazem az network dns record-set <record-type> remove-record -h.

Tento příkaz odstraní záznam DNS ze sady záznamů. Pokud se odstraní poslední záznam v sadě záznamů, odstraní se i samotná sada záznamů. Pokud chcete zachovat prázdnou sadu záznamů, použijte možnost --keep-empty-record-set .

Při použití az network dns record-set <record-type> add-record příkazu musíte zadat záznam, který se má odstranit, a zónu, ze které se má odstranit. Tyto parametry jsou popsané v části Vytvoření záznamu DNS a Vytvoření záznamů jiných typů výše.

Následující příklad odstraní záznam A s hodnotou 1.2.3.4 ze sady záznamů s názvem www v zóně contoso.com ve skupině prostředků MyResourceGroup.

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

Úprava existující sady záznamů

Každá sada záznamů obsahuje hodnotu TTL (Time to Live),metadata a záznamy DNS. Následující části vysvětlují, jak upravit každou z těchto vlastností.

Úprava záznamu A, AAAA, CAA, MX, NS, PTR, SRV nebo TXT

Pokud chcete upravit existující záznam typu A, AAAA, CAA, MX, NS, PTR, SRV nebo TXT, měli byste nejprve přidat nový záznam a pak odstranit existující záznam. Podrobné pokyny k odstranění a přidání záznamů najdete v dřívějších částech tohoto článku.

Následující příklad ukazuje, jak upravit záznam A z IP adresy 1.2.3.4 na IP adresu 5.6.7.8:

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

Záznamy v automaticky vytvořené sadě záznamů NS na vrcholu zóny (--Name "@"včetně uvozovek) nemůžete přidávat, odebírat ani upravovat. U této sady záznamů jsou povoleny pouze změny, které jsou povoleny, úprava hodnoty TTL a metadat sady záznamů.

Úprava záznamu CNAME

Na rozdíl od většiny ostatních typů záznamů může sada záznamů CNAME obsahovat pouze jeden záznam. Proto nemůžete nahradit aktuální hodnotu přidáním nového záznamu a odebráním existujícího záznamu jako u jiných typů záznamů.

Místo toho k úpravě záznamu CNAME použijte az network dns record-set cname set-record. Nápovědu najdete v tématu az network dns record-set cname set-record --help

Příklad upraví sadu záznamů CNAME www v zóně contoso.com ve skupině prostředků MyResourceGroup tak, aby odkazovala na "www.fabrikam.net" místo na její stávající hodnotu:

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

Úprava záznamu SOA

Na rozdíl od většiny ostatních typů záznamů může sada záznamů SOA obsahovat pouze jeden záznam. Proto nemůžete nahradit aktuální hodnotu přidáním nového záznamu a odebráním existujícího záznamu jako u jiných typů záznamů.

Místo toho k úpravě záznamu SOA použijte az network dns record-set soa update. Nápovědu získáte příkazem az network dns record-set soa update --help.

Následující příklad ukazuje, jak nastavit vlastnost email záznamu SOA pro contoso.com zóny:

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

Úprava záznamů NS na vrcholu zóny

Sada záznamů NS ve vrcholu zóny se automaticky vytvoří s každou zónou DNS. Obsahuje názvy názvových serverů Azure DNS přiřazených k zóně.

Do této sady záznamů NS můžete přidat další názvové servery, které podporují spoluhostování domén s více než jedním poskytovatelem DNS. Můžete také upravit hodnotu TTL a metadata pro tuto sadu záznamů. Předem vyplněné názvové servery Azure DNS ale nemůžete odebrat ani upravit.

Toto omezení se vztahuje pouze na sadu záznamů NS ve vrcholu zóny. Ostatní sady záznamů NS ve vaší zóně (používané k delegování podřízených zón) je možné upravovat bez omezení.

Následující příklad ukazuje, jak přidat další názvový server do sady záznamů NS na vrcholu zóny:

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

Úprava hodnoty TTL existující sady záznamů

Pokud chcete upravit hodnotu TTL existující sady záznamů, použijte azure network dns record-set <record-type> update. Nápovědu získáte příkazem azure network dns record-set <record-type> update --help.

Následující příklad ukazuje, jak upravit hodnotu TTL sady záznamů, v tomto případě na 60 sekund:

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

Úprava metadat existující sady záznamů

Metadata sady záznamů se dají použít k přidružení dat specifických pro aplikaci ke každé sadě záznamů jako páru klíč-hodnota. Pokud chcete upravit metadata existující sady záznamů, použijte az network dns record-set <record-type> update. Nápovědu získáte příkazem az network dns record-set <record-type> update --help.

Následující příklad ukazuje, jak upravit sadu záznamů se dvěma položkami metadat: "dept=finance" a "environment=production". Všechna existující metadata se nahradí zadanými hodnotami.

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

Odstranění sady záznamů

Sady záznamů je možné odstranit pomocí az network dns record-set <record-type> delete příkazu . Nápovědu získáte příkazem azure network dns record-set <record-type> delete --help. Odstraněním sady záznamů se odstraní také všechny záznamy v této sadě záznamů.

Poznámka

Sady záznamů SOA a NS nelze odstranit ve vrcholu zóny (--name "@"). Vytvoří se automaticky při vytvoření zóny a automaticky se odstraní při odstranění zóny.

Následující příklad odstraní sadu záznamů www typu A ze zóny contoso.com ve skupině prostředků MyResourceGroup:

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

Zobrazí se výzva k potvrzení operace odstranění. Pokud chcete tuto výzvu potlačit, použijte --yes přepínač .

Další kroky

Přečtěte si další informace o zónách a záznamech v Azure DNS.
Zjistěte, jak chránit zóny a záznamy při používání Azure DNS.