ADC

Citrix ADCでのエニーキャストのサポート

エニーキャストは、複数のサーバーがIPアドレスを共有するネットワークの一種です。クライアントリクエストは、ルーティングテーブルに基づいて地形的に最も近いサーバーに送信されます。このルーティングにより、レイテンシーの問題が軽減され、高可用性が確保され、ダウンタイムが最小限に抑えられます。

NetScalerは、グローバルサーバー負荷分散(GSLB)とDNS機能を備えたエニーキャストネットワークをサポートしています。

次の図は、NetScalerのエニーキャストのトポロジー図を示しています。

エニーキャストトポロジー

エニーキャスト GSLB

NetScaler GSLB機能により、災害復旧とともにグローバルに分散したサイト間の負荷分散が可能になり、アプリケーションの継続的な可用性が保証されます。

停電時には、GSLBは最も近いデータセンターまたは最もパフォーマンスの高いデータセンターにトラフィックをルーティングすることで、即時の障害復旧を実現します。ただし、GSLBは以下を制御できません。

  • DNSトラフィックが地理的に異なる場所にあるGSLBノードにルーティングされる方法。
  • DNSクエリがGSLBノードにルーティングされる間にどれだけの待ち時間が追加されるか。

一般的なGSLB設定では、各データセンターにはDNSクエリを受信するようにサイト固有の権限のあるドメインネームサーバー(ADNS)で構成されたGSLBノードがあります。各サイトの ADNS は、DNS リゾルバーのネームサーバーとして設定されます。GSLB ノードの数が増えると、ネームサーバーレコードの数も増えます。このような場合、データセンターに障害が発生した場合、LDNSは別のネームサーバーで解決を再試行する必要があります。この再試行により、DNS 解決の待ち時間が長くなります。 また、GSLB ノードが追加されるたびに、ネームサーバーのレコードを更新する必要があります。

これらの欠点を克服するには、エニーキャスト ADNS を使用できます。エニーキャスト ADNS では、すべての GSLB ノードに単一の ADNS IP アドレスが使用され、DNS トラフィックは動的ルーティングを使用して GSLB ノードにルーティングされます。

たとえば、GSLBサイトがダウンしている場合、ルーティングテーブルが更新され、このサイトへのルートが削除されます。その結果、DNS クエリはダウンしているサイトには送信されません。その結果、再試行は行われません。

新しい GSLB ノードが追加された場合、新しいノードには同じ ADNS IP アドレスが割り当てられます。動的ルーティングは、ルーティングアルゴリズムに基づいて新しいサイトへのルートを含むルーティングテーブルを自動的に更新します。そのため、DNS ネームサーバーレコードを更新する必要はありません。Anycastを使用すると、新しいGSLBサイトの展開がより簡単かつ迅速になります。

エニーキャストモードで ADNS IP アドレスを設定する方法

NetScalerアプライアンスのADNS IPでホストルーティングを有効にし、適切なルートヘルスインジェクション(RHI)レベルを設定します。ほとんどの場合、ADNS IP には仮想サーバーが存在しないため、RHI レベルを NONE として選択する必要があります。ADNS IP でホストルートを有効にすると、カーネルルートになります。その後、任意の動的ルーティングを有効にし、ルーティングプロトコルを設定してカーネルルートを再配布できます。

ADNS IP 構成 — 例

コマンドプロンプトで次を入力します。

add service adns_public 5.5.5.5 ADNS 53

set ip 5.5.5.5 -hostRoute ENABLED -vserverRHILevel ALL_VSERVERS
<!--NeedCopy-->

GSLB サイトの BGP 設定 — 例

Site1#sh run
!
hostname Site1
!
log syslog
log record-priority
!
ns route-install bgp
!
interface lo0
 ip address 127.0.0.1/8
 ipv6 address fe80::1/64
 ipv6 address ::1/128
!
interface vlan0
 ip address 10.102.148.94/25
 ipv6 address fe80::e84c:f4ff:fe74:4588/64
!
interface vlan2
 ip address 172.18.30.15/24
!
router bgp 5
 redistribute kernel -----> redistributing the kernel routes
 neighbor 172.18.30.30 remote-as 4
 neighbor 172.18.30.30 advertisement-interval 1
 neighbor 172.18.30.30 timers 4 16
!
End

Site1#
<!--NeedCopy-->

GSLB サイトルーティングテーブル-例

Site1#sh ip route
Codes: K - kernel, C - connected, S - static, R - RIP, B - BGP
       O - OSPF, IA - OSPF inter area
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2
       i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2
       ia - IS-IS inter area, I - Intranet
       * - candidate default

K       5.5.5.5/32 via 0.0.0.0 ---------------------------------------> Kernel Route for ADNS
C       10.102.148.0/25 is directly connected, vlan0
C       127.0.0.0/8 is directly connected, lo0
B       172.18.10.0/24 [20/0] via 172.18.30.30, vlan2, 01w5d22h
B       172.18.20.0/24 [20/0] via 172.18.30.30, vlan2, 01w5d22h
C       172.18.30.0/24 is directly connected, vlan2
B       192.168.3.0/24 [20/0] via 172.18.30.30, vlan2, 01w5d22h
B       192.168.5.0/24 [20/0] via 172.18.30.30, vlan2, 01w5d22h
B       192.168.10.0/24 [20/0] via 172.18.30.30, vlan2, 01w5d22h

Gateway of last resort is not set
Site1#
<!--NeedCopy-->

エニーキャスト DNS

NetScaler上のDNSプロキシ仮想サーバーにはエニーキャストDNSを使用できます。複数の DNS ネームサーバーが設定されている場合、DNS リゾルバーはラウンドロビン方式に基づいて応答します。たとえば、リゾルバーが最初のサーバーから応答を受け取らない場合、設定されたタイムアウト値の期限が切れると、リゾルバーは2番目のサーバーに切り替わります。1 番目のサーバーから 2 番目のサーバーに切り替えると、DNS 解決の待ち時間が長くなります。DNSリゾルバーがエニーキャストで構成されている場合、このレイテンシーは解消できます。

DNS 設定 — 例

コマンドプロンプトで次を入力します。

add lb vserver dns DNS 5.5.5.50 53

set ip 5.5.5.50 -hostRoute ENABLED -vserverRHILevel ALL_VSERVERS
<!--NeedCopy-->
Citrix ADCでのエニーキャストのサポート