ADC

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 インフラストラクチャを使用して名前解決を行います。Azure DNS は、インターネットに直接接続する 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リクエストを受け取り、DNSリクエストを適切なIPアドレスに解決して以下を提供します。

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

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

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

    1. NetScaler 上のEDNSクライアントサブネット (ECS) ベースのGSLB。
    2. すべての仮想ネットワークに DNS フォワーダーをデプロイします。

トポロジ

次の図は、AzureプライベートDNSゾーンのNetScaler GSLBデプロイメントを示しています。

図 1: Azure DNS プライベートゾーン用NetScaler GSLB

ユーザーは、AzureプライベートDNSゾーンのNetScaler GSLBメソッドに基づいて、Azureまたはオンプレミスの任意のアプリケーションサーバーにアクセスできます。オンプレミスと Azure 仮想ネットワーク間のすべてのトラフィックは、安全な VPN トンネルのみを経由します。アプリケーショントラフィック、DNS トラフィック、およびモニタリングトラフィックは、前述のトポロジに示されています。必要な冗長性に応じて、NetScalerとDNSフォワーダーを仮想ネットワークとデータセンターに導入できます。わかりやすくするために、ここではNetScalerを1つだけ表示していますが、Azureリージョンには少なくとも1セットのNetScalerとDNSフォワーダーを使用することをお勧めします。すべてのユーザーDNSクエリは、まずクエリを適切なDNSサーバーに転送するためのルールが定義されているDNSフォワーダーに送られます。

Azure DNSプライベートゾーン用NetScaler 構成

テストした製品とバージョン:

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

注:

導入はテスト済みで、NetScalerバージョン12.0以降と変わりません。

前提条件

一般的な前提条件は次のとおりです。

ソリューションの説明

HTTP 上で動作し、ラウンドロビン GSLB 負荷分散方式に基づくイントラネットアクセスで Azure とオンプレミス全体にデプロイされる Azure DNS プライベートゾーン (rr.ptm.mysite.net) を 1 つのアプリケーションをホストする場合。この展開を実現するには、NetScalerを使用してAzureプライベートDNSゾーンのGSLBを有効にします。このゾーンには次の構成が含まれます。

  1. Azure とオンプレミスのセットアップを設定します。
  2. Azure仮想ネットワーク上のNetScalerアプライアンス。

Azure とオンプレミスセットアップの設定

トポロジに示されているように、Azure 仮想ネットワーク (この場合は VNet A、VNet B) とオンプレミスセットアップを設定します。

  1. ドメイン名 (mysite.net) を使用して Azure プライベート DNS ゾーンを作成します。
  2. Azure リージョンのハブアンドスポークモデルに 2 つの仮想ネットワーク (VNet A、VNet B) を作成します。
  3. VNet A にアプリケーションサーバー、DNS フォワーダー、Windows 10 Pro クライアント、NetScaler をデプロイします。
  4. アプリケーションサーバーをデプロイし、VNet B にクライアントがある場合は DNS フォワーダーをデプロイします。
  5. アプリケーションサーバー、DNS フォワーダー、および Windows 10 pro クライアントをオンプレミスにデプロイします。

Azure プライベート DNS ゾーン

ドメイン名を使用して Azure プライベート DNS ゾーンを作成します。

  1. Azure Portal にログインし、ダッシュボードを選択または作成します。
  2. [ リソースの作成 ] をクリックし、DNS ゾーンを検索して、ドメイン名 (mysite.net) の Azure プライベート DNS ゾーン (この場合は mysite.net) を作成します。

Azure ポータル DNS ゾーンの例

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

Azure リージョンのハブアンドスポークモデルに 2 つの仮想ネットワーク (VNet A、VNet B) を作成します。

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

    Virtual Network A (VNet A)

    Virtual Network B (VNet B)

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

VNet A と VNet B をピアリングするには:

  1. VNet A とピア VNet B の [ **設定 ] メニューから [ピアリング** ] をクリックします。

  2. 次の図に示すように、[ 転送トラフィックを許可する] と [ゲートウェイトランジットを許可する ] を有効にします。

    VNet A から B

次の図は、VNet A と VNet B の正常なピアリングを示しています。

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

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

VNet B と VNet A をピアリングするには:

  1. VNet B とピア VNet A の [ **設定 ] メニューから [ピアリング** ] をクリックします。
  2. 次の図に示すように、[ 転送トラフィックを許可し 、リモートゲートウェイを使用する] を有効にします。
![VNet B to A](/en-us/citrix-adc/media/image-07.png)

次の図は、VNet B から VNet A へのピアリングが成功したことを示しています。 仮想ネットワーク B ピアリング

VNet A にアプリケーションサーバー、DNS フォワーダー、Windows 10 Pro クライアント、NetScaler をデプロイします

アプリケーションサーバー、DNSフォワーダー、Windows 10プロクライアント、およびVNet A上のNetScalerについて簡単に説明します。

  1. 同じダッシュボードを選択し、[ リソースを作成] をクリックします。
  2. それぞれのインスタンスを検索し、VNet A サブネットから IP を割り当てます。

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

アプリケーションサーバーは、Ubuntuサーバー16.04がAzureまたはオンプレミスVMにインスタンスとしてデプロイされているWebサーバー(HTTPサーバー)に他なりません。Web サーバーとして設定するには、コマンドプロンプトで次のように入力します。

sudo apt install apache2

Windows 10 Pro Client

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

NetScaler

NetScalerは、NetScaler MASのヘルスチェックと分析によってAzure DNAプライベートゾーンを補完しています。要件に基づいてAzure MarketplaceからNetScalerを起動します。ここでは、NetScaler (BYOL) を使用してデプロイしました。

Microsoft AzureにNetScaler をデプロイする方法の詳細な手順については、こちらをご覧ください。「Microsoft AzureへのNetScaler VPX インスタンスの展開」を参照してください。

展開後、NetScaler IPを使用してNetScaler ADC GSLBを構成します。

DNS フォワーダー

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

注:

ラウンドロビン GSLB 負荷分散方法では、Azure リージョン用の DNS フォワーダーは 1 つで十分ですが、静的近接の場合は、仮想ネットワークごとに 1 つの DNS フォワーダーが必要です。

  1. フォワーダーをデプロイしたら、次の図に示すように、仮想ネットワークAのDNSサーバー設定をデフォルトからVNet AのDNSフォワーダーIPを使用してカスタムに変更します。
  2. VNet A DNS named.conf.options フォワーダー内のファイルを変更して、ドメイン (mysite.net) とサブドメイン (ptm.mysite.net) の転送ルールを NetScaler GSLB の ADNS IP に追加します。
  3. 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; };
    };
 <!--NeedCopy-->

注:

ドメイン (「mysite.net」) ゾーンの IP アドレスには、Azure リージョンの DNS IP アドレスを使用してください。サブドメイン (「ptm.mysite.net」) ゾーン IP アドレスには、GSLB インスタンスのすべての ADNS IP アドレスを使用してください。

VNet B にクライアントがある場合は、アプリケーションサーバーと DNS フォワーダーをデプロイします

  1. 仮想ネットワーク B の場合は、同じダッシュボードを選択し、「 リソースを作成」をクリックします。
  2. それぞれのインスタンスを検索し、VNet B サブネットから IP を割り当てます。
  3. VNet A と同様の静的近接 GSLB 負荷分散がある場合は、アプリケーションサーバーと DNS フォワーダーを起動します。
  4. 次の設定に示すように、named.conf.optionsのVNet B の DNS フォワーダ設定を編集します。

    VNet B の DNS フォワーダー設定:

    zone "ptm.mysite.net" {
        type forward;
        forwarders { 10.8.0.5; };
    };
<!--NeedCopy-->

次の図は、VNet B の DNS フォワーダー設定を示しています。 仮想ネットワークA DNS サーバー

アプリケーションサーバー、DNS フォワーダー、および Windows 10 pro クライアントをオンプレミスにデプロイ

  1. オンプレミスの場合は、ベアメタルで仮想マシンを起動し、アプリケーションサーバー、DNSフォワーダー、およびVNet Aと同様のWindows 10プロクライアントを用意します。

  2. 次の例に示すように、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 を構成します

トポロジーに示されているように、NetScalerをAzure仮想ネットワーク(この場合はVNet A)にデプロイし、NetScaler GUIを介してアクセスします。

NetScaler GSLB の設定

  1. ADNS サービスを作成します。
  2. ローカルサイトとリモートサイトを作成します。
  3. ローカル仮想サーバー用のサービスを作成します。
  4. GSLB サービス用の仮想サーバーを作成します。

ADNS サービスを追加

  1. NetScalerユーザーインターフェイスにログインします。
  2. [ 設定 ] タブで、[ トラフィック管理] > [負荷分散] > [サービス] に移動します。
  3. サービスを追加します。 次の図に示すように、ADNS サービスを TCP と UDP の両方で設定することをお勧めします。

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

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

交通管理サービス

GSLB サイトを追加する

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

    GSLB サイトを作成する

    クラスタ IP GSLB サイト

    GSLB サイト

GSLB サービスの追加

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

    GSLB サービス設定 1

    GSLB サービス設定 2

  5. サービスを作成したら、GSLB サービス内の [ 詳細設定 ] タブに移動します。
  6. モニターを追加 」をクリックして、GSLBサービスをHTTPモニターにバインドし、サービスの状態を表示します。 GSLB サービス負荷分散モニター

  7. HTTP モニターにバインドすると、次の図に示すように、サービスの状態は UP とマークされます。 GSLBサービス

GSLB 仮想サーバーの追加

アプリケーションサーバーのエイリアス GSLB サービスにアクセスできる GSLB 仮想サーバーを追加します。

  1. [ 設定 ] タブで、[ トラフィック管理] > [GSLB] > [GSLB 仮想サーバー] に移動します。
  2. 次の例のように仮想サーバーを追加します。
  3. GSLB サービスとドメイン名をそれにバインドします。

    GSLB 仮想サーバー

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

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

  5. 仮想サーバー内の [ 詳細設定 ] タブに移動し、[ ドメインの追加 ] タブをクリックしてドメインをバインドします。

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

    GSLB サービスとサービスグループバインディング

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

    GSLB 仮想サーバー設定

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

GSLB 仮想サーバーの負荷分散

デプロイをテストするには、クラウドクライアントマシンまたはオンプレミスクライアントマシンからドメイン URL rr.ptm.mysite.netにアクセスします。クラウドWindowsクライアントマシンからアクセスする場合は、サードパーティのDNSソリューションやカスタムDNSソリューションを必要とせずに、プライベートDNSゾーンでオンプレミスのアプリケーションサーバーにアクセスするようにしてください。

Azure DNSプライベートゾーン用NetScaler デプロイ