JP1・AJS3動作検証
はじめに
前回の記事では、JP1-AJS3でのジョブの実装内容を検討しました。本記事では、Alibaba CloudにてJP1/AJS3(Version 12)らミドルウェアの導入検討した内容をAlibabaCloudで正常に動作するかについてご紹介します。
JP1/AJS3のインストールは様々なブログやドキュメントに紹介されているので、ここでは、割愛致します。
本記事では、ジョブの動作検証を実施していきます。
以下、目次です。
検証環境
前回の記事の繰り返しとなりますが、本記事の検証を実施するための環境はこちらです。 なお、検証環境は構築済とします。ジョブの実装内容
こちらも前回の記事の繰り返しとなりますが、ジョブネット構成です。
本記事では、このジョブネットの動作確認を実施していきます。
ジョブ内で使用するCLI
【AlibabaCloudCLI】を使用することで、AlibabaCloudリソースのCRUD操作を実施することができます。 また、本記事ではジョブ内で使用するために`絶対パス`を指定し、コマンド実行します。 以下に本記事で使用するCLIコマンドを記載します。AutoScalingの台数変更
■使用するCLI
AutoScalingGroup(ess)のModifyScalingGroup
コマンドで台数変更を実施します。
/usr/local/bin/aliyun ess ModifyScalingGroup --ScalingGroupId {$Id} --MinSize {$台数} --MaxSize $2 {$台数}
台数変更後、AutoScalingGroup(ess)のDescribeScalingGroups
コマンドで設定値が変更されたことを確認します。
/usr/local/bin/aliyun ess DescribeScalingGroups --ScalingGroupId.1 {$Id}
■使用するジョブ
launch-ecs-job
およびterminate-ecs-job
にて使用します。
launch-ecs-job
では2台
、terminate-ecs-job
では0台
に設定します。
環境起動時(launch-ecs-job)の確認内容
環境起動時は、MaxSize
とMinSize
が2
になっていることを確認します。
以下、コマンド発行後の確認内容です。
/usr/local/bin/aliyun ess DescribeScalingGroups --ScalingGroupId.1 {$Id} | jq -r .
環境停止時(terminate-ecs-job)の確認内容
環境停止時は、MaxSize
とMinSize
が0
になっていることを確認します。
以下、コマンド発行後の確認内容です。
/usr/local/bin/aliyun ess DescribeScalingGroups --ScalingGroupId.1 {$Id} | jq -r .
AutoScaling配下のECSの状態確認
■使用するCLI
AutoScalingGroup(ess)のDescribeScalingInstances
コマンドでAutoScalingGroup配下のECSの状態確認を行います。
/usr/local/bin/aliyun ess DescribeScalingInstances --ScalingGroupId {$Id}
■使用するジョブ
ecs-launchcheck-job
およびecs-terminatecheck-job
にて使用します。
環境起動時(ecs-launchcheck-job)の確認内容
環境起動時は、HealthStatus
がHealthy
になっているサーバが2台
あることを確認します。
以下、コマンド発行後の確認内容です。
/usr/local/bin/aliyun ess DescribeScalingInstances --ScalingGroupId {$Id} | jq -r .
環境停止時(ecs-terminatecheck-job)の確認内容
環境停止時は、ScalingInstance
になにも表示されないことを確認します。
以下、コマンド発行後の確認内容です。
/usr/local/bin/aliyun ess DescribeScalingInstances --ScalingGroupId {$Id} | jq -r .
SLBの状態確認
■使用するCLI
SLBのDescribeHealthStatus
コマンドでSLB配下のECSの状態確認を実施します。
/usr/local/bin/aliyun slb DescribeHealthStatus --LoadBalancerId {$Id}
■使用するジョブ
slb-healthcheck-job
およびslb-unhealthcheck-job
にて使用します。
環境起動時(slb-healthcheck-job)の確認内容
環境起動時は、ServerHealthStatus
がnormal
になっているサーバが2台
あることを確認します。
以下、コマンド発行後の確認内容です。
/usr/local/bin/aliyun slb DescribeHealthStatus --LoadBalancerId {$Id} | jq -r .
環境停止時(slb-unhealthcheck-job)の確認内容
環境停止時は、BackendServer
になにも表示されないことを確認します。
以下、コマンド発行後の確認内容です。
/usr/local/bin/aliyun slb DescribeHealthStatus --LoadBalancerId {$Id} | jq -r .
ジョブの実行(即時実行)
前項では、ジョブにて使用するCLIをご紹介しました。
本項では、実際にジョブを動作させます。
なお、JP1-AJS3の実行環境とジョブネットは構築済とします。
以下、実行させるジョブネットです。
環境起動用ジョブネット(launch-jobnet)の確認
- 下記のジョブネット即時実行します。
- 環境起動を即時実行で実施します。
- 正常にジョブが終了していることを確認します。
環境停止用ジョブネット(terminate-jobnet)の確認
- 下記のジョブネット即時実行します。
- 環境停止を即時実行で実施します。
- 正常にジョブが終了していることを確認します。
AlibabaCloudでの確認
以下の確認を実施します。
AutoScalingGroupの確認
- ●環境起動時
該当のAutoScalingGroupのECSインスタンスリスト内のECSが正常に稼働していること
を確認します。
- ●環境停止時
該当のAutoScalingGroupのECSインスタンスリストにECSが存在しないこと
を確認します。
SLBの確認
- ●環境起動時
バックエンドサーバのポートヘルスチェックが正常
に実施されていることを確認します。
- ●環境停止時
バックエンドサーバのポートヘルスチェックが-
になっていることを確認します。
ジョブの実行(計画実行)
即時実行での動作確認は完了しました。
次はスケジュールを意識し、平日の10:00に起動
、平日の18:00に停止
といった計画実行
を実施していきます。
カレンダー定義の作成
ジョブを平日に実行するためにカレンダー定義を作成します。
ここでは、schedule-jobgroup
のカレンダー定義にて、
以下、設定後
のView画面です。
カレンダー定義を
schedule-jobgroup
に設定します。土日を
休日
と定義します。
スケジュール定義の作成
ジョブネットを実行する時間を定義しておきます。
実行スケジュールは下記の通り、設定します。
● launch-jobnet(環境起動用ジョブネット) : 平日10:00実行
● terminate-jobnet(環境停止用ジョブネット) : 平日18:00実行
以下、設定後のView画面です。
launch-jobnet
とterminate-jobnet
にそれぞれスケジュール定義を設定します。
スケジュールルールの種別を
運用日
に設定します。任意の開始年月を設定します。
任意の開始日を設定します。
開始時刻を
絶対時刻(システム時刻)
とし、下記の実行時間は下記の通り設定します。
● launch-jobnet : 10:00
● terminate-jobnet : 18:00サイクルで実行するに
チェック
を入れ、1運用日毎
に実行します。
計画実行の実行登録
実行登録を計画実行で実施します。
以下、設定後
のView画面です。
launch-jobnet
とterminate-jobnet
にそれぞれ実行登録を実施します。
登録方法は
計画実行
を指定します。実行タイミングは、
次回から実行する
に指定します。
計画実行の設定確認
計画実行登録後の設定を確認します。
launch-jobnet(環境起動用ジョブネット)
の確認です。
土日以外に■マーク
があることが確認できます。
■マーク
をダブルクリックすると下記がセットされていることが確認できます。 選択枠内の実行スケジュールが`2019/10/10 10:00:00 - 2019/10/10 10:02:56`状態が`開始時刻待ち`開始予定日時および開始日時が`10:00:00`終了日時が`10:02:56`
terminate-jobnet(環境停止用ジョブネット)
の確認です。
土日以外に■マーク
があることが確認できます。
■マーク
をダブルクリックすると下記がセットされていることが確認できます。 選択枠内の実行スケジュールが`2019/10/10 18:00:00 - 2019/10/10 18:00:24`状態が`開始時刻待ち`開始予定日時および開始日時が`18:00:00`終了日時が`18:00:24`
計画実行の動作確認
JP1/AJS3-Viewでの確認
JP1/AJS3-Viewではジョブネットモニタ
にて確認を実施します。
環境起動確認
launch-jobnet
の進捗度が100%
になっていることを確認します。
開始時刻が
10:00:00
であることを確認します。ジョブネットモニタにて、ジョブが全て
正常終了
していることを確認します。
環境停止確認
terminate-jobnet
の進捗度が100%
になっていることを確認します。
開始時刻が
18:00:00
であることを確認します。terminate-jobnet
のジョブネットモニタにて、ジョブが全て正常終了
していることを確認します。
AlibabaCloudでの確認
以下の確認を実施します。
スケーリングアクティビティの確認
AutoScalingGroupの挙動を確認すると下記が記録されていることが確認できます。
●平日の10:00にAdd"2"ECS
●平日の18:00にRemove"2"ECS
●10/5(土)、10/6(日)はアクティビティなし
AutoScalingGroupの状態確認とSLBの状態確認については、
即時実行時と同様のため、割愛します。最後に
以上で、AlibabaCloud上にJP1-AJS3を構築し、動作させました。
AlibabaCloud特有の設定項目は特になく、他のクラウドサービスと遜色なく動作させることができました。
これを機に他のミドルウェアについてもAlibabaCloud上で検証を実施していければと思います。