操作シナリオ
アプリケーションインスタンスの実行中、異常によりプロセスから退出、または実行環境のディスク容量不足のためインスタンス動作の異常が発生する可能性があります。この場合、アプリケーションインスタンスを再起動する必要があります。
同時に、アプリケーションインスタンスはデータベースなどのアクセス異常のため、一時的に新しいリクエストを受けることができなくなる場合があります。この場合はCloud Load Balanceから異常インスタンスを除去し、インスタンスが正常に戻ってから、CLBに該当するインスタンスを追加する必要があります。
上述の2種類の運用保守要件のために、TEMには以下の2つのタイプのヘルスチェックが用意されており、運用保守要件を自動化することができます。
存在チェック(Liveness):アプリケーションインスタンスが正常に実行されていることをチェックし、正常でない場合はインスタンスを再起動します。
完了チェック(Readiness):アプリケーションインスタンスが完了しているかをチェックし、完了していない場合は現在のインスタンスへの転送トラフィックを停止します。
全体フロー
TEMはHTTPリクエストのメソッドを使用してヘルスチェックを実行し、対応するHTTP APIはアプリケーションを自ら提供する必要があります。そのため、ヘルスチェックを使用する全体フローは以下の2つに分けられます。
操作手順
手順1:アプリケーション実装をヘルスチェックのHTTP APIとする
ヘルスチェックHTTP APIでは、アプリケーションは使用中の開発言語および開発ワークフレームを基に実装を実行する必要があります。ここでは業界でよく見られるいくつかの例を示します。
ヘルスチェックとするHTTP APIは存在および完了の2種類のシナリオで使用でき、アプリケーションはリクエストに基づいて、2種類のシナリオのAPIに応じて個別に実装されます。以下の記述はそれぞれ/livezおよび/healthz表記に分かれます。
手順2:TEMプラットフォームでアプリケーションをデプロイするときにヘルスチェックを設定する
環境を作成していない場合は、環境の作成のドキュメントを参照することができます:環境の作成 アプリケーションを作成してデプロイします。ここではJARパッケージアプリケーションを例に挙げます。
1. TEMコンソールの アプリケーション管理 ページの上部で、アプリケーションのデプロイリージョンを選択します。 2. 新規作成をクリックして、アプリケーションの新規作成ページに進み、アプリケーション情報を入力します。
3. サブミットをクリックし、ポップアップボックスのOKをクリックして、アプリケーションのデプロイに移動します。
4. アプリケーションデプロイページで、アプリケーションの具体的な状況に応じて関連パラメータを設定します。
リクエストのパスおよびポートは、ヘルスチェックのHTTP APIパスおよびポートに使用するものを入力します。
5. アプリケーションのデプロイをクリックすると、プラットフォームは自動的にヘルスチェックの設定に基づきアプリケーションを管理します。