サイト内の現在位置を表示しています。

Nitro SystemでAWS仮想IPリソースの活性に失敗する(Windows)

CLUSTERPRO オフィシャルブログ ~クラブロ~

はじめに

Amazon Web Services(以降、AWS)のEC2に、Nitro Systemベースのインスタンスタイプ(t3/m5/c5/r5など)が追加されました。
Nitro SystemベースのインスタンスタイプのEC2インスタンスを使用して、Windows版のHAクラスターを構築する場合に、AWS 仮想IPリソースが起動できない現象を確認しましたので、回避策についてご紹介します。

  • 本現象は、2018/12/26時点で確認した現象です。今後のAWS側の仕様変更により発生しなくなる可能性があります。
  • Linux版では、本現象は発生しません。

ご利用になるインスタンスタイプがNitro Systemベースかどうかは、下記のページでご確認ください。

この記事の内容

1. 現象(AWS仮想IPリソースの起動失敗)

WindowsでNitro SystemベースのインスタンスタイプのEC2インスタンスを使用してHAクラスターを構築する場合に、AWS仮想IPリソースの起動に失敗します。

以下は、起動失敗時の画面イメージです。

障害発生時は、イベントビューアに以下のログが出力されます。

2. 原因

本現象の原因は以下の通りです。

OS上に付与する仮想IPアドレスとゲートウェイアドレスが重複するため。
CLUSTERPROがOS上に仮想IPアドレスを付与すると、Windows OSではARPリクエストにより仮想IPアドレスの重複確認を実行します。
その際に、ゲートウェイと仮想IPアドレスの重複を検出するため、CLUSTERPROは異常と判断し、AWS仮想IPリソースの起動に失敗します。

3. 回避策

レジストリの設定でGratuitous ARPを無効にすることで、Windows OSのIPアドレスの重複確認を無効にします。
これによりIPアドレスの重複を検出しなくなるため、AWS仮想IPリソースの起動が可能になります。

以下の手順で、レジストリを変更し、Gratuitous ARPを無効にします。

  • 1.HAクラスターを構成するNitro System ベースのインスタンスに接続して、レジストリエディター (regedit.exe) を起動します。

2. 以下のパスに移動します。

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters

3. 上記パスの配下に、新規にレジストリキーを追加します。

"Parameters" を選択した状態で右クリックし、[新規] - [DWORD(32ビット)値]をクリックします。

レジストリキー名、値に以下を設定します。

  • レジストリキー名:"ArpRetryCount"
  • :"0"

  • 4.インスタンスの再起動を行います。
  • 既にクラスタを構築済みの場合は、Cluster WebUI / WebManagerやclpdownコマンドを使用してサーバの再起動を行ってください。

  • 5.1.~4.の作業をHAクラスターを構成するNitro System ベースのインスタンスに対して繰り返します。

さいごに

今回は Nitro SystemベースのEC2インスタンスにおいてAWS仮想IPリソースを使用するための回避策についてご紹介しました。
Nitro SystemベースのEC2インスタンスで、AWS仮想IPリソースを使用いただく際は、回避策の実施をお願いします。

お問い合わせ

当ブログに関するお問い合わせは、CLUSTERPRO プリセールスお問い合わせ窓口(info@clusterpro.jp.nec.com new window)までお問い合わせください。