Azure DNS プライベートゾーン向けNetScaler®の展開
Azure DNS は、DNS ドメインをホストし、名前解決を提供する Microsoft Azure インフラストラクチャ上のサービスです。
Azure DNS プライベートゾーンは、プライベートネットワーク内のドメイン名を解決することに特化したサービスです。プライベートゾーンを使用すると、顧客は現在利用可能な Azure 提供の名前ではなく、独自のカスタムドメイン名を使用できます。
主要なアプリケーションデリバリーソリューションである NetScaler は、Azure DNS プライベートゾーンのロードバランシングおよび GSLB 機能を提供するのに最適です。Azure DNS プライベートゾーンを購読することで、企業は NetScaler Global Server Load Balancing (GSLB) の能力とインテリジェンスに頼り、安全な VPN トンネルを介して接続された、複数の地理的地域およびデータセンターにわたるワークロードにイントラネットトラフィックを分散させることができます。この連携により、企業は Azure パブリッククラウドに移行したいワークロードの一部にシームレスにアクセスできるようになります。
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 トンネルを介して接続されているこのハイブリッドモデルでは、これらのイントラネットアプリケーションへのシームレスなアクセスが課題となります。NetScaler は、そのグローバルロードバランシング機能により、この独自のユースケースを解決します。この機能は、アプリケーショントラフィックをオンプレミスまたは Azure クラウドの最も最適な分散ワークロード/サーバーにルーティングし、アプリケーションサーバーのヘルスステータスを提供します。
ユースケース
オンプレミスネットワークおよび異なる Azure VNet のユーザーは、必要なコンテンツにアクセスするために、内部ネットワーク内の最適なサーバーに接続できます。これにより、アプリケーションは常に利用可能であり、コストが最適化され、ユーザーエクスペリエンスが良好であることが保証されます。ここでは、Azure プライベートトラフィック管理 (PTM) が主要な要件です。Azure PTM は、ユーザーの DNS クエリがアプリケーションサーバーの適切なプライベート IP アドレスに解決されることを保証します。
ユースケースソリューション
NetScaler には、Azure PTM の要件を満たすためのグローバルサーバーロードバランシング (GSLB) 機能が含まれています。GSLB は DNS サーバーのように機能し、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を構成する
テスト済みの製品とバージョン:
| 製品 | バージョン |
|---|---|
| アジュール | クラウドサブスクリプション |
| NetScaler VPX | BYOL (ライセンス持ち込み) |
注:
この展開はテスト済みであり、NetScalerバージョン12.0以降で同じです。
前提条件
以下は一般的な前提条件です。
-
有効なサブスクリプションを持つMicrosoft Azureポータルアカウント。
-
オンプレミスとAzureクラウド間の接続(セキュアVPNトンネル)を確保します。AzureでセキュアVPNトンネルを設定するには、「Step-By-Step: Configuring a site-to-site VPN Gateway between Azure and on-premises」を参照してください。
ソリューションの説明
HTTPsで動作し、ラウンドロビンGSLBロードバランシング方式に基づいてイントラネットアクセスを備えたAzureとオンプレミスに展開されている1つのアプリケーション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 に App Server、DNS フォワーダー、Windows 10 Pro クライアント、NetScaler をデプロイします。
-
VNet B にクライアントがいる場合は、App Server と DNS フォワーダーをデプロイします。
-
オンプレミスに App Server、DNS フォワーダー、Windows 10 Pro クライアントをデプロイします。
Azure プライベート DNS ゾーン
ドメイン名を使用して Azure プライベート DNS ゾーンを作成します。
-
Azure ポータルにログインし、ダッシュボードを選択または作成します。
-
リソースの作成をクリックし、DNS ゾーンを検索して、ドメイン名 (mysite.net) を持つ Azure プライベート DNS ゾーン (この場合は mysite.net) を作成します。
Azure ポータル DNS ゾーンの例(/en-us/vpx/media/image-02.png)
ハブアンドスポークモデルの Azure 仮想ネットワーク (VNet A、VNet B)
Azure リージョンに、ハブアンドスポークモデルで2つの仮想ネットワーク (VNet A、VNet B) を作成します。
-
2つの仮想ネットワークを作成します。
-
同じダッシュボードを選択し、リソースの作成をクリックして仮想ネットワークを検索し、VNet A と VNet B という2つの仮想ネットワークを同じリージョンに作成し、以下の画像に示すようにピアリングしてハブアンドスポークモデルを形成します。 ハブアンドスポークトポロジの設定方法の詳細については、「Azure でハブアンドスポークネットワークトポロジを実装する」を参照してください。仮想ネットワーク A (VNet A)(/en-us/vpx/media/image-03.png)

VNet A に App サーバー、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
Windows 10 Pro クライアント
VNet A およびオンプレミスで、Windows 10 Pro インスタンスをクライアントマシンとして起動します。
NetScaler
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; };
};
注:
ドメイン(「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; };
};
以下の画像は、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; };
};
mysite.netの場合、AzureプライベートDNSゾーンサーバーIPの代わりにVNet AのDNSフォワーダーIPを指定しました。これはオンプレミスから到達できない特別なIPアドレスであるためです。したがって、オンプレミスのDNSフォワーダー設定でこの変更が必要です。
Azure仮想ネットワークでNetScalerを構成する
トポロジに示すように、Azure仮想ネットワーク(この場合はVNet A)にNetScalerを展開し、NetScaler GUIを介してアクセスします。
NetScaler GSLBの構成
-
ADNSサービスを作成します。
-
ローカルサイトとリモートサイトを作成します。
-
ローカル仮想サーバーのサービスを作成します。
-
GSLBサービスの仮想サーバーを作成します。
ADNSサービスの追加
-
NetScaler GUIにログインします。
-
Configurationタブで、Traffic Management > Load Balancing > Servicesに移動します。
-
サービスを追加します。 次の画像に示すように、ADNSサービスをTCPとUDPの両方で構成することをお勧めします。


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



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


-
サービスを作成したら、GSLBサービス内のAdvanced settingsタブに移動します。
-
Add Monitorをクリックして、GSLBサービスをHTTPモニターにバインドし、サービスの状態をUPにします。
-
HTTPモニターにバインドすると、次の図に示すように、サービスの状態がUPとしてマークされます。
GSLB仮想サーバーを追加する
アプリサーバーのエイリアスGSLBサービスにアクセスできるGSLB仮想サーバーを追加します。
-
Configurationタブで、Traffic Management > GSLB > GSLB Virtual Serversに移動します。
-
次の例に示すように、仮想サーバーを追加します。
-
GSLBサービスとドメイン名をそれにバインドします。

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

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


