AWSでの高可用性の仕組み
AWSで2つのNetScaler VPXインスタンスを高可用性 (HA) アクティブ-パッシブペアとして構成できます。一方のインスタンスをプライマリノードとして、もう一方をセカンダリノードとして構成すると、プライマリノードが接続を受け入れ、サーバーを管理します。セカンダリノードはプライマリを監視します。何らかの理由でプライマリノードが接続を受け入れられなくなった場合、セカンダリノードが引き継ぎます。
AWSでは、VPXインスタンスに対して以下の展開タイプがサポートされています。
- 同一ゾーン内での高可用性
- 異なるゾーン間での高可用性
注:
高可用性を機能させるには、両方のNetScaler VPXインスタンスにIAMロールがアタッチされ、NSIPにElastic IP (EIP) アドレスが割り当てられていることを確認してください。NSIPがNATインスタンスを介してインターネットに到達できる場合、NSIPにEIPを割り当てる必要はありません。
同一ゾーン内での高可用性
同一ゾーン内での高可用性展開では、両方のVPXインスタンスが同様のネットワーク構成を持つ必要があります。
次の2つのルールに従ってください。
ルール1. あるVPXインスタンス上のNICは、もう一方のVPXの対応するNICと同じサブネット内にある必要があります。両方のインスタンスは以下を持つ必要があります。
- 同じサブネット上の管理インターフェース (管理サブネットと呼ばれる)
- 同じサブネット上のクライアントインターフェース (クライアントサブネットと呼ばれる)
- 同じサブネット上のサーバーインターフェース (サーバーサブネットと呼ばれる)
ルール2. 両方のインスタンスにおける管理NIC、クライアントNIC、サーバーNICの順序は同じである必要があります。 たとえば、次のシナリオはサポートされていません。
VPXインスタンス 1
NIC 0: 管理 NIC 1: クライアント NIC 2: サーバー
VPXインスタンス 2
NIC 0: 管理
NIC 1: サーバー
NIC 2: クライアント
このシナリオでは、インスタンス1のNIC 1はクライアントサブネットにあり、インスタンス2のNIC 1はサーバーサブネットにあります。HAが機能するためには、両方のインスタンスのNIC 1がクライアントサブネットまたはサーバーサブネットのいずれかに存在する必要があります。
13.0 41.xx以降、フェイルオーバー後にプライマリHAノードのNIC (クライアント側およびサーバー側NIC) にアタッチされたセカンダリプライベートIPアドレスをセカンダリHAノードに移行することで、高可用性を実現できます。この展開では:
-
両方のVPXインスタンスは、NIC列挙に従って同じ数のNICとサブネットマッピングを持っています。
-
各VPX NICには、最初のNIC (管理IPアドレスに対応) を除いて、1つの追加のプライベートIPアドレスがあります。この追加のプライベートIPアドレスは、AWSウェブコンソールではプライマリプライベートIPアドレスとして表示されます。このドキュメントでは、この追加IPアドレスをダミーIPアドレスと呼んでいます)。
-
ダミーIPアドレスは、NetScalerインスタンスでVIPおよびSNIPとして構成されていてはなりません。
-
必要に応じて、他のセカンダリプライベートIPアドレスを作成し、VIPおよびSNIPとして構成する必要があります。
-
フェイルオーバー時、新しいプライマリノードは構成されたSNIPとVIPを検索し、以前のプライマリにアタッチされていたNICから新しいプライマリの対応するNICにそれらを移動します。
-
NetScalerインスタンスがHAを機能させるには、IAM権限が必要です。各インスタンスに追加されたIAMポリシーに、次のIAM権限を追加します。
"iam:GetRole"
"ec2:DescribeInstances"
"ec2:DescribeNetworkInterfaces"
"ec2:AssignPrivateIpAddresses"
注記:
unassignPrivateIpAddressは不要です。
この方法は、従来の方式よりも高速です。従来の方式では、HAはプライマリノードのAWSエラスティックネットワークインターフェースがセカンダリノードに移行することに依存していました。
従来の方式では、以下のポリシーが必要です。
"iam:GetRole"
"ec2:DescribeInstances"
"ec2:DescribeAddresses"
"ec2:AssociateAddress"
"ec2:DisassociateAddress"
詳細については、AWSに高可用性ペアを展開するを参照してください。
異なるゾーン間での高可用性
2つの異なるサブネットまたは2つの異なるAWSアベイラビリティゾーンに、2つのNetScaler VPXインスタンスを、独立ネットワーク構成 (INC) モードの高可用性アクティブ/パッシブペアとして構成できます。フェイルオーバーが発生すると、プライマリインスタンスのVIPのEIP (Elastic IP) がセカンダリに移行し、セカンダリが新しいプライマリとして引き継ぎます。フェイルオーバープロセスでは、AWS APIが以下を実行します。
-
IPSetsがアタッチされている仮想サーバーを確認します。 - 仮想サーバーがリッスンしている2つのIPアドレス(仮想サーバーに直接アタッチされているものと、IPセットを介してアタッチされているもの)の中から、関連付けられたパブリックIPを持つIPアドレスを見つけます。
- パブリックIP (EIP) を新しいプライマリVIPに属するプライベートIPに再関連付けします。
異なるゾーン間でのHAには、以下のポリシーが必要です。
"iam:GetRole"
"ec2:DescribeInstances"
"ec2:DescribeAddresses"
"ec2:AssociateAddress"
"ec2:DisassociateAddress"
詳細については、AWSアベイラビリティゾーン間での高可用性を参照してください。
展開を開始する前に
AWS で HA デプロイを開始する前に、次のドキュメントをお読みください。
トラブルシューティング
AWS クラウド上の NetScaler VPX インスタンスの HA フェイルオーバー中に発生した障害をトラブルシューティングするには、/var/log/ の場所に保存されている cloud-ha-daemon.log ファイルを確認してください。