[CLUSTERPRO]AWS上でCLUSTERPRO Dをセットアップしてみた。

アイキャッチ

こんにちは、涼しくなってきたので少し動きがよくなってきた城内です。

前回に引き続き、今回もCLUSTERPRO Dを触っていきたいと思います。
今回はAWSを絡めて、AWS上のLinuxサーバで、CLUSTERPRO Dのインストールから簡単なセットアップまでを行っていきたいと思います。

はじめに

まずは、いままでの記事の紹介です。

また、前回も書きましたが、インストーラは以下のサイトからダウンロードできます。

マニュアルもダウンロードページから取得できますので、一緒にダウンロードし、参照しながら作業を進めましょう。

インストール

では、さっそく製品のインストールから始めていきます。

EC2作成

EC2インスタンスを作成する際のポイントは以下になります。

  • OSは「Red Hat Enterprise Linux 7.2」を選択しています
  • インスタンスタイプは、システム要件的に「t2.small」以上にしています
  • Advanced WebConsoleへアクセスするために、セキュリティグループで自端末からの20000ポートを開放しています

インスタンスの作成が終わったら、SSHでログインします。

SELinuxの無効化

まずは、SELinuxを無効化します。

# getenforce
Enforcing
# setenforce 0
# getenforce
Permissive
#
# cp -p /etc/selinux/config /etc/selinux/config.org
# vi /etc/selinux/config
...
#     disabled - No SELinux policy is loaded.
#SELINUX=enforcing
SELINUX=disabled
# SELINUXTYPE= can take one of three two values:
...

CLUSTERPROのインストール

次に、CLUSTERPROのインストーラをEC2にアップロードし、ZIPを解凍します。
インストールは、setup.shスクリプトを実行するだけです。

# ll
total 111084
-rw-rw-r--. 1 ec2-user ec2-user 113749686 Sep  7 05:22 d10l_x64.zip
# yum install -y unzip
Loaded plugins: amazon-id, rhui-lb, search-disabled-repos
Resolving Dependencies
--> Running transaction check
---> Package unzip.x86_64 0:6.0-15.el7 will be installed
--> Finished Dependency Resolution
...

# unzip d10l_x64.zip
Archive:  d10l_x64.zip
   creating: d10l_x64/
  inflating: d10l_x64/readme.pdf
   creating: d10l_x64/rpm/
  inflating: d10l_x64/rpm/clznode-1.0.5-1.20340.el6.x86_64.rpm
  inflating: d10l_x64/rpm/clznode-1.0.5-1.20340.el7.x86_64.rpm
  inflating: d10l_x64/setup.sh
# ll
total 111088
drwxr-xr-x. 3 root     root            48 Apr  5 19:43 d10l_x64
-rw-rw-r--. 1 ec2-user ec2-user 113749686 Sep  7 05:22 d10l_x64.zip
# cd d10l_x64
# ll
total 236
-rw-r--r--. 1 root root 233046 Jan 15  2016 readme.pdf
drwxr-xr-x. 2 root root     92 Apr  5 19:41 rpm
-rw-r--r--. 1 root root   4829 Apr  5 09:05 setup.sh
# chmod u+x setup.sh
# ./setup.sh

<< start clznode installation >>

[ check dependencies ]
 -> SELinux mode: WARNING(Permissive)

[ install packages ]
 -> clznode: OK

[ installation result ]
 => clznode installation is complete!

これでインストールは完了です。

サービスの起動

最後に、CLUSTERPROのサービスを起動してみましょう。

# systemctl start clznode.service
# systemctl status clznode.service
● clznode.service - CLUSTERPRO D 1.0 for Linux
   Loaded: loaded (/usr/lib/systemd/system/clznode.service; enabled; vendor preset: disabled)
   Active: active (running) since Wed 2016-09-07 05:43:05 EDT; 11s ago
 Main PID: 16437 (clznode)
...

ここまで問題なく実施できたら、クラスタを組むために同じものをもう1台作成してください。

セットアップ

簡単なセットアップとして、クラスタの構築からAWS特有の「AWSドメインネームリソース」の設定までを行いたいと思います。

クラスタの構築

CLUSTERPROの操作を行うために、Advanced WebConsoleにアクセスします。

clp-001

Top画面から「クラスターを構築する」を選択し、画面に従って必要項目を入力していきます。

clp-002

クラスタ名を入力します。

clp-003

先に作成したEC2インスタンスを追加します。

clp-004

ライセンスを登録します。

clp-005

ハートビート用のIPアドレスを入力します。

clp-006

設定情報の確認画面で、「完了」ボタンをクリックします。

clp-007

設定に問題がなければ、設定反映のメッセージが表示され、クラスタが作成されます。

clp-008

clp-009

AWSドメインネームリソースの設定

AWSドメインネームリソースは、Top画面の「リソースグループを作成する」から設定していきます。

clp-010

「リソースを追加」から「AWSドメインネームリソース」をクリックします。

clp-011

特に設定項目はなく、リソースグループ名を入力して完了です。

clp-012

clp-013

clp-014

clp-015

あとは、仮想ホスト名とそれに紐づくIPアドレスですが、これらはクラスタ内の各サーバ上にJSONファイルとして情報を保存しておきます。
(リソースグループが起動した際に、そのJSONファイルを読み込んで、Route 53にレコード登録するような挙動のようです)

cl-create-aws-route53-record-sets.shスクリプトを実行し、cluawsdn.jsonファイルを作成します。

# /opt/clznode/utility/cl-create-aws-route53-record-sets.sh clserver.clp-sample.local 172.31.xx.xx
# cat /opt/clznode/etc/cluawsdn.json
{"Comment": "Modifying A record", "Changes": [{"ResourceRecordSet": {"Name": "clserver.clp-sample.local", "TTL": 30, "Type": "A", "ResourceRecords": [{"Value": "172.31.xx.xx"}]}, "Action": "UPSERT"}]}

また、AWS CLIやRoute 53の環境情報も設定しておく必要があります。
(CLI実行のために、APIキーを発行し、aws configureにてキー情報を登録しておいてください)

cl-setup-aws-environment.shスクリプトを実行し、各種環境情報を設定します。

# /opt/clznode/utility/cl-setup-aws-environment.sh
aws_config_file [None]: /root/.aws/config
aws_credential_file [None]: /root/.aws/credentials
route53_hosted_zone_id [None]: ZXXXXXXXXXXXXX
# cat /opt/clznode/etc/cluaws.conf
[cluaws]
aws_config_file = /root/.aws/config
aws_credential_file = /root/.aws/credentials
route53_hosted_zone_id = ZXXXXXXXXXXXXX

詳細は『Amazon Web Services向けHAクラスター構築ガイド』の第3章に記載されていますので、そちらを参考にしてください。

以上で仮想ホスト名を持ったクラスタサーバの完成です。

clp-016

clp-017

さいごに

CLUSTERPROのセットアップは、GUIベースで本当に簡単です。
AWSドメインネームリソースについては、AWS特有の機能のため、少し仕組みの理解が必要でしたが、分かってしまえばそれほど複雑ではないと思います。

次は、クラスタ上で何かのサービスを稼働させてみたいと思います。
ではまたー。

参考情報