Azure DNS プライベートゾーンへの Citrix ADC 展開ガイド
はじめに
Citrix ADC は、以前は NetScaler として知られていましたが、ロードバランシング、グローバルなトラフィック管理、圧縮、アプリケーションの保護において実証済みの能力を持つ、アプリケーションデリバリーコントローラー™ (ADC) 分野の世界クラスの製品です。
Azure DNS は、DNS ドメインをホストし、名前解決を提供する Microsoft Azure インフラストラクチャ上のサービスです。
Azure DNS Private Zones は、プライベートネットワーク内のドメイン名を解決することに焦点を当てたサービスです。Private Zones を使用すると、顧客は現在利用可能な Azure 提供の名前ではなく、独自のカスタムドメイン名を使用できます。
アジュール DNS の概要
ドメインネームシステム (DNS) は、サービス名をその IP アドレスに変換 (または解決) する役割を担っています。DNS ドメインのホスティングサービスである Azure DNS は、Microsoft Azure インフラストラクチャを使用して名前解決を提供します。インターネットに面した DNS ドメインのサポートに加えて、Azure DNS は現在、プライベート DNS ドメインもサポートしています。
Azure DNS は、カスタム DNS ソリューションを必要とせずに、仮想ネットワーク内のドメイン名を管理および解決するための信頼性の高い安全な DNS サービスを提供します。プライベート DNS ゾーンを使用することで、現在利用可能な Azure 提供の名前ではなく、独自のカスタムドメイン名を使用できます。カスタムドメイン名を使用すると、組織のニーズに最適に適合するように仮想ネットワークアーキテクチャを調整するのに役立ちます。これは、仮想ネットワーク内および仮想ネットワーク間の仮想マシン (VM) の名前解決を提供します。また、顧客はスプリットホライズンビューでゾーン名を構成でき、これによりプライベート DNS ゾーンとパブリック DNS ゾーンが名前を共有できます。
Azure DNS プライベートゾーンに Citrix GSLB を使用する理由
今日の世界では、企業はワークロードをオンプレミスから Azure クラウドに移行したいと考えています。クラウドへの移行により、市場投入までの時間、設備投資/価格、展開の容易さ、セキュリティを活用できます。Azure DNS Private Zone サービスは、ワークロードの一部を Azure クラウドに移行している企業に独自の提案を提供します。これらの企業は、プライベートゾーンサービスを使用する際に、オンプレミス展開で長年使用していたプライベート DNS 名を作成できます。オンプレミスとセキュアな VPN トンネルを介して接続された Azure クラウドにイントラネットアプリケーションサーバーが存在するこのハイブリッドモデルでは、1つの課題は、ユーザーがこれらのイントラネットアプリケーションにシームレスにアクセスする方法です。Citrix ADC は、そのグローバルロードバランシング機能により、この独自のユースケースを解決します。この機能は、アプリケーショントラフィックをオンプレミスまたは Azure クラウドのいずれかの最適な分散ワークロード/サーバーにルーティングし、アプリケーションサーバーのヘルスステータスを提供します。
ユースケース
オンプレミスネットワークおよび異なる Azure VNET のユーザーは、必要なコンテンツにアクセスするために、内部ネットワーク内の最適なサーバーに接続できる必要があります。これにより、アプリケーションが常に利用可能であり、コストが最適化され、ユーザーエクスペリエンスが良好であることが保証されます。ここでの主要な要件は、Azure プライベートトラフィック管理 (PTM) です。Azure PTM は、ユーザーの DNS クエリがアプリケーションサーバーの適切なプライベート IP アドレスに解決されることを保証します。
ユースケースの解決策
Citrix ADC には、Azure PTM の要件を満たすのに役立つグローバルサーバーロードバランシング (GSLB) 機能が含まれています。GSLB は DNS サーバーのように機能し、DNS リクエストを取得し、その DNS リクエストを適切な IP アドレスに解決して、以下を提供します。
- シームレスな DNS ベースのフェイルオーバー
- オンプレミスからクラウドへの段階的な移行
- 新機能のA/Bテスト
サポートされている多くのロードバランシング方法の中で、このソリューションでは以下の方法が役立ちます。
- ラウンドロビン
-
静的近接性(ロケーションベースのサーバー選択):これは2つの方法で展開できます。
- Citrix ADC上のEDNSクライアントサブネット(ECS)ベースのGSLB
- 各仮想ネットワークにDNSフォワーダーを展開する
トポロジ
- AzureプライベートDNSゾーン向けのCitrix ADC GSLB展開は、論理的には図1に示すようになります。
図1: Azure DNS プライベートゾーン向け シトリックス ADC GSLB(/ja-jp/advanced-concepts/media/image-01.png)
- ユーザーは、AzureプライベートDNSゾーンにおいて、Citrix ADC GSLBロードバランシング方法に基づいて、Azure上またはオンプレミスのいずれかのアプリケーションサーバーにアクセスできます。
- オンプレミスとAzure仮想ネットワーク間のすべてのトラフィックは、セキュアなVPNトンネルのみを介して行われます。
- アプリケーショントラフィック、DNSトラフィック、および監視トラフィックは、上記のトポロジに示されています。
- 必要な冗長性に応じて、Citrix ADCとDNSフォワーダーは仮想ネットワークとデータセンターに展開できます。簡素化のため、ここでは1つのCitrix ADCのみを示していますが、Azureリージョンごとに少なくとも1セットのCitrix ADCとDNSフォワーダーを推奨します。
- すべてのユーザーDNSクエリは、まず、適切なDNSサーバーにクエリを転送するためのルールが定義されているDNSフォワーダーに送信されます。
Azure DNSプライベートゾーン向けCitrix ADCの構成
テスト済みの製品とバージョン
| 製品 | バージョン |
|---|---|
| アジュール | クラウドサブスクリプション |
| シトリックス ADC VPX | BYOL (ライセンス持ち込み) |
注: この展開はテスト済みであり、Citrix ADCバージョン12.0以降で同じです。
前提条件と構成に関する注意事項
以下は、このガイドでテストされた一般的な前提条件と構成です。Citrix ADCを構成する前にご確認ください。
- 有効なサブスクリプションを持つMicrosoft Azureポータルアカウント
- オンプレミスとAzureクラウド間の接続(セキュアVPNトンネル)を確保します。AzureでセキュアVPNトンネルを設定するには、「ステップバイステップ: Azureとオンプレミス間のサイト間VPNゲートウェイの構成」を参照してください。
ソリューションの説明
お客様が、HTTPsで動作し、ラウンドロビンGSLBロードバランシング方式に基づいてイントラネットアクセスでAzureとオンプレミスに展開されるアプリケーションをAzure DNSプライベートゾーン (rr.ptm.mysite.net) でホストしたいと仮定します。Citrix ADCを使用してAzureプライベートDNSゾーンのGSLBを有効にすることでこの展開を実現するには、Azure、オンプレミス、およびCitrix ADCアプライアンスの構成という2つの部分で構成されます。
パート 1: Azure、オンプレミス設定の構成
トポロジに示すように、Azure 仮想ネットワーク (この場合は VNet A、VNet B) とオンプレミス設定をセットアップします。 ステップ 1: ドメイン名 (mysite.net) を持つ Azure プライベート DNS ゾーンを作成します。 ステップ 2: Azure リージョンでハブアンドスポークモデルの 2 つの仮想ネットワーク (VNet A、VNet B) を作成します。 ステップ 3: VNet A に App Server、DNS Forwarder、Windows 10 Pro クライアント、Citrix ADC をデプロイします。 ステップ 4: クライアントが VNet B にいる場合は、App Server をデプロイし、DNS Forwarder をデプロイします。 ステップ 5: オンプレミスに App Server、DNS Forwarder、Windows 10 Pro クライアントをデプロイします。
Azure プライベート DNS ゾーン
Azure ポータルにログインし、ダッシュボードを選択または作成します。次に、リソースの作成と DNS ゾーンの検索をクリックして、次の図に示すように (この場合は mysite.net) を作成します。

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


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

ピアリングが成功すると、次の図に示すように表示されます。

VNet B から VNet A へのピアリング
VNet BとVNet Aをピアリングするには、VNet Bの設定メニューからpeeringsをクリックし、VNet Aをピアリングして、「Allow forwarded traffic」と「Use remote gateways」を有効にします。以下の画像を参照してください。
VNet BからVNet Aへのピアリング(/ja-jp/advanced-concepts/media/image-07.png)
ピアリングが成功すると、以下の画像のように表示されます。
仮想ネットワークBのピアリング(/ja-jp/advanced-concepts/media/image-08.png)
VNet Aにアプリケーションサーバー、DNSフォワーダー、Windows 10 Proクライアント、Citrix ADCをデプロイする
App server、DNS forwarder、Windows 10 pro client、およびVNet A上のCitrix ADCについて簡単に説明します。同じダッシュボードを選択し、「リソースの作成」をクリックして、それぞれのインスタンスを検索し、VNet AサブネットからIPを割り当てます。
アプリケーションサーバー
App serverは、Webサーバー(HTTPサーバー)に他なりません。AzureまたはオンプレミスVMにUbuntu server 16.04をインスタンスとしてデプロイし、CLIコマンド「sudo apt install apache2」を実行してWebサーバーにします。
ウィンドウズ 10 プロ クライアント
VNet Aおよびオンプレミスにも、クライアントマシンとしてWindows 10 proインスタンスを起動します。
シトリックス ADC
Citrix ADCは、ヘルスチェックとCitrix MASからのAnalyticsにより、Azure DNAプライベートゾーンを補完します。要件に基づいてAzure MarketplaceからCitrix ADCを起動します。ここでは、このデプロイメントにCitrix ADC (BYOL)を使用しました。Microsoft AzureへのCitrix ADCのデプロイ方法の詳細な手順については、以下のURLを参照してください。デプロイ後、Citrix ADC IPを使用してCitrix ADC GSLBを構成します。(/ja-jp/netscaler/12/deploying-vpx/deploy-vpx-on-azure.html)を参照してください。
DNSフォワーダー
これは、Citrix ADC GSLB (ADNS IP)にバインドされたホスト型ドメインのクライアント要求を転送するために使用されます。Ubuntu server 16.04をLinuxインスタンス (Ubuntu server 16.04)として起動し、DNS forwarderとして設定する方法については、以下のURLを参照してください。
注記: Round Robin GSLBロードバランシング方式の場合、Azure Regionには1つのDNS forwarderで十分ですが、Static proximityの場合は仮想ネットワークごとに1つのDNS forwarderが必要です。
フォワーダーをデプロイした後、仮想ネットワークAのDNSサーバー設定をデフォルトからカスタムに変更し、VNet A DNSフォワーダーIPを以下の画像に示すように設定します。次に、VNet A DNSフォワーダーのnamed.conf.optionsファイルを変更して、ドメイン (mysite.net) とサブドメイン (ptm.mysite.net) の転送ルールをCitrix ADC GSLBのADNS IPに追加します。その後、DNSフォワーダーを再起動して、named.conf.optionsファイルで行われた変更を反映させます。
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 ServerとDNSフォワーダーをデプロイする
次に、仮想ネットワークBの場合、同じダッシュボードを選択し、リソースの作成をクリックして、該当するインスタンスを検索し、VNet BサブネットからIPを割り当てます。VNet Aと同様に静的近接GSLBロードバランシングがある場合は、AppサーバーとDNSフォワーダーを起動します。
VNet B DNSフォワーダーの設定をnamed.conf.optionsで次のように編集します。
VNet B DNS Forwarder Settings:
zone "ptm.mysite.net" {
type forward;
forwarders { 10.8.0.5; };
};

オンプレミスにAppサーバー、DNSフォワーダー、Windows 10 Proクライアントをデプロイする
次に、オンプレミスの場合、ベアメタル上でVMを起動し、VNet Aと同様にAppサーバー、DNSフォワーダー、Windows 10 Proクライアントを導入します。
オンプレミスのDNSフォワーダー設定をnamed.conf.optionsで次の例に示すように編集します。
オンプレミス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フォワーダー設定でこの変更が必要です。
Citrix ADC の構成方法 (パート2)
トポロジに示すように、Citrix ADCをAzure仮想ネットワーク (この場合はVNet A) にデプロイし、Citrix ADC GUIを介してアクセスします。
Citrix ADC GSLB の設定に関するガイド
ステップ1: ADNSサービスを作成する ステップ2: サイトを作成する – ローカルとリモート ステップ3: ローカル仮想サーバーのサービスを作成する ステップ4: GSLBサービスの仮想サーバーを作成する
ADNSサービスを追加する
Citrix ADC GUIにログインします。Configurationタブで、Traffic Management>Load Balancing > Servicesに移動します。サービスを追加します。ここに示されているように、ADNSサービスをTCPとUDPの両方で構成することをお勧めします。



GSLBサイトの追加
GSLBを構成するローカルサイトとリモートサイトを追加します。Configurationタブで、Traffic Management > GSLB > GSLB Sitesに移動します。ここに示されているようにサイトを追加し、他のサイトについても同じ手順を繰り返します。



GSLBサービスの追加
アプリサーバーの負荷分散を行うローカルおよびリモートの仮想サーバーにGSLBサービスを追加します。Configurationタブで、Traffic Management>GSLB > GSLB Servicesに移動します。次の例に示すようにサービスを追加します。サーバーの状態を確認するためにHTTPモニターをバインドします。


サービスを作成したら、GSLBサービス内の詳細設定タブに移動し、モニタータブを追加して、GSLBサービスをHTTPモニターにバインドし、サービスの状態を稼働させます。

HTTPモニターにバインドすると、ここに示されているようにサービスの状態はUPになります。

GSLB仮想サーバーの追加
アプリケーションサーバーのエイリアスGSLBサービスにアクセスできるGSLB仮想サーバーを追加します。Configurationタブで、Traffic Management>GSLB > GSLB Virtual Serversに移動します。次の例に示すように、仮想サーバーを追加します。GSLBサービスとドメイン名をそれにバインドします。

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

仮想サーバー内の詳細設定タブに移動し、ドメインをバインドするためにドメインの追加タブに移動します。
Advanced > Servicesに移動し、矢印をクリックしてGSLBサービスをバインドし、3つのサービスすべて(VNet A、VNet B、オンプレミス)を仮想サーバーにバインドします。

GSLBサービスとドメインを仮想サーバーにバインドすると、ここに示されているように表示されます。

GSLB仮想サーバーが稼働しており、100%正常であることを確認します。モニターがサーバーが稼働しており正常であることを示している場合、サイトが同期しており、バックエンドサービスが利用可能であることを意味します。

デプロイをテストするには、クラウドクライアントマシンまたはオンプレミスクライアントマシンのいずれかからドメインURL rr.ptm.mysite.netにアクセスします。例えば、クラウドのWindowsクライアントマシンからアクセスすると、サードパーティやカスタムDNSソリューションを必要とせずに、オンプレミスのアプリケーションサーバーでさえプライベートDNSゾーンでアクセスされていることがわかります。
まとめ
主要なアプリケーションデリバリーソリューションであるCitrix ADCは、Azure DNSプライベートゾーンの負荷分散およびGSLB機能を提供するのに最適です。Azure DNSプライベートゾーンを購読することで、企業はCitrix ADCのグローバルサーバー負荷分散(GSLB)の能力とインテリジェンスを活用して、複数の地域に分散したワークロードや、セキュアなVPNトンネルを介して接続されたデータセンター間でイントラネットトラフィックを分散させることができます。この連携により、企業はAzureパブリッククラウドに移行したいワークロードの一部にシームレスにアクセスできるようになります。