{JP1/Base}付録N オートスケール機能と連携した運用

【1】マネージャホストの設定

【1.1】EC2インスタンス作成

OS: RHEL7.2
インスタンスタイプ: t2.micro
VPC: デフォルト
サブネット: デフォルト
自動割り当てパブリックIP:有効
プライマリIP:172.31.16.101
ストレージサイズ:20G
セキュリティグループ:172.31.0.0/16 全トラフィック許可

 

【1.2】SELINUX無効化
yum install wget unzip vim

vim /etc/sysconfig/selinux


【1.3】ロケールの設定
localectl
localectl list-locales --no-pager
localectl set-locale "LANG=ja_JP.utf8"
localectl

vim /etc/cloud/cloud.cfg
locale: ja_JP.UTF-8

【1.4】ホスト名の設定
hostnamectl
hostnamectl set-hostname mmm181
hostnamectl


vim /etc/cloud/cloud.cfg
preserve_hostname: true


vim /etc/hosts
172.31.16.101 mmm181
172.31.16.103 mmm183


【1.5】タイムゾーンの設定

timedatectl
timedatectl list-timezones --no-pager
timedatectl set-timezone Asia/Tokyo
timedatectl


【1.6】自動セキュリティアップデート停止
vim /etc/cloud/cloud.cfg
repo_upgrade: none

reboot

【1.7】JP1/BaseおよびJP1/IM - Managerをインストールする

 

【1.8】Java Runtime Environment(JRE)をインストールする。

cd
yum install java-1.8.0-openjdk-devel

java -version

cat > aaa.java <<EOF
public class aaa {
public static void main(String[] args) {
System.out.println("aaa");
}
}
EOF

javac aaa.java
java aaa


【1.9】Amazon EC2 API Toolsをインストールする

cd
wget http://s3.amazonaws.com/ec2-downloads/ec2-api-tools.zip
unzip ec2-api-tools.zip

 

【1.10】Amazon EC2 API Toolsの実行に必要な環境変数を設定する


vim /opt/jp1base/tools/cloud/jbsas_setup_manager.ini

EC2_HOMEPath=/root/ec2-api-tools-1.7.5.1
JAVA_HOMEPath=/usr/lib/jvm/jre
EC2_URL=https://ec2.ap-northeast-1.amazonaws.com
AWS_ACCESS_KEY=AAAAAAAAAAAAAAAAAAAA
AWS_SECRET_KEY=AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA


【1.11】JP1/Baseのヘルスチェック機能を有効にする


1.共通定義情報にヘルスチェック機能を有効にする情報を登録する。

cp -p /etc/opt/jp1base/conf/jbshc/jbshc_setup.conf.model /etc/opt/jp1base/conf/jbshc/jbshc_setup.conf
vim /etc/opt/jp1base/conf/jbshc/jbshc_setup.conf

[JP1_DEFAULT\JP1BASE\JBSHC]
"ENABLE"=dword:00000001
"FAILOVER"=dword:00000000


/opt/jp1base/bin/jbssetcnf /etc/opt/jp1base/conf/jbshc/jbshc_setup.conf


2.ヘルスチェック定義ファイル(jbshc.conf)を編集する。

cat /etc/opt/jp1base/conf/jbshc/jbshc.conf

3.JP1イベントの転送設定を変更する。


vim /etc/opt/jp1base/conf/event/servers/default/forward


to-upper
E.SEVERITY IN Warning Error Critical Alert Emergency Emergence
end-to

to-upper
E.SEVERITY IN Warning Error Critical Alert Emergency Emergence
OR
E.OBJECT_TYPE IN JBSHC
end-to

4.JP1/BaseのすべてのサービスおよびNNM(SNMPトラップ変換機能を使用している場合)を再起動する。

/opt/jp1base/bin/jbs_spmd_stop
/opt/jp1base/bin/jevstop
/opt/jp1base/bin/jevlogdstop

/opt/jp1base/bin/jbs_spmd
/opt/jp1base/bin/jevstart
/opt/jp1base/bin/jevlogdstart

/opt/jp1base/bin/jbs_spmd_status
/opt/jp1base/bin/jevstat
/opt/jp1base/bin/jevlogdstat


5.ヘルスチェックの設定状況を確認する

/opt/jp1base/bin/jbsgetcnf
/opt/jp1base/bin/jbsgetcnf | grep -A 5 "\[JP1_DEFAULT\\\\JP1BASE\\\\JBSHC\]"


【1.12】スケールアウトしたホストの監視を開始するための自動アクションを設定する

cd /etc/opt/jp1cons
cp -p default/action.conf.update conf/action.conf
vim conf/action.conf

/etc/opt/jp1cons/jco_stop

/opt/jp1base/bin/jbssetcnf /etc/opt/jp1cons/conf/action.conf

/etc/opt/jp1cons/jco_start
/opt/jp1cons/bin/jco_spmd_status


vim /etc/opt/jp1cons/conf/action/actdef.conf

-------------------------------

DESC_VERSION=4

cmn
sta true
end-cmn

act scaleout
aid 0
valid true
eid 1011

cnd
end-cnd

usr jp1admin
hst mmm181
cmd /bin/sh /opt/jp1base/tools/cloud/jbsas_add_agent.sh $EVIPADDR $EVHOST $EV"OS_TYPE" $EV"INSTALLPP_INFO"
det 1
ret 30
end-act

act scalein
aid 1
valid true
eid *

cnd
B.ID IN 4725 4749 474D
end-cnd

usr jp1admin
hst mmm181
cmd /bin/sh /opt/jp1base/tools/cloud/jbsas_del_agent.sh $EVOBNAM
det 1
ret 30
end-act

-------------------------------

/opt/jp1cons/bin/jcamakea /etc/opt/jp1cons/conf/action/actdef.conf

/opt/jp1cons/bin/jcachange

 


【2】エージェントホストの設定

【2.1】EC2インスタンス作成

OS: RHEL7.2
インスタンスタイプ: t2.micro
VPC: デフォルト
サブネット: デフォルト
自動割り当てパブリックIP:有効
セキュリティグループ:172.31.0.0/16 全トラフィック許可

 

【2.2】SELINUX無効化
yum install wget unzip vim

vim /etc/sysconfig/selinux


【2.3】ロケールの設定
localectl
localectl list-locales --no-pager
localectl set-locale "LANG=ja_JP.utf8"
localectl

vim /etc/cloud/cloud.cfg
locale: ja_JP.UTF-8


【2.4】ホスト名の設定
作業なし


【2.5】タイムゾーンの設定

timedatectl
timedatectl list-timezones --no-pager
timedatectl set-timezone Asia/Tokyo
timedatectl


【2.6】自動セキュリティアップデート停止
vim /etc/cloud/cloud.cfg
repo_upgrade: none

 

reboot

 

【2.7】JP1/Baseをインストールする

 

【2.8】JP1/Baseのヘルスチェック機能を有効にする

1.共通定義情報にヘルスチェック機能を有効にする情報を登録する。

cp -p /etc/opt/jp1base/conf/jbshc/jbshc_setup.conf.model /etc/opt/jp1base/conf/jbshc/jbshc_setup.conf
vim /etc/opt/jp1base/conf/jbshc/jbshc_setup.conf

[JP1_DEFAULT\JP1BASE\JBSHC]
"ENABLE"=dword:00000001
"FAILOVER"=dword:00000000


/opt/jp1base/bin/jbssetcnf /etc/opt/jp1base/conf/jbshc/jbshc_setup.conf


2.ヘルスチェック定義ファイル(jbshc.conf)を編集する。

cat /etc/opt/jp1base/conf/jbshc/jbshc.conf

3.JP1イベントの転送設定を変更する。


vim /etc/opt/jp1base/conf/event/servers/default/forward


to-upper
E.SEVERITY IN Warning Error Critical Alert Emergency Emergence
end-to

to-upper
E.SEVERITY IN Warning Error Critical Alert Emergency Emergence
OR
E.OBJECT_TYPE IN JBSHC
end-to

4.JP1/BaseのすべてのサービスおよびNNM(SNMPトラップ変換機能を使用している場合)を再起動する。

/opt/jp1base/bin/jbs_spmd_stop
/opt/jp1base/bin/jevstop
/opt/jp1base/bin/jevlogdstop

/opt/jp1base/bin/jbs_spmd
/opt/jp1base/bin/jevstart
/opt/jp1base/bin/jevlogdstart

/opt/jp1base/bin/jbs_spmd_status
/opt/jp1base/bin/jevstat
/opt/jp1base/bin/jevlogdstat


5.ヘルスチェックの設定状況を確認する

/opt/jp1base/bin/jbsgetcnf
/opt/jp1base/bin/jbsgetcnf | grep -A 5 "\[JP1_DEFAULT\\\\JP1BASE\\\\JBSHC\]"

【2.9】スケールアウト通知イベントの設定をする

vim /opt/jp1base/tools/cloud/jbsas_setup_agent.ini

anagerHostName=mmm181


vim /etc/hosts
172.31.16.101 mmm181
172.31.16.103 mmm183

 

【3】Viewホストの設定

【3.1】EC2インスタンス作成

OS: Windows Server 2012R2
インスタンスタイプ: t2.micro
VPC: デフォルト
サブネット: デフォルト
自動割り当てパブリックIP:有効
プライマリIP:172.31.16.103
セキュリティグループ:172.31.0.0/16 全トラフィック許可

 


【3.2】ホスト名の設定

wmic computersystem where name="%computername%" call rename name="mmm183"

EC2ConfigService Settings
Set Computer Nameのチェックが外れていることを確認する

notepad C:\Windows\System32\drivers\etc\hosts

172.31.16.101 mmm181
172.31.16.103 mmm183

 

【3.3】言語の設定
Controle Panel → Add Languege
Add Languageから日本語を選択してAdd
日本語をMove up
英語をRemove
Options → Download and install language pack
しばらく待つ


【3.4】地域の設定
Control Panel → Cahnge date,time,or number formats
3つのタブで設定

 

【3.5】JP1/IM - Viewをインストール

 


【4】Amazon EC2サービスの設定


【4.1】エージェントホストの仮想マシンイメージを作成する


【4.2】オートスケールの起動設定を作成する

[詳細設定]画面の[高度な詳細]-[ユーザーデータ]で[テキストで]を選択して,テキストボックスに次の内容を記述する

#!/bin/sh
/bin/hostnamectl set-hostname `/bin/hostname | /bin/sed -e 's/\..*//'`
/bin/sh /opt/jp1base/tools/cloud/jbsas_setup_agent.sh

【4.3】Auto Scalingグループを作成する

 

【5】動作確認


yes >> /dev/null

 

スケールアウトの場合

・マネージャーホストのhostsファイルに,エージェントホストのホスト名とIPアドレスが追加されること
・ヘルスチェック定義ファイル(jbshc.conf)にエージェントホストが追加されること
・構成定義ファイル(jbs_route.conf)にエージェントホストが追加されること

cat /etc/hosts
/opt/jp1base/bin/jbsrt_get
cat /etc/opt/jp1base/conf/jbshc/jbshc.conf

 

スケールインの場合

・マネージャーホストのhostsファイルからスケールインされたエージェントホストが削除されること
・ヘルスチェック定義ファイル(jbshc.conf)からエージェントホストが削除されること
・構成定義ファイル(jbs_route.conf)からエージェントホストが削除されること

cat /etc/hosts
/opt/jp1base/bin/jbsrt_get
cat /etc/opt/jp1base/conf/jbshc/jbshc.conf