Hitachi

uCosminexus Application Runtime for Apache Tomcat ユーザーズガイド


2.2.2 オートスケーリンググループからの閉塞を高速化する

Tomcatをオートスケーリング構成のマシン上で使用している場合,uCARTの稼働監視機能によって障害が検知された瞬間に,オートスケーリンググループからの切り離し(閉塞)が実施されます。ロードバランサのヘルスチェック機能を使用する場合に比べて,障害発生から閉塞までの不稼働時間を短縮できます。

稼働監視機能のユーザコマンドによる情報通知を使用することで,障害の検知を契機に任意のスクリプトを実行できます。そのスクリプト内で,クラウドベンダが提供するコマンドおよびAPIなどを用いて自マシンをオートスケーリンググループから切り離す処理を実装してください。

オートスケーリンググループから切り離す手段については,各クラウドベンダが提供するドキュメントを参照してください。

AWSでAmazon EC2 Auto Scalingを使用している場合のユーザスクリプト実装例を次に示します。

#!/bin/bash
 
# Get InstanceID
INSTANCEID=$(curl http://169.254.169.254/latest/meta-data/instance-id/)
echo InstanceID=${INSTANCEID}
 
# Get AutoScalingGroupName
ASGNAME=$(aws autoscaling describe-auto-scaling-instances --instance-ids ${INSTANCEID} | \
          jq -r '.AutoScalingInstances[].AutoScalingGroupName')
echo AutoScalingGroupName=${ASGNAME}
 
# Enter Standby state
aws autoscaling enter-standby --instance-ids ${INSTANCEID} \
    --auto-scaling-group-name ${ASGNAME} --no-should-decrement-desired-capacity

このスクリプトは実装例であり,これをそのまま使用した場合の動作は保証しません。必ずクラウドベンダが提供する最新のドキュメントを参照してユーザ側で適切なスクリプトを記述してください。