次の方法で共有


クイック スタート: Azure CLI を使用して Azure プライベート DNS ゾーンを作成する

このクイックスタートでは、Azure CLI を使用して最初のプライベート DNS ゾーンとレコードを作成する手順について説明します。

DNS ゾーンは、特定のドメインの DNS レコードをホストするために使用されます。 Azure DNS でドメインのホストを開始するには、そのドメイン名の DNS ゾーンを作成する必要があります。 その後、ドメインの各 DNS レコードがこの DNS ゾーン内に作成されます。 仮想ネットワークにプライベート DNS ゾーンを発行するには、そのゾーン内のレコードを解決することが認められた仮想ネットワークの一覧を指定します。 これらを "リンクされている" 仮想ネットワーク と呼びます。 自動登録が有効になっている場合、Azure DNS では、仮想マシンの作成、IP アドレスの変更、または削除が行われるたびに、ゾーン レコードも更新されます。

クイックスタートのセットアップの概要図。

Azure アカウントをお持ちでない場合は、開始する前に無料アカウントを作成してください。

[前提条件]

  • Azure Cloud Shell で Bash 環境を使用します。 詳細については、「Azure Cloud Shell の概要」を参照してください。

  • CLI 参照コマンドをローカルで実行する場合は、Azure CLI を インストール します。 Windows または macOS で実行している場合は、Docker コンテナーで Azure CLI を実行することを検討してください。 詳細については、「Docker コンテナーで Azure CLI を実行する方法」を参照してください。

    • ローカル インストールを使用する場合は、az login コマンドを使用して Azure CLI にサインインします。 認証プロセスを完了するには、ターミナルに表示される手順に従います。 その他のサインイン オプションについては、「 Azure CLI を使用した Azure への認証」を参照してください。

    • メッセージが表示されたら、最初に使用するときに Azure CLI 拡張機能をインストールします。 拡張機能の詳細については、「Azure CLI で拡張機能を使用および管理する」を参照してください。

    • az version を実行し、インストールされているバージョンおよび依存ライブラリを検索します。 最新バージョンにアップグレードするには、az upgrade を実行します。

  • このクイックスタートは 、Azure PowerShell を使用して完了することもできます。

リソース グループを作成する

最初に、DNS ゾーンが含まれるリソース グループを作成します。

az group create --name MyAzureResourceGroup --location "East US"

プライベート DNS ゾーンの作成

次の例では、myAzureVNet という名前の仮想ネットワークを作成します。 次に、private.contoso.com という名前の DNS ゾーンを MyAzureResourceGroup リソース グループに作成し、その DNS ゾーンを MyAzureVnet 仮想ネットワークにリンクし、自動登録を有効にします。

az network vnet create \
  --name myAzureVNet \
  --resource-group MyAzureResourceGroup \
  --location eastus \
  --address-prefix 10.2.0.0/16 \
  --subnet-name backendSubnet \
  --subnet-prefixes 10.2.0.0/24

az network vnet subnet create \
  --vnet-name myAzureVNet \
  --resource-group MyAzureResourceGroup \
  --name AzureBastionSubnet \
  --address-prefix 10.2.1.0/26

az network private-dns zone create \
  --resource-group MyAzureResourceGroup \
  --name private.contoso.com

az network private-dns link vnet create \
  --resource-group MyAzureResourceGroup \
  --name MyDNSLink \
  --zone-name private.contoso.com \
  --virtual-network myAzureVNet \
  --registration-enabled true

名前解決のためだけにゾーンを作成する場合 (自動ホスト名登録なし)、 --registration-enabled false パラメーターを使用できます。

DNS プライベート ゾーンの一覧表示

DNS ゾーンを列挙するには、 az network private-dns zone listを使用します。 ヘルプについては、 az network dns zone list --helpを参照してください。

リソース グループを指定すると、リソース グループ内のゾーンのみが一覧表示されます。

az network private-dns zone list \
  --resource-group MyAzureResourceGroup

リソース グループを省略すると、サブスクリプション内のすべてのゾーンが一覧表示されます。

az network private-dns zone list 

Azure Bastion をデプロイする

Azure Bastion では、プライベート IP アドレスを使用して Secure Shell (SSH) またはリモート デスクトップ プロトコル (RDP) を介して、仮想ネットワーク内の VM にブラウザーで接続します。 VM には、パブリック IP アドレス、クライアント ソフトウェア、または特別な構成は必要ありません。 Azure Bastion の詳細については、Azure Bastion に関するページをご覧ください。

時間単位の料金は、送信データの使用量に関係なく、Bastion がデプロイされた時点から発生します。 詳しくは、「価格」および「SKU」を参照してください。 チュートリアルまたはテストの一環として Bastion をデプロイしている場合は、使用終了後にこのリソースを削除することをお勧めします。

az network public-ip create を使用して、Azure Bastion ホストのパブリック IP アドレスを作成します。

az network public-ip create \
  --resource-group MyAzureResourceGroup \
  --name public-ip-bastion \
  --location eastus \
  --allocation-method Static \
  --sku Standard

az network bastion create を使用して、Azure Bastion ホストを作成します。 Azure Bastion は、パブリック インターネットに公開することなく、仮想マシンに安全に接続するために使用されます。

az network bastion create \
  --resource-group MyAzureResourceGroup \
  --name bastion \
  --vnet-name myAzureVNet \
  --public-ip-address public-ip-bastion \
  --location eastus \
  --sku Basic \
  --no-wait

テスト用仮想マシンの作成

次に、プライベート DNS ゾーンをテストできるように 2 つの仮想マシンを作成します。

az vm create \
  --name myVM01 \
  --admin-username AzureAdmin \
  --resource-group MyAzureResourceGroup \
  --location eastus \
  --subnet backendSubnet \
  --vnet-name myAzureVnet \
  --image win2016datacenter \
  --public-ip-address ""
az vm create \
  --name myVM02 \
  --admin-username AzureAdmin \
  --resource-group MyAzureResourceGroup \
  --location eastus \
  --subnet backendSubnet \
  --vnet-name myAzureVnet \
  --image win2016datacenter \
  --public-ip-address ""

仮想マシンの作成は、完了するまでに数分かかる場合があります。

追加の DNS レコードの作成

DNS レコードを作成するには、 az network private-dns record-set [record type] add-record コマンドを使用します。 A レコードの追加に関するヘルプについては、 az network private-dns record-set A add-record --helpを参照してください。

次の例では、リソース グループ MyAzureResourceGroup の DNS ゾーン private.contoso.com に、相対名が db のレコードを作成します。 レコード セットの完全修飾名は、db.private.contoso.com になります。 レコードの種類は "A" で、IP アドレスは "10.2.0.4" です。

az network private-dns record-set a add-record \
  --resource-group MyAzureResourceGroup \
  --zone-name private.contoso.com \
  --record-set-name db \
  --ipv4-address 10.2.0.4

DNS レコードの表示

ゾーン内の DNS レコードを一覧表示するには、次のコマンドを実行します。

az network private-dns record-set list \
  --resource-group MyAzureResourceGroup \
  --zone-name private.contoso.com

プライベート ゾーンのテスト

これで、private.contoso.com プライベート ゾーンでの名前解決をテストできます。

受信 ICMP を許可するように VM を構成する

名前解決は ping コマンドを使用してテストできます。 そこで、両方の仮想マシン上のファイアウォールを、受信 ICMP パケットを許可するように構成します。

  1. Azure portal で、[仮想マシン] を検索して選択します。

  2. myVM01 を選択します。

  3. [概要] で、[接続>Bastion 経由で接続] を選択します。

  4. 仮想マシンのデプロイ時に作成したユーザー名とパスワードを入力し、[ 接続] を選択します。

  5. Windows PowerShell ウィンドウを開き、次のコマンドを実行します。

    New-NetFirewallRule –DisplayName "Allow ICMPv4-In" –Protocol ICMPv4
    
  6. myVM01 への Bastion 接続を閉じ、前の手順を繰り返して myVM02 に接続します。

VM を名前で ping する

  1. myVM02 Bastion 接続から、Windows PowerShell コマンド プロンプトを開き、自動的に登録されたホスト名を使用して myVM01 に ping を実行します。

    ping myVM01.private.contoso.com
    

    次に示すような出力が表示されます。

    PS C:\> ping myvm01.private.contoso.com
    
    Pinging myvm01.private.contoso.com [10.2.0.4] with 32 bytes of data:
    Reply from 10.2.0.4: bytes=32 time<1ms TTL=128
    Reply from 10.2.0.4: bytes=32 time=1ms TTL=128
    Reply from 10.2.0.4: bytes=32 time<1ms TTL=128
    Reply from 10.2.0.4: bytes=32 time<1ms TTL=128
    
    Ping statistics for 10.2.0.4:
        Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
    Approximate round trip times in milli-seconds:
        Minimum = 0ms, Maximum = 1ms, Average = 0ms
    PS C:\>
    
  2. 次に、前に作成した db 名を ping します。

    ping db.private.contoso.com
    

    次に示すような出力が表示されます。

    PS C:\> ping db.private.contoso.com
    
    Pinging db.private.contoso.com [10.2.0.4] with 32 bytes of data:
    Reply from 10.2.0.4: bytes=32 time<1ms TTL=128
    Reply from 10.2.0.4: bytes=32 time<1ms TTL=128
    Reply from 10.2.0.4: bytes=32 time<1ms TTL=128
    Reply from 10.2.0.4: bytes=32 time<1ms TTL=128
    
    Ping statistics for 10.2.0.4:
        Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
    Approximate round trip times in milli-seconds:
        Minimum = 0ms, Maximum = 0ms, Average = 0ms
    PS C:\>
    

リソースをクリーンアップする

不要になったら、 MyAzureResourceGroup リソース グループを削除して、このクイックスタートで作成したリソースを削除します。

az group delete --name MyAzureResourceGroup

次のステップ