こんにちは、技術2課の紅林です。人生の全ては手品に学びました。
突然ですが、手品の世界にサーストンの三原則というものがあるのをご存知でしょうか。ハワード・サーストンというマジシャンが、手品をする上で「やってはいけない」ことを原則として示したとされる三つの法則です。一つ目は、種明かしをしてはならない。二つ目は、同じ手品を二度繰り返してはならない。三つ目は…本記事の最後をご覧ください。
さて、今回は、昨年末にNEC社からリリースされたCLUSTERPRO Dを用いてAWS上のEC2インスタンスでHAクラスターを組む手順を紹介します。
はじめに
CLUSTERPRO Dとは
CLUSTERPROはNEC社が提供しているHAクラスタリングソフトウェアです。CLUSTERPRO Dは昨年10月にリリースされた新しいシリーズで、従来のCLUSTERPRO Xと比べ、機能面、設計面でAWSとの親和性が非常に高くなっていることが特徴の一つとなっています。また、Webコンソールの改善等により、操作性も非常に向上しています。
本記事の構成の概要
今回、ご紹介する手順は、プライベートサブネットに存在する2つのノードでHAクラスタを組む構成を想定します。クラスタに接続するクライアントは同じVPC内のインスタンスを想定します。
CLUSTERPRO DではAWS上での標準の構成として、Route 53を用いたレコードの切り替えにより、クラスタの切り替えを行います。簡単な構成図を以下に示します。
手順
本手順の前提条件
- クラスタを構成する2つのインスタンスが作成済であること
- OSはWindows Server 2012 R2であること
- 両方のインスタンスにRDPできること
- OSのファイヤウォールは無効化されていること
- 2つのインスタンス間で接続性があること、セキュリティグループ等による通信制限が無いこと
- 2つのノードからインターネットに接続性があること
- 2つのノードにAWS CLIがインストール済であること(Credencialも登録済みであること)
- CLUSTERPRO Dのインストーラが2つのインスタンスに配置されていること。ライセンスファイルが手元にあること
1.CLUSTERPRO Dのインストール
まずはCLUSTERPRO Dのインストールからはじめます。両方のノードで同様の手順を実施してください。
インストーラのファイルをダブルクリックして起動すると、以下の画面が表示されるので、「次へ」を押下します。
次の画面が表示されるため、「インストール」を押下します。
完了の画面が表示されます。これでインストールは終わりです。インストール後に再起動を促されるので、再起動してください。
2.クラスタの構築
再起動後にCLUSTERPROがインストールされているサーバーにHTTPで20000ポートでアクセスすると、以下の画面が表示されます。
これがCLUSTERPRO DのWebコンソールとなります。まずはクラスタを構築する必要があるため、画面中の「クラスターを構築する」を押下します。本手順はどちらかのサーバーでのみ実施します。
クラスター名に適当な名前を入力し、「次へ」を押下します。
「ノードを追加」ボタンを押下して、クラスタを構成する2つ分のノードを追加します。
ノード名の部分には正しいホスト名を入力する必要があるので注意してください。入力したら「次へ」を押下します。
次にライセンスファイルを入力します。「ファイル一覧」からライセンスファイルを選択し、「次へ」を押下します。
それぞれのノードのIPアドレスを入力し、「次へ」を押下します。
次に確認画面が表示されるため、「完了」を押下します。確認のダイアログが表示されるので、「OK」を押下します。
3.リソースグループ(ミラーリソース)の作成
次にリソースグループを作成します。本手順はどちらかのサーバーでのみ実施します。
まずは両方のノードの特定フォルダをミラーリングできるよう、ミラーリソースを作成します。TOP画面に戻り、「リソースグループを作成する」を押下します。
「リソースを追加」ボタンを押下し、「ミラーリソース」を押下します。
ミラー方式やミラーボリュームに関するパラメータを入力します。今回は、構築手順の確認に焦点を当てるので、ひとまずは画像のように適当な値を入れます。
リソースグループ名を入力し、「完了」を押下します。確認画面が表示されるので、そのまま「OK」を押下しましょう。
以上、間違いなく設定すれば、2つのノード間でミラーリングが実行されます。
4.リソースグループ(AWSドメインネームリソース)の作成
次にAWS上で仮想リソースによるクラスタへのアクセスの実現のため、CLUSTERPRO Dで、標準で提供されている「AWSドメインネームリソース」を作成します。前述したとおり、Route 53と連携して、クライアントからはドメインによるクラスタへのアクセスを実現します。
ただし、CLUSTERPRO上で設定を進める前に何点か事前準備が必要なので、まずはそこを進めます。
Hosted Zoneの作成
Route 53上で、クラスタのアクセスに用いるHosted Zoneの作成を行います。図のように作成します(手順は省略します)。今回のようにプライベートDNSを用いる場合は、別途ドメインの取得等は不要です。
VPCの「DNSホスト名の編集」の設定
プライベートDNSでRoute 53を用いるため、インスタンスのあるVPCの「DNSホスト名の編集」を有効にします。その他、環境に応じて、プライベートDNSを用いるのに必要な設定がある場合はそれらを行います。
CLUSTERPRO DへのAWS環境設定
CLUSTERPRO DへAWSのリソースを扱うための設定を行います。コマンドプロンプトから画像の通りコマンドを実行し、AWS CLIや作成したHosted ZoneのIDを入力します。両方のノードで実行します。
CLUSTERPRO DでRoute53レコードを扱うための設定
CLUSTERPRO DでRoute53レコードを扱うための設定を行います。コマンドプロンプトから画像の通りコマンド実行し、ドメインやそれぞれのノードのIPアドレスを入力します(入力値については環境に応じて読み替えてください)。両方のノードで実行します。
リソースグループの作成
以上でリソースグループを作成する準備が整いましたので、リソースグループの作成に進みます。
CLUSTERPRO DのWebコンソールに戻り、「リソースを追加」ボタンを押下し、「AWSドメインネームリソース」を選択し、「次へ」を押下します。
そのまま「次へ」を押下します。
「リソースグループ名」に適当な名前を入力し、「完了」を押下します。確認画面が表示されるので、「OK」を押下します。
以上で設定関連は完了です。
5.クラスタの起動
いよいよクラスタサービスを起動します。「運用管理」画面に移動し、「クラスター基幹サービス起動」ボタンを押下し、「OK」ボタンを押下します。
正常に起動すると、図の通り全てのリソースで緑色のチェックが表示されます。
これで、実際にノードにログインしたり、ドメインに対してアクセスをすれば、ミラーリングやドメインでクラスタにアクセスできることが確認できます。
おわりに
今回、CLUSTERPRO DによるクラスタをAWS上に構築する手順を紹介しました。次回はCLUSTERPRO Dで追加された機能や運用面の使い勝手等を中心にご紹介できればと思います。
AWS上でのHA構成については、CLUSTERPRO Solution Awardを受賞しているサーバーワークスに是非お問合せください!
おまけ
サーストンの三原則の最後は、これから起こる現象を先に説明してはならない、です。現象を先に伝えてしまうと、意外性が無くなり、観客は種を見破る方法に注目してしまいがちになるためと言われます。ただし、これらの三原則はあくまで原則とされるものであり、例外のトリックや演出も多数存在します。そのへんの話はまた機会があれば。