高度な概念

Azure DNS プライベートゾーンでのCitrix ADC展開ガイド

はじめに

Citrix ADCは、以前はNetScalerと呼ばれていました。ADC(アプリケーションデリバリーコントローラー)領域で世界クラスの製品です。負荷分散、グローバルトラフィックの管理、圧縮、およびアプリケーションのセキュリティ保護が実証されています。

Azure DNS は、DNS ドメインをホストし、名前解決を提供するための Microsoft Azure インフラストラクチャ上のサービスです。

Azure DNS プライベートゾーンは、プライベートネットワーク内のドメイン名の解決に重点を置いたサービスです。プライベートゾーンでは、現在入手可能な 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プライベートゾーンのためのCitrix のGSLBですか?

今日の世界では、企業はワークロードをオンプレミスから Azure クラウドに移行したいと考えています。クラウドへの移行により、市場投入までの時間、設備投資/価格、展開の容易さ、セキュリティを活用できます。Azure DNS プライベートゾーンサービスは、ワークロードの一部を Azure クラウドに移行している企業に対して、独自の提案を提供します。これらの企業は、プライベートゾーンサービスを使用するときに、オンプレミス展開で長年にわたって持っていたプライベート DNS 名を作成できます。イントラネットアプリケーションサーバーのこのハイブリッドモデルがオンプレミスにあり、Azure クラウドは安全な VPN トンネルを介して接続されているため、1 つの課題は、ユーザーがこれらのイントラネットアプリケーションにシームレスにアクセスする方法です。Citrix ADCは、アプリケーションのトラフィックをオンプレミスまたはAzureクラウド上で最適な分散ワークロード/サーバーにルーティングし、アプリケーションサーバーの正常性ステータスを提供するグローバル負荷分散機能によって、このユニークなユースケースを解決します。

使用例

オンプレミスネットワークと異なる Azure VNET のユーザーは、必要なコンテンツにアクセスするために内部ネットワークの最適なサーバーに接続できる必要があります。これにより、アプリケーションが常に利用可能になり、最適化されたコストとユーザーエクスペリエンスが良好です。Azure プライベートトラフィック管理 (PTM) が主な要件です。Azure PTM では、ユーザーの DNS クエリがアプリケーションサーバーの適切なプライベート IP アドレスに解決されます。

ユースケースソリューション

Citrix ADCには、Azure PTM要件を満たすために役立つグローバルサーバー負荷分散(GSLB)機能が含まれています。GSLBは、DNS要求を取得し、DNS要求を提供するために、適切なIPアドレスにDNS要求を解決するDNSサーバのように動作します。

  • シームレスなDNSベースのフェイルオーバー
  • オンプレミスからクラウドへの段階的な移行
  • A/B 新機能のテスト

サポートされる多くの負荷分散方式の中で、このソリューションでは次の方法が役に立ちます。

  1. ラウンドロビン
  2. 静的近接(ロケーションベースのサーバー選択):2つの方法で展開できます

    1. Citrix ADC上のEDNSクライアントサブネット(ECS)ベースのGSLBベース
    2. すべての仮想ネットワークに DNS フォワーダを展開する

トポロジ

  • Azure プライベート DNS ゾーン用の Citrix ADC GSLB 展開は、図 1 に論理的に示されています。

図 1: Azure DNS プライベートゾーン用のCitrix ADC GSLB

  • ユーザーは、AzureまたはAzureのプライベートDNSゾーンのCitrix ADC GSLB負荷分散方式に基づいてオンプレミスで任意のアプリケーションサーバーにアクセスできます
  • オンプレミスと Azure 仮想ネットワーク間のすべてのトラフィックは、セキュリティで保護された VPN トンネルのみを通過します。
  • 前述のトポロジでは、アプリケーショントラフィック、DNS トラフィック、および監視トラフィックが示されています。
  • 必要な冗長性に応じて、Citrix ADCおよびDNSフォワーダを仮想ネットワークおよびデータセンターに展開できます。簡単にするために、ここでは1つのCitrix ADCのみを示していますが、Azureリージョン用のCitrix ADCとDNSフォワーダーの少なくとも1つのセットをお勧めします。
  • すべてのユーザー DNS クエリは、まず、クエリを適切な DNS サーバーに転送するためのルールが定義されている DNS フォワーダに送信されます。

Azure DNS プライベートゾーン用の Citrix ADC の構成

テスト済みの製品とバージョン

製品 バージョン
Azure クラウドサブスクリプション
Citrix ADC VPX BYOL (独自のライセンスを持参)

注: 展開はテスト済みで、Citrix ADCバージョン12.0以降と同じままです。

前提条件と設定に関する注意事項

このガイドでテストされる一般的な前提条件と構成は次のとおりです。Citrix ADCを設定する前にクロスチェックしてください。

ソリューションの説明

お客様が、HTTP 上で実行され、ラウンドロビン GSLB 負荷分散方法に基づくイントラネットアクセスで Azure とオンプレミスで展開される 1 つのアプリケーションの Azure DNS プライベートゾーン (rr.ptm.mysite.net) をホストするとします。この展開を実現するには、Azure、オンプレミス、および Citrix ADC アプライアンスを構成する、Citrix ADC で Azure プライベート DNS ゾーンの GSLB を有効にする必要があります。

パート 1: Azure、オンプレミスセットアップを構成する

トポロジに示すように、Azure 仮想ネットワーク (この場合は VNet A、VNet B) とオンプレミスのセットアップを設定します。 手順 1: ドメイン名 (mysite.net) で Azure プライベート DNS ゾーンを作成する 手順 2: Azure リージョンのハブアンドスポークモデルで 2 つの仮想ネットワーク (VNet A、VNet B) を作成する
手順 3: アプリケーションサーバー、DNS フォワーダー、Windows 10 Pro クライアント、および VNet A での Citrix ADC を展開する 手順4: アプリケーションサーバーを展開し、クライアントが VNet B にある場合は DNS フォワーダーを展開する 手順 5: アプリケーションサーバー、DNS フォワーダー、および Windows 10 Pro クライアントをオンプレミスで展開する

AzureプライベートDNSゾーン

Azure Portal にログインし、ダッシュボードを選択または作成します。今 、リソースを作成し、次の図に示すように、1(この場合はmysite.net)を作成するDNSゾーンを検索します

Azure ポータル DNS ゾーンの例

ハブモデルとスポークモデルの Azure 仮想ネットワーク (VNet A、VNet B)

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

仮想ネットワーク A(VNet A)

仮想ネットワーク B(VNet B)

VNet A から VNet B へのピアリング

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

VNet A から B への接続

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

仮想ネットワーク A ピアリング

VNet B から VNet A へのピアリング

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

VNet B から A への接続

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

仮想ネットワーク B ピアリング

アプリケーションサーバー、DNS フォワーダー、Windows 10 Pro クライアント、VNet A でのCitrix ADC の展開

私たちは、アプリケーションサーバー、DNSフォワーダ、Windows 10プロクライアント、およびVNet A上のCitrix ADCについて簡単に説明します。同じダッシュボードを選択し、リソースを作成し、それぞれのインスタンスを検索し、VNet AサブネットからIPを割り当てます

アプリケーションサーバー

アプリケーションサーバーは、Ubuntuサーバー16.04がAzureまたはオンプレミスVM上のインスタンスとして展開され、CLIコマンドを実行するウェブサーバー(HTTPサーバー)に他ならない:sudoのapache2をインストールしてウェブサーバーとして作る

Windows 10 Proクライアント

VNet A およびオンプレミスのクライアントマシンとして Windows 10 pro インスタンスを起動します。

Citrix ADC

Citrix ADCは、Citrix MASのヘルスチェックと分析によって、Azure DNAのプライベートゾーンを補完します。あなたの要件に基づいて、AzureのマーケットプレイスからCitrix ADCを起動します, ここでは、Citrix ADCを使用しています (BYOL) この展開のために. Microsoft AzureにCitrix ADCを展開する方法の手順については、以下のURLを参照してください。展開後、Citrix ADC IPを使用してCitrix ADC GSLBを構成します。「Microsoft AzureでNetScaler VPXインスタンスを展開する」を参照してください。

DNS フォワーダー

これは、Citrix ADC GSLB(ADNS IP)にバインドされたホストされたドメインのクライアント要求を転送するために使用されます。Linuxインスタンス(Ubuntuサーバー16.04)としてUbuntuのサーバー16.04を起動し、DNSフォワーダーとしてそれを設定する方法については、以下のURLを参照してください。

注: ラウンドロビン GSLB 負荷分散方法では、Azure リージョンの DNS フォワーダーが 1 つだけ十分ですが、静的近接では、仮想ネットワークごとに 1 つの DNS フォワーダーが必要です。https://github.com/Azure/azure-quickstart-templates/tree/master/301-dns-forwarderからクイックスタートテンプレートをダウンロードします

フォワーダーを展開した後、次の図に示すように、仮想ネットワーク A の DNS サーバー設定を VNet A DNS フォワーダー IP を使用してデフォルトからカスタムに変更し、VNet A DNS フォワーダーのnamed.conf.optionsファイルを変更して、ドメイン (mysite.net) の転送ルールを追加します。サブドメイン(ptm.mysite.net)をCitrixのGSLBのADNSIPに割り当てます。ここで、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 にクライアントがある場合はアプリケーションサーバーを展開し、DNS フォワーダを展開する

仮想ネットワーク B で、同じダッシュボードを選択し、[リソースの作成] をクリックし、それぞれのインスタンスを検索して、VNet B サブネットから IP を割り当てます。VNet A に似た静的な近接性 GSLB ロードバランシングがある場合に、アプリケーションサーバーと DNS フォワーダを起動します。 次に示すように、named.conf.optionsのVNet B DNS Forwarderの設定を編集します。

    VNet B DNS Forwarder Settings:  
    zone "ptm.mysite.net" {
        type forward;
        forwarders { 10.8.0.5; };
    };

仮想ネットワーク A DNS サーバー

アプリサーバー、DNS フォワーダー、および Windows 10 プロクライアントをオンプレミスで展開する

オンプレミスでは、ベアメタルで VM を起動し、VNet A に似たアプリケーションサーバー、DNS フォワーダー、および Windows 10 Pro クライアントをもたらします。 次の例に示すように、named.conf.optionsでオンプレミスの DNS Forwarder設定を編集します。

オンプレミスの 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 フォワーダー設定に必要です。

パート 2: Citrix ADC を構成する

トポロジーに示すように、Citrix ADCをAzure仮想ネットワーク(この場合はVNet A)に展開し、Citrix ADCのGUIを介してアクセスします。

Citrix ADC GSLB の構成

手順 1: ADNS サービスの作成 手順 2: サイトを作成する — ローカルおよびリモート 手順 3: ローカル仮想サーバーのサービスを作成する 手順 4: GSLB サービスの仮想サーバーを作成する

ADNS サービスの追加

Citrix ADC のGUIにログインします。[設定] タブで、[トラフィック管理] > [負荷分散] > [サービス] に移動します。サービスを追加します。次に示すように、TCP と UDP の両方で ADNS サービスを構成することをお勧めします。

既存のサーバの負荷分散サービス

負荷分散サービスの新しいサーバ

トラフィック管理サービス

GSLB サイトの追加

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

GSLB サイトの作成

クラスター IP GSLB サイト

GSLBサイト

GSLB サービスの追加

App サーバーの負荷分散を行うローカルおよびリモートの仮想サーバーに GSLB サービスを追加します。[設定] タブで、[トラフィック管理] > [GSLB] > [GSLB サービス] に移動します。次の例に示すように、サービスを追加します。HTTPモニターをバインドしてサーバーのステータスを確認します。

GSLB サービス設定 1

GSLB サービス設定 2

サービスを作成したら、GSLBサービス内の詳細設定タブに移動し、[モニター] タブを追加して、GSLBサービスをHTTPモニターにバインドしてサービスの状態を表示します GSLB サービスロードバランシングモニタ

HTTP モニターでバインドすると、次に示すように、サービスの状態が UP になります。 GSLBサービス

GSLB 仮想サーバーの追加

アプリケーションサーバーのエイリアスGSLBサービスにアクセス可能なGSLB仮想サーバーを追加します。[設定] タブで、[トラフィック管理] > [GSLB] > [GSLB 仮想サーバー] に移動します。次の例に示すように、仮想サーバーを追加します。GSLBサービスとドメイン名をバインドします。 GSLB 仮想サーバー

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

GSLB 仮想サーバードメインバインディング

仮想サーバー内の [詳細設定] タブに移動し、[ドメイン] タブを追加 してドメインをバインドする

[詳細設定] > [サービス] に移動し、矢印をクリックして GSLB サービスをバインドし、3 つのサービス (VNet A、VNet B、オンプレミス) すべてを仮想サーバーにバインドします。

GSLB サービスおよびサービスグループバインディング

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

GSLB 仮想サーバー設定

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

GSLB仮想サーバの負荷分散

展開をテストするには、クラウドクライアントマシンまたはオンプレミスクライアントマシンからドメイン URLrr.ptm.mysite.netにアクセスします。クラウドWindowsクライアントマシンからアクセスすると仮定すると、オンプレミスのアプリケーションサーバーであっても、サードパーティまたはカスタムDNSソリューションを必要とせずにプライベートDNSゾーンでアクセスされることがわかります。

結論

主要なアプリケーション配信ソリューションである Citrix ADC は、Azure DNS プライベートゾーンの負荷分散機能と GSLB 機能を提供するのに最適です。Azure DNSプライベートゾーンをサブスクライブすることで、Citrix ADC Global Server Load Balancing(GSLB)のパワーとインテリジェンスを利用して、複数の地域にあるワークロードやデータセンター間でイントラネットトラフィックを分散し、セキュアなVPNトンネルを介して接続することができます。このコラボレーションにより、企業は Azure パブリッククラウドに移行したいワークロードの一部にシームレスにアクセスできます。

Azure DNS プライベートゾーンでのCitrix ADC展開ガイド