Azure CLI を使用して Azure DNS で DNS ゾーンを管理する方法
この記事では、クロス プラットフォームの Azure CLI を使用して、DNS ゾーンを管理する方法について説明します。 Azure CLI は、Windows、Mac、Linux に対応しています。 DNS ゾーンは、Azure PowerShell または Azure Portal を使用して管理することもできます。
このガイドでは、特にパブリック DNS ゾーンについて説明します。 Azure CLI を使用した Azure DNS での Private Zones の管理については、Azure CLI を使用した Azure DNS Private Zones での作業の開始に関するページを参照してください。
はじめに
DNS ゾーンは、特定のドメインの DNS レコードをホストするために使用されます。 Azure DNS でドメインのホストを開始するには、そのドメイン名用に DNS ゾーンを作成する必要があります。 ドメインの DNS レコードはすべて、この DNS ゾーン内に作成されます。
たとえば、ドメイン "contoso.com" に、"mail.contoso.com" (メール サーバー用) や "www.contoso.com" (Web サイト用) など、複数の DNS レコードを含めることができます。
Azure DNS に DNS ゾーンを作成する場合:
- ゾーンの名前がリソース グループ内で一意であること、および作成するゾーンがまだ存在していないことが必要です。 それ以外の場合は、操作が失敗します。
- 同じゾーン名は、別のリソース グループまたは別の Azure サブスクリプション内であれば再利用できます。
- 複数のゾーンで同じ名前を共有できますが、各インスタンスには異なるネーム サーバー アドレスが割り当てられます。 ドメイン名レジストラーで構成できるアドレスのセットは 1 つだけです。
注意
自社で所有していないドメイン名でも、Azure DNS 内にそのドメイン名で DNS ゾーンを作成できます。 ただし、ドメイン名レジストラーでドメイン名の正しい名前サーバーとして Azure DNS ネーム サーバーを構成する場合は、ドメインを所有する必要があります。
詳細については、「Azure DNS へのドメインの委任」を参照してください。
Azure DNS 向け Azure CLI の設定
始める前に
構成を開始する前に、以下がそろっていることを確認します。
Azure サブスクリプション。 Azure サブスクリプションをまだお持ちでない場合は、MSDN サブスクライバーの特典を有効にするか、無料アカウントにサインアップしてください。
Windows、Linux、または MAC 用の最新バージョンの Azure CLI をインストールしてください。 詳しくは、「 Azure CLI のインストール」をご覧ください。
Azure アカウントへのサインイン
コンソール ウィンドウを開き、資格情報を使用して認証を行います。 詳細については、「Azure CLI を使用して Azure にサインインする」を参照してください
az login
サブスクリプションの選択
アカウントのサブスクリプションを確認します。
az account list
使用する Azure サブスクリプションを選択します。
az account set --subscription "subscription name"
省略可能: Azure DNS Private Zones の機能のインストール/使用
Azure DNS Private Zone の機能は、Azure CLI の拡張機能を介して利用できます。 "dns" Azure CLI 拡張機能をインストールしてください。
az extension add --name dns
リソース グループを作成する
Azure Resource Manager では、リソース グループの場所を指定する必要があります。 この場所は、そのリソース グループ内のすべてのリソースの既定の保存先として使用されます。 すべての DNS リソースはグローバルであるため、リソース グループの場所の選択は Azure DNS には影響しません。
既存のリソース グループを使用する場合は、この手順をスキップしてかまいません。
az group create --name myresourcegroup --location "West US"
ヘルプの表示
Azure DNS に関連するすべての Azure CLI コマンドは az network dns
で始まります。
--help
オプション (短縮形 -h
) を使用すると、各コマンドのヘルプを利用できます。 次に例を示します。
az network dns --help
az network dns zone --help
az network dns zone create --help
DNS ゾーンの作成
DNS ゾーンは、az network dns zone create
コマンドを使用して作成します。
az network dns zone create -h
を使用すると、ヘルプが表示されます。
次の例では、MyResourceGroup というリソース グループに contoso.com という DNS ゾーンを作成します。
az network dns zone create --resource-group MyResourceGroup --name contoso.com
タグのある DNS ゾーンを作成するには
次の例では、--tags
パラメーター (短縮形 -t
) を使用して、project = demo と env = test の 2 つ Azure Resource Manager タグを含む DNS ゾーンを作成する方法を示します。
az network dns zone create --resource-group MyResourceGroup --name contoso.com --tags "project=demo" "env=test"
DNS ゾーンの取得
DNS ゾーンを取得するには、 az network dns zone show
を使用します。
az network dns zone show --help
を使用すると、ヘルプが表示されます。
次の例では、リソース グループ MyResourceGroup から DNS ゾーン contoso.com とその関連データを返します。
az network dns zone show --resource-group myresourcegroup --name contoso.com
次の例は応答です。
{
"etag": "00000002-0000-0000-3d4d-64aa3689d201",
"id": "/subscriptions/147a22e9-2356-4e56-b3de-1f5842ae4a3b/resourceGroups/myresourcegroup/providers/Microsoft.Network/dnszones/contoso.com",
"location": "global",
"maxNumberOfRecordSets": 5000,
"name": "contoso.com",
"nameServers": [
"ns1-04.azure-dns.com.",
"ns2-04.azure-dns.net.",
"ns3-04.azure-dns.org.",
"ns4-04.azure-dns.info."
],
"numberOfRecordSets": 4,
"resourceGroup": "myresourcegroup",
"tags": {},
"type": "Microsoft.Network/dnszones"
}
DNS レコードを一覧表示するには、az network dns record-set list
を使用します。
DNS ゾーンの一覧表示
DNS ゾーンを列挙するには、az network dns zone list
を使用します。
az network dns zone list --help
を使用すると、ヘルプが表示されます。
リソース グループを指定すると、リソース グループ内のゾーンのみが一覧表示されます。
az network dns zone list --resource-group MyResourceGroup
リソース グループを省略すると、サブスクリプション内のすべてのゾーンが一覧表示されます。
az network dns zone list
DNS ゾーンの更新
DNS ゾーンのリソースへの変更は、 az network dns zone update
を使用して行うことができます。
az network dns zone update --help
を使用すると、ヘルプが表示されます。
このコマンドによって、ゾーン内の DNS レコード セットが更新されることはありません (「 DNS レコードの管理方法」を参照)。 この操作は、ゾーンのリソース自体のプロパティを更新するためだけに使用します。 現時点では、これらのプロパティは、ゾーンのリソースの Azure Resource Manager の"タグ" に限定されています。
次の例では、DNS ゾーンのタグを更新する方法を示します。 既存のタグは、指定された値に置き換えられます。
az network dns zone update --resource-group myresourcegroup --name contoso.com --set tags.team=support
DNS ゾーンの削除
DNS ゾーンは、az network dns zone delete
を使用して削除できます。
az network dns zone delete --help
を使用すると、ヘルプが表示されます。
Note
DNS ゾーンを削除すると、ゾーン内の DNS レコードもすべて削除されます。 この操作を元に戻すことはできません。 DNS ゾーンを使用している場合、ゾーンを削除すると、ゾーンを使用するサービスは機能しなくなります。
ゾーンを誤って削除しないようにするには、「DNS ゾーンとレコードを保護する」をご覧ください。
このコマンドは、確認を求めるプロンプトを表示します。 オプションの --yes
スイッチはこのプロンプトを表示しません。
次の例は、リソース グループ MyResourceGroup から contoso.com ゾーンを削除する方法を示します。
az network dns zone delete --resource-group myresourcegroup --name contoso.com
次のステップ
DNS ゾーンでレコード セットとレコードを管理する方法についてはこちらをご覧ください。
Azure DNS にドメインを委任する方法についてはこちらをご覧ください。