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テスト。
サポートされている多くの負荷分散方法の中で、このソリューションでは次の方法が役立ちます。
- ラウンドロビン
-
静的近接性 (ロケーションベースのサーバー選択)。 次の 2 つの方法で導入できます。
- NetScaler 上のEDNSクライアントサブネット (ECS) ベースのGSLB。
- すべての仮想ネットワークに DNS フォワーダーをデプロイします。
トポロジ
次の図は、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以降と変わりません。
前提条件
一般的な前提条件は次のとおりです。
- サブスクリプションが有効な Microsoft Azure ポータルアカウント。
- オンプレミスと Azure クラウド間の接続 (セキュア VPN トンネル) を確認します。 Azure で安全な VPN トンネルを設定するには、「 ステップバイステップ:Azure とオンプレミス間のサイト間 VPN ゲートウェイの設定」を参照してください。
ソリューションの説明
HTTP 上で動作し、ラウンドロビン GSLB 負荷分散方式に基づくイントラネットアクセスで Azure とオンプレミス全体にデプロイされる Azure DNS プライベートゾーン (rr.ptm.mysite.net) を 1 つのアプリケーションをホストする場合。 この展開を実現するには、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 クライアント、NetScaler をデプロイします。
- アプリケーションサーバーをデプロイし、VNet B にクライアントがある場合は DNS フォワーダーをデプロイします。
- アプリケーションサーバー、DNS フォワーダー、および Windows 10 pro クライアントをオンプレミスにデプロイします。
Azure プライベート DNS ゾーン
ドメイン名を使用して Azure プライベート DNS ゾーンを作成します。
- Azure Portal にログインし、ダッシュボードを選択または作成します。
- [ リソースの作成 ] をクリックし、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 to A](/en-us/vpx/media/image-07.png)
次の図は、VNet B から VNet A へのピアリングが成功したことを示しています。
VNet A にアプリケーションサーバー、DNS フォワーダー、Windows 10 Pro クライアント、NetScaler をデプロイします
アプリケーションサーバー、DNSフォワーダー、Windows 10プロクライアント、およびVNet A上のNetScalerについて簡単に説明します。
- 同じダッシュボードを選択し、[ リソースを作成] をクリックします。
- それぞれのインスタンスを検索し、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 フォワーダーが必要です。
- フォワーダーをデプロイしたら、次の図に示すように、仮想ネットワークAのDNSサーバー設定をデフォルトからVNet AのDNSフォワーダーIPを使用してカスタムに変更します。
- VNet A DNS
named.conf.options
フォワーダー内のファイルを変更して、ドメイン (mysite.net) とサブドメイン (ptm.mysite.net) の転送ルールを NetScaler 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; };
};
<!--NeedCopy-->
注
ドメイン (「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 フォワーダ設定を編集します。VNet B の DNS フォワーダー設定:
zone "ptm.mysite.net" {
type forward;
forwarders { 10.8.0.5; };
};
<!--NeedCopy-->
次の図は、VNet B の DNS フォワーダー設定を示しています。 A DNS サーバー
アプリケーションサーバー、DNS フォワーダー、および Windows 10 pro クライアントをオンプレミスにデプロイ
-
オンプレミスの場合は、ベアメタルで仮想マシンを起動し、アプリケーションサーバー、DNSフォワーダー、およびVNet Aと同様のWindows 10プロクライアントを用意します。
-
次の例に示すように、
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 を指定しました。 そのため、オンプレミスの DNS フォワーダー設定ではこの変更が必要です。
Azure 仮想ネットワーク上でNetScaler を構成します
トポロジーに示されているように、NetScalerをAzure仮想ネットワーク(この場合はVNet A)にデプロイし、NetScaler GUIを介してアクセスします。
NetScaler GSLB の設定
- ADNS サービスを作成します。
- ローカルサイトとリモートサイトを作成します。
- ローカル仮想サーバー用のサービスを作成します。
- GSLB サービス用の仮想サーバーを作成します。
ADNS サービスを追加
- NetScalerユーザーインターフェイスにログインします。
- [ 設定 ] タブで、[ トラフィック管理] > [負荷分散] > [サービス] に移動します。
- サービスを追加します。 サービスを追加します。 次の図に示すように、ADNS サービスを TCP と UDP の両方で設定することをお勧めします。
GSLB サイトを追加する
- GSLB を設定するローカルサイトとリモートサイトを追加します。
-
[ 設定 ] タブで、[ トラフィック管理] > [GSLB] > [GSLB サイト] に移動します。 次の例のようにサイトを追加し、他のサイトについても同じ手順を繰り返します。 次の例に示すようにサイトを追加し、他のサイトに対しても同じ手順を繰り返します。
GSLB サービスの追加
- アプリケーションサーバーの負荷分散を行うローカルおよびリモートの仮想サーバー用の GSLB サービスを追加します。
- [ 設定 ] タブで、[ トラフィック管理] > [GSLB] > [GSLB サービス] に移動します。
- 次の例に示すようにサービスを追加します。
-
HTTP モニターをバインドしてサーバーのステータスを確認します。
- サービスを作成したら、GSLB サービス内の [ 詳細設定 ] タブに移動します。
-
「 モニターを追加 」をクリックして、GSLBサービスをHTTPモニターにバインドし、サービスの状態を表示します。
- HTTP モニターにバインドすると、次の図に示すように、サービスの状態は UP とマークされます。 サービス
GSLB 仮想サーバーの追加
アプリケーションサーバーのエイリアス GSLB サービスにアクセスできる GSLB 仮想サーバーを追加します。
- [ 設定 ] タブで、[ トラフィック管理] > [GSLB] > [GSLB 仮想サーバー] に移動します。
- 次の例のように仮想サーバーを追加します。
-
GSLB サービスとドメイン名をそれにバインドします。
-
GSLB 仮想サーバーを作成し、適切な負荷分散方法 (この場合はラウンドロビン) を選択したら、GSLB サービスとドメインをバインドして手順を完了します。
-
仮想サーバー内の [ 詳細設定 ] タブに移動し、[ ドメインの追加 ] タブをクリックしてドメインをバインドします。
-
[ 詳細設定] > [サービス ] に移動し、矢印をクリックして GSLB サービスをバインドし、3 つのサービス (VNet A、VNet B、オンプレミス) すべてを仮想サーバーにバインドします。
GSLB サービスとドメインを仮想サーバーにバインドすると、次の図のように表示されます。
GSLB 仮想サーバーが稼働していて、100% 正常かどうかを確認します。 モニターにサーバーが稼働していて正常であることが示されたら、サイトが同期されており、バックエンドサービスが利用可能であることを意味します。
デプロイをテストするには、クラウドクライアントマシンまたはオンプレミスクライアントマシンからドメイン URL rr.ptm.mysite.net
にアクセスします。 クラウドWindowsクライアントマシンからアクセスする場合は、サードパーティのDNSソリューションやカスタムDNSソリューションを必要とせずに、プライベートDNSゾーンでオンプレミスのアプリケーションサーバーにアクセスするようにしてください。