CLUSTERPROでElastic IPを用いたHAクラスタを組んでみる

記事タイトルとURLをコピーする

こんにちは。8月からジョインしている技術2課の紅林です。現在、東京オフィスで日々AWSの学習中です。

さて、以前、こちらの記事でCLUSTERPROでEC2インスタンスを2台立ててHAクラスタを構築する手順を紹介しました。

CLUSTERPROではAWS上で構築されるクラスタとして、「Elastic IP(以下、EIP)によるHAクラスタ」と「Virtula IP制御によるHAクラスタ」の2種類のHAクラスタが想定されており、それらを構築するためのグループリソース(フェイルオーバーグループで共有されるリソースがあらかじめ定義されています。

今回は、EIPをグループリソースにした、HAクラスタを構築する手順を紹介します。これにより、クラスタがフェイルオーバーした際にも、クライアントは同一のEIPでサーバにアクセスできます。

イメージ

構築する環境のイメージを以下に示します。

image

環境要件

こちらの記事同様のHAクラスタが組まれていること(CLUSTERPROのVersionは3.3を想定

・EC2インスタンスに以下のソフトウェアがインストールされていること

ソフトウェア Version 備考
AWS CLI 1.6.0~  
Python 2.7.5~ 3.*系は不可

手順

手順としては以下のとおりです。

  1. Elastic Network Interface(以下、ENI)、EIPの追加
  2. グループリソースの追加
  3. 動作確認

それでは始めていきます。

1.ENI、EIPの追加

各インスタンスにENIを追加します。このENIにフェイルオーバー時のEIPが関連付けられることになります。

デフォルトのENIを用いて動作させることも可能ですが、今回はデフォルトのENIはリモートからのメンテナンス用に用いることにして、新たにENIを追加します。

また、新たにEIPの割り当てを行い、EIPを確保します。このEIPをクラスタのグループリソースとして用います(ENIへの関連付けはひとまず不要です)。

上記で追加したENI、EIPのIDをメモしておきます。

 

2.グループリソースの追加

以下の手順により、CLUSTERPROのWebマネージャ上からEIPのグループリソースを追加します。

Webマネージャを「操作モード」にした上で、フェイルオーバーグループを右クリックし、「リソースの追加」を押下します。

ScreenClip

グループリソース定義のタイプから「AWS Elastic IPリソース」を選択し、「次へ」を押下します。

ScreenClip

また、次に出てくる「依存関係」や「復旧動作」の画面に関しても、そのまま「次へ」を押下します。

詳細設定画面で、「EIP ALLOCATION ID」や「ENI ID」を記述する画面になるので、先ほどメモしておいたENIとEIDのIDを記載します。

サーバ共通の設定画面では、任意のサーバのENI IDを記載します。

ID追加

以上の手順を行うと、リソース一覧に「AWS Elastic IPリソース」をタイプに持ったリソースが追加されます。

ScreenClip

最後に設定の反映を行います。図の赤枠のボタンを押下し、設定を反映してください。正常に反映されると図のように、反映された旨のメッセージが表示されます。

設定反映

3.動作確認

以上で設定は完了です。Webマネージャを「操作モード」にした上でクラスタを起動すると、フェイルオーバーグループの中にElastic IPのリソースが動作していることが確認できます。

ScreenClip

試しに手動でフェイルオーバーを実施し、EIPが切り替わるか確認してみましょう。

「操作モード」のままフェイルオーバーグループを右クリックし、「移動」を押下します。

ScreenClip

先ほど、スタンバイ側だったサーバがアクティブになり、EIPが付け変わっているのが確認できると思います。

まとめ

今回の記事ではEIPをグループリソースにしたHAクラスタを構築してみました。

今回紹介した機能により、CLUSTERPRO上の操作だけでEIPの付け替え等実施できます。

次回(あるはず!?)は、もう少し検証を重ねて、細かい機能やチューニングについても言及できればと思います。