4.4 オートスケーリング環境で運用する
クラウドサービスから提供されるオートスケーリング機能(Amazon EC2 Auto Scalingなど)を使用して,オートスケーリング環境下のインスタンスで本製品とTomcatを使用する場合について説明します。オートスケーリング環境で運用するには,スナップショットログの出力先をインスタンスの外部にあるストレージ(インスタンスのスケールインとともに削除されないストレージ)に切り替えてください。これは,異常停止時によるスケールイン時に必要な保守資料を永続化しておくために必要です。
スナップショットログの出力先をインスタンスの外部にあるストレージに切り替える手順を次に示します。システムを起動する前に実施してください。
操作手順
-
スナップショットログの出力先となる外部ストレージをNFSでマウントする。
本製品とTomcatを使用するマシン上の任意のディレクトリに対し,Tomcat実行ユーザの権限で読み書き可能な状態で,外部ストレージをNFSでマウントします。これ以降,マウントポイントのディレクトリを<スナップショットログ出力先ディレクトリ>と表記します。
-
config.properties(本製品の設定ファイル)を編集してスナップショットログの出力先を変更する。
config.propertiesに対し,次のプロパティを追加してください。
snapshot.log.filepath=<スナップショットログ出力先ディレクトリ>/${INSTANCEID}/snapshot
上記の「INSTANCEID」の部分は例です。このあとの手順3.で設定する環境変数名と一致していれば任意の名称を使用できます。
-
環境変数INSTANCEIDを設定する。
${CATALINA_BASE}/bin/setenv.sh(Tomcat起動時の環境変数定義ファイル)のスクリプト上で,クラウドサービスから提供されている手段を使用して,オートスケーリング環境下の個々のインスタンスを一意に識別できるIDを取得し,環境変数INSTANCEIDに設定します。
インスタンスを一意に識別できるIDの取得方法は,各クラウドサービスのドキュメントを参照してください。
「INSTANCEID」という環境変数名は例です。snapshot.log.filepathプロパティに使用した環境変数名と一致していれば任意の名称を使用できます。
-
システムを起動する。
システムの起動方法は,「4.1.1 本製品を組み込んだTomcatの起動方法」を参照してください。
これで設定は完了です。
- 設定の確認方法
-
設定が正しく反映されているかどうかは,Tomcatプロセスモニタを起動した直後に,「<スナップショットログ出力先ディレクトリ>/${INSTANCEID}」が指す外部ストレージ上のディレクトリが作成されているかどうかで確認できます。