NetScaler VPX

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には、管理IPアドレスに対応する最初のNICを除き、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アドレスを見つけます。1つは仮想サーバーに直接アタッチされているもので、もう1つは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ファイルを確認してください。

AWSでの高可用性の仕組み