Azure DNS プライベートゾーン向けに NetScaler® を展開する
Azure DNS は、DNS ドメインをホストし、名前解決を提供する Microsoft Azure インフラストラクチャ上のサービスです。
Azure DNS プライベートゾーンは、プライベートネットワーク内のドメイン名を解決することに焦点を当てたサービスです。プライベートゾーンを使用すると、お客様は今日利用可能な Azure 提供の名前ではなく、独自のカスタムドメイン名を使用できます。
主要なアプリケーションデリバリーソリューションである NetScaler は、Azure DNS プライベートゾーンのロードバランシングおよび GSLB 機能を提供するのに最適です。Azure DNS プライベートゾーンを購読することで、企業は NetScaler のグローバルサーバーロードバランシング (GSLB) の能力とインテリジェンスに頼り、セキュアな VPN トンネルを介して接続された複数の地域およびデータセンターにわたるワークロードにイントラネットトラフィックを分散させることができます。この連携により、企業は Azure パブリッククラウドに移行したいワークロードの一部にシームレスにアクセスできるようになります。
アジュール DNS の概要
ドメインネームシステム (DNS) は、サービス名をその IP アドレスに変換または解決する役割を担っています。DNS ドメインのホスティングサービスである Azure DNS は、Microsoft Azure インフラストラクチャを使用して名前解決を提供します。インターネットに接続された DNS ドメインのサポートに加えて、Azure DNS は現在、プライベート DNS ドメインもサポートしています。
Azure DNS は、カスタム DNS ソリューションを必要とせずに、仮想ネットワーク内のドメイン名を管理および解決するための信頼性の高いセキュアな DNS サービスを提供します。プライベート DNS ゾーンを使用することで、Azure 提供の名前ではなく、独自のカスタムドメイン名を使用できます。カスタムドメイン名を使用すると、組織のニーズに最適な仮想ネットワークアーキテクチャを調整できます。仮想ネットワーク内および仮想ネットワーク間の仮想マシン (VM) の名前解決を提供します。また、お客様は、プライベート DNS ゾーンとパブリック DNS ゾーンが名前を共有できるように、ゾーン名をスプリットホライズンビューで構成できます。
Azure DNS プライベートゾーンに NetScaler GSLB が必要な理由
今日の世界では、企業はワークロードをオンプレミスから Azure クラウドに移行したいと考えています。クラウドへの移行により、市場投入までの時間、設備投資/価格、展開の容易さ、セキュリティを適用できます。Azure DNS プライベートゾーンサービスは、ワークロードの一部を Azure クラウドに移行している企業に独自の提案を提供します。これらの企業は、プライベートゾーンサービスを使用する際に、オンプレミス展開で長年使用していたプライベート DNS 名を作成できます。オンプレミスと Azure クラウドにイントラネットアプリケーションサーバーがあり、セキュアな VPN トンネルを介して接続されているこのハイブリッドモデルでは、課題の1つは、これらのイントラネットアプリケーションにシームレスにアクセスすることです。NetScaler は、そのグローバルロードバランシング機能でこの独自のユースケースを解決します。この機能は、アプリケーショントラフィックをオンプレミスまたは Azure クラウドの最も最適な分散ワークロード/サーバーにルーティングし、アプリケーションサーバーのヘルスステータスを提供します。
ユースケース
オンプレミスネットワークおよび異なる Azure VNet のユーザーは、必要なコンテンツにアクセスするために内部ネットワーク内の最適なサーバーに接続できます。これにより、アプリケーションは常に利用可能であり、コストが最適化され、ユーザーエクスペリエンスが良好であることが保証されます。ここでの主要な要件は Azure プライベートトラフィック管理 (PTM) です。Azure PTM は、ユーザーの DNS クエリがアプリケーションサーバーの適切なプライベート IP アドレスに解決されることを保証します。
ユースケースのソリューション
NetScaler には、Azure PTM の要件を満たすためのグローバルサーバーロードバランシング (GSLB) 機能が含まれています。GSLB は DNS サーバーのように機能し、DNS リクエストを取得し、適切な IP アドレスに解決して以下を提供します。
- シームレスな DNS ベースのフェイルオーバー。
- オンプレミスからクラウドへの段階的な移行。
- 新機能のA/Bテスト。
サポートされている多くのロードバランシング方法の中で、このソリューションでは以下の方法が役立ちます。
- ラウンドロビン
-
静的近接性(ロケーションベースのサーバー選択)。これは2つの方法で展開できます。
- NetScaler上のEDNSクライアントサブネット(ECS)ベースのGSLB。
- 各仮想ネットワークにDNSフォワーダーを展開します。
トポロジ
次の図は、AzureプライベートDNSゾーンのNetScaler GSLB展開を示しています。

ユーザーは、AzureプライベートDNSゾーンのNetScaler GSLBメソッドに基づいて、Azureまたはオンプレミスのいずれかのアプリケーションサーバーにアクセスできます。オンプレミスとAzure仮想ネットワーク間のすべてのトラフィックは、安全なVPNトンネルのみを介して行われます。アプリケーショントラフィック、DNSトラフィック、および監視トラフィックは、上記のトポロジに示されています。必要な冗長性に応じて、NetScalerとDNSフォワーダーは仮想ネットワークとデータセンターに展開できます。簡素化のため、ここでは1つのNetScalerのみを示していますが、Azureリージョンには少なくとも1セットのNetScalerとDNSフォワーダーを推奨します。すべてのユーザーDNSクエリは、まず、適切なDNSサーバーにクエリを転送するためのルールが定義されているDNSフォワーダーに送信されます。
Azure DNSプライベートゾーンのNetScalerを構成する
テスト済みの製品とバージョン:
| 製品 | バージョン |
|---|---|
| アジュール | クラウドサブスクリプション |
| ネットスケーラー VPX | BYOL (ご自身のライセンスを持ち込む) |
注:
この展開はテスト済みであり、NetScalerバージョン12.0以降でも同じです。
前提条件
以下は一般的な前提条件です。
- 有効なサブスクリプションを持つMicrosoft Azureポータルアカウント。
- オンプレミスとAzureクラウド間の接続(セキュアVPNトンネル)を確保します。AzureでセキュアVPNトンネルを設定するには、「ステップバイステップ: Azureとオンプレミス間のサイト間VPNゲートウェイの構成」を参照してください。
ソリューションの説明
HTTPsで動作し、ラウンドロビンGSLBロードバランシング方式に基づいてイントラネットアクセスでAzureとオンプレミスに展開される単一のアプリケーションAzure DNSプライベートゾーン (rr.ptm.mysite.net) をホストしたい場合。この展開を実現するには、以下の構成でNetScalerを使用してAzureプライベートDNSゾーンのGSLBを有効にします。
- Azureとオンプレミスのセットアップを構成します。
- Azure仮想ネットワーク上のNetScalerアプライアンス。
Azureとオンプレミスのセットアップを構成する
トポロジに示すように、Azure仮想ネットワーク(この場合はVNet A、VNet B)とオンプレミスセットアップを設定します。
- ドメイン名 (mysite.net) を使用して Azure プライベート DNS ゾーンを作成します。
- Azure リージョンに、ハブアンドスポークモデルで2つの仮想ネットワーク (VNet A、VNet B) を作成します。
- VNet A に アプリケーションサーバー、DNSフォワーダー、Windows 10 Pro クライアント、ネットスケーラーをデプロイします。
- VNet B にクライアントがいる場合は、App Server と DNS フォワーダーをデプロイします。
- オンプレミスに App Server、DNS フォワーダー、Windows 10 Pro クライアントをデプロイします。
Azure プライベート DNS ゾーン
ドメイン名を使用して Azure プライベート DNS ゾーンを作成します。
- Azure ポータルにログインし、ダッシュボードを選択または作成します。
- リソースの作成 をクリックし、DNS ゾーンを検索して、ドメイン名 (この場合は mysite.net) を持つ Azure プライベート DNS ゾーン (mysite.net) を作成します。

ハブアンドスポークモデルの Azure 仮想ネットワーク (VNet A、VNet B)
Azure リージョンに、ハブアンドスポークモデルで2つの仮想ネットワーク (VNet A、VNet B) を作成します。
- 2つの仮想ネットワークを作成します。
-
同じダッシュボードを選択し、リソースの作成 をクリックして仮想ネットワークを検索し、同じリージョンに VNet A と VNet B という2つの仮想ネットワークを作成し、次の図に示すようにそれらをピアリングしてハブアンドスポークモデルを形成します。 ハブアンドスポークトポロジの設定方法の詳細については、「Azure でハブアンドスポークネットワークトポロジを実装する」を参照してください。


VNet A から VNet B へのピアリング
VNet A と VNet B をピアリングするには:
-
VNet A の [設定] メニューから [ピアリング] をクリックし、VNet B をピアリングします。
-
次の図に示すように、[転送されたトラフィックを許可する] と [ゲートウェイの通過を許可する] を有効にします。

次の図は、VNet A から VNet B へのピアリングが成功したことを示しています。

VNet B から VNet A へのピアリング
VNet B と VNet A をピアリングするには:
- VNet B の [設定] メニューから [ピアリング] をクリックし、VNet A をピアリングします。
- 次の図に示すように、[転送されたトラフィックを許可する] を有効にし、リモート ゲートウェイを使用します。

次の図は、VNet B から VNet A へのピアリングが成功したことを示しています。

VNet A にアプリケーションサーバー、DNSフォワーダー、Windows 10 Pro クライアント、NetScaler を展開する
VNet A 上の Appサーバー、DNSフォワーダー、Windows 10 Pro クライアント、および NetScaler について簡単に説明します。
- 同じダッシュボードを選択し、リソースの作成をクリックします。
- 該当するインスタンスを検索し、VNet A サブネットから IP を割り当てます。
アプリケーションサーバー
アプリケーションサーバーとは、Azure またはオンプレミスVMにUbuntu Server 16.04がインスタンスとしてデプロイされたWebサーバー(HTTPサーバー)のことです。Webサーバーとして機能させるには、コマンドプロンプトで次のように入力します。
sudo apt install apache2
ウィンドウズ 10 プロ クライアント
VNet A およびオンプレミスで、Windows 10 Pro インスタンスをクライアントマシンとして起動します。
ネットスケーラー
NetScaler は、NetScaler MAS からのヘルスチェックと分析によって Azure DNS プライベートゾーンを補完します。要件に基づいて Azure Marketplace から NetScaler を起動します。ここでは、このデプロイに NetScaler (BYOL) を使用しました。
Microsoft Azure に NetScaler をデプロイする方法の詳細な手順については、Microsoft Azure に NetScaler VPX インスタンスをデプロイするを参照してください。
デプロイ後、NetScaler IP を使用して NetScaler GSLB を構成します。
DNS フォワーダー
これは、NetScaler GSLB (ADNS IP) にバインドされたホスト型ドメインのクライアント要求を転送するために使用されます。Ubuntu Server 16.04 を Linux インスタンス (Ubuntu Server 16.04) として起動し、DNS フォワーダーとして設定する方法については、以下の URL を参照してください。
注:
ラウンドロビン GSLB 負荷分散方式の場合、Azure リージョンごとに1つの DNS フォワーダーで十分ですが、静的近接性の場合、仮想ネットワークごとに1つの DNS フォワーダーが必要です。
- フォワーダーを展開した後、仮想ネットワークAのDNSサーバー設定をデフォルトからカスタムに変更し、VNet A DNSフォワーダーIPを次の画像に示すように設定します。
- VNet A DNSフォワーダーの
named.conf.optionsファイルを変更して、ドメイン (mysite.net) とサブドメイン (ptm.mysite.net) の転送ルールをNetScaler GSLBのADNS IPに追加します。 - ファイル
named.conf.optionsで行われた変更を反映させるために、DNSフォワーダーを再起動します。
VNet A DNSフォワーダー設定
zone "mysite.net" {
type forward;
forwarders { 168.63.129.16; };
};
zone "ptm.mysite.net" {
type forward;
forwarders { 10.8.0.5; };
};
<!--NeedCopy-->
注:
ドメイン(「mysite.net」)ゾーンのIPアドレスには、AzureリージョンのDNS IPアドレスを使用します。サブドメイン(「ptm.mysite.net」)ゾーンのIPアドレスには、GSLBインスタンスのすべてのADNS IPアドレスを使用します。
クライアントがVNet Bにいる場合は、AppサーバーとDNSフォワーダーを展開する
- 仮想ネットワークBの場合、同じダッシュボードを選択し、リソースの作成をクリックします。
- 該当するインスタンスを検索し、VNet BサブネットからIPを割り当てます。
- VNet Aと同様に静的近接GSLBロードバランシングがある場合は、AppサーバーとDNSフォワーダーを起動します。
-
次の設定に示すように、VNet B DNSフォワーダー設定を
named.conf.optionsで編集します。VNet B DNSフォワーダー設定:
zone "ptm.mysite.net" {
type forward;
forwarders { 10.8.0.5; };
};
<!--NeedCopy-->
次の画像は、VNet B DNSフォワーダー設定を示しています。

オンプレミスにAppサーバー、DNSフォワーダー、Windows 10 Proクライアントを展開する
-
オンプレミスの場合、ベアメタルでVMを起動し、VNet Aと同様にAppサーバー、DNSフォワーダー、Windows 10 Proクライアントを導入します。
-
次の例に示すように、
named.conf.optionsでオンプレミスDNSフォワーダー設定を編集します。
オンプレミスDNSフォワーダー設定
zone "mysite.net" {
type forward;
forwarders { 10.8.0.6; };
};
zone "ptm.mysite.net" {
type forward;
forwarders { 10.8.0.5; };
};
<!--NeedCopy-->
mysite.netの場合、AzureプライベートDNSゾーンサーバーIPの代わりにVNet AのDNSフォワーダーIPを指定しました。これはオンプレミスから到達できない特別なIPアドレスであるためです。したがって、オンプレミスのDNSフォワーダー設定でこの変更が必要です。
Azure仮想ネットワークでNetScalerを構成する
トポロジに示すように、Azure仮想ネットワーク(この場合はVNet A)にNetScalerを展開し、NetScaler GUIを介してアクセスします。
ネットスケーラー GSLB の設定
- ADNSサービスを作成します。
- ローカルサイトとリモートサイトを作成します。
- ローカル仮想サーバーのサービスを作成します。
- GSLBサービスの仮想サーバーを作成します。
ADNSサービスの追加
- NetScaler GUIにログインします。
- 「構成」タブで、「トラフィック管理」>「負荷分散」>「サービス」に移動します。
- サービスを追加します。 次の画像に示すように、ADNSサービスをTCPとUDPの両方で構成することをお勧めします。



GSLBサイトの追加
- GSLBが構成されるローカルサイトとリモートサイトを追加します。
-
「構成」タブで、「トラフィック管理 > GSLB > GSLBサイト」に移動します。 次の例に示すようにサイトを追加し、他のサイトについても同じ手順を繰り返します。



GSLBサービスの追加
- アプリサーバーの負荷分散を行うローカルおよびリモートの仮想サーバーにGSLBサービスを追加します。
- 「構成」タブで、「トラフィック管理 > GSLB > GSLBサービス」に移動します。
- 次の例に示すようにサービスを追加します。
-
サーバーの状態を確認するためにHTTPモニターをバインドします。


- サービスを作成したら、GSLBサービス内のAdvanced settingsタブに移動します。
-
サービスのステータスを「UP」にするには、Add MonitorをクリックしてGSLBサービスをHTTPモニターにバインドします。

- HTTPモニターにバインドすると、次の図に示すように、サービスのステータスがUPとマークされます。
GSLB仮想サーバーを追加する
アプリサーバーのエイリアスGSLBサービスにアクセスできるGSLB仮想サーバーを追加します。
- 「Configuration」タブで、「トラフィック管理 > GSLB > GSLB仮想サーバー」に移動します。
- 次の例に示すように、仮想サーバーを追加します。
-
GSLBサービスとドメイン名をそれにバインドします。

-
GSLB仮想サーバーを作成し、適切な負荷分散方法(この場合はラウンドロビン)を選択したら、GSLBサービスとドメインをバインドしてこの手順を完了します。

-
仮想サーバー内のAdvanced settingsタブに移動し、Add Domainsタブをクリックしてドメインをバインドします。
-
Advanced > Servicesに移動し、矢印をクリックしてGSLBサービスをバインドし、3つのサービスすべて(VNet A、VNet B、オンプレミス)を仮想サーバーにバインドします。

GSLBサービスとドメインを仮想サーバーにバインドすると、次の図のように表示されます。
GSLB仮想サーバーの設定(/ja-jp/vpx/media/image-23.png)
GSLB仮想サーバーが稼働しており、100%正常であることを確認します。モニターがサーバーが稼働しており正常であることを示している場合、サイトが同期しており、バックエンドサービスが利用可能であることを意味します。
GSLB仮想サーバーの負荷分散(/ja-jp/vpx/media/image-24.png)
デプロイメントをテストするには、クラウドクライアントマシンまたはオンプレミスクライアントマシンのいずれかからドメインURL rr.ptm.mysite.net にアクセスします。クラウドWindowsクライアントマシンからアクセスする場合は、サードパーティまたはカスタムDNSソリューションを必要とせずに、オンプレミスのAppサーバーがプライベートDNSゾーンでアクセスされていることを確認してください。