すべてのプロダクト
Search
ドキュメントセンター

Serverless App Engine:グレースフル起動とグレースフルシャットダウンの設定

最終更新日:Nov 09, 2025

アプリケーションは、インスタンスのスケーリング、アプリケーションのロールバックまたはアップグレード、アプリケーションの起動または停止などの操作中に一時的に利用できなくなることがあります。Serverless App Engine (SAE) は、Microservices Engine (MSE) のグレースフル起動およびグレースフルシャットダウン機能を統合しています。この機能は、サービスのプリフェッチや遅延サービス登録などの機能を使用して、業務継続性を確保します。

背景情報

  • グレースフル起動:

    アプリケーションは、頻繁に公開、スケーリング、または再起動されます。グレースフル起動機能は、これらの操作中にアプリケーションを保護します。プロバイダーサービスは、レジストリに登録されるとすぐにコンシューマーから呼び出すことができます。ただし、プロバイダーは、データベース接続プールの設定などの初期化タスクをまだ実行する必要がある場合があります。グレースフル起動機能は、トラフィックの多いマイクロサービスアプリケーションに推奨されます。

  • グレースフルシャットダウン:

    オンラインアプリケーションを更新する場合、アプリケーションが停止して再起動する間、サービスの継続性を維持する必要があります。高同時実行シナリオでは、サービスプロバイダーインスタンスを直接シャットダウンすると問題が発生する可能性があります。サービス利用者インスタンスは、ダウンストリームインスタンスのリアルタイムステータスを検出できません。オフラインインスタンスにリクエストを転送し続けるため、リクエストエラーやトラフィック損失が発生します。デプロイメント、停止、ロールバック、スケールイン、リセットなどの操作中にアプリケーションが正しくシャットダウンされるようにするには、グレースフルシャットダウン機能を設定します。

前提条件

機能ページに移動

  1. SAE アプリケーションリストで、ターゲットリージョンと名前空間を選択し、ターゲットの [アプリケーション ID] をクリックしてアプリケーション詳細ページに移動します。

  2. 左側のナビゲーションウィンドウで、[Microservice Governance] > [Traffic Governance] を選択します。次に、[Graceful Start And Shutdown] タブをクリックします。

グレースフル起動とグレースフルシャットダウンの設定

  1. [Graceful Start And Shutdown] ページで、設定を構成します。

    重要
    • この機能を初めて使用するには、[マイクロサービスガバナンスを有効にする] をクリックし、ページを [更新] して構成設定にアクセスします。

    • 有効化プロセスには約 1〜2 分かかります。完了するまでお待ちください。

    グレースフル起動

    [グレースフル起動] セクションで、スイッチをオンにしてから、次の設定を構成します。

    設定項目

    説明

    [遅延登録時間 (秒)]

    サービス登録の遅延を設定します。このパラメーターは、指定された期間だけサービス登録を延期します。アプリケーションの起動時に長時間実行される非同期リソース読み込みプロセスがある場合は、このパラメーターを使用して新しいノードの登録動作を調整し、呼び出しリクエストの受信開始を遅らせます。

    重要

    遅延登録期間が 0 でない場合は、アプリケーションのデプロイメント中に readiness (readiness プローブ) を設定する必要があります。アクセスパスを /health に、ポートを 54199 に設定します。(マイクロサービス管理を有効にすると、エージェントは自動的にポート 54199 をリッスンします。アプリケーションでこのポートをリッスンする必要はありません。) これにより、Kubernetes は、サービスがレジストリに完全に登録された後にのみ、サービスが準備完了状態にあると見なします。これにより、サービス利用者がアクティブなサービスプロバイダーを見つけられないために、着信トラフィックが突然減少するのを防ぎます。同じパス /healthLivenessProbe (liveness プローブ) を設定しないでください。そうしないと、アプリケーションが再起動の無限ループに入る可能性があります。アプリケーションの readiness プローブの設定に関する詳細な手順については、「ヘルスチェックの設定」をご参照ください。

    [低トラフィックのプリフェッチ期間 (秒)]

    詳細オプションを開き、低トラフィックのプリフェッチ期間を設定します。トラフィックプリフェッチメカニズムにより、新しいノードが追加されたときに、そのノードへの最初のマイクロサービス呼び出しトラフィックが少なく、徐々に増加することが保証されます。この設計は、Java アプリケーションのコールドスタート中の処理能力の低下を軽減し、システム全体の応答時間 (RT) の大幅な増加を防ぐのに役立ちます。プリフェッチプロセスは、指定された期間が経過すると自動的に終了します。プロセスが終了すると、ノードは全量のトラフィックを処理します。

    グレースフルシャットダウン

    MSE に接続すると、グレースフルシャットダウンはデフォルトで有効になります。

    プロアクティブ通知スイッチをオンにすると、オフラインになるノードは、シャットダウン中であることをコンシューマーに積極的に通知します。これにより、コンシューマーがオフラインノードを呼び出すのを防ぎます。この機能はデフォルトでは無効になっています。ただし、アプリケーションが Spring Cloud フレームワークを使用しており、シャットダウンプロセス中にコンシューマーの呼び出しが失敗することがわかった場合は、この機能を有効にして問題を解決できます。

グレースフル起動とグレースフルシャットダウンの無効化

  • グレースフル起動

    アプリケーションの左側のナビゲーションウィンドウで、[Microservice Governance] > [Traffic Governance] を選択します。[Graceful Start And Shutdown] タブをクリックします。[グレースフル起動] セクションで、スイッチをオフにします。

  • グレースフルシャットダウン

    MSE に接続すると、グレースフルシャットダウンはデフォルトで有効になり、個別に無効にすることはできません。

不要な MSE コストを回避するには、ターゲットアプリケーションの [基本情報] ページに移動し、右上隅にある [その他] > [マイクロサービスガバナンスを無効にする] を選択し、プロンプトに従って機能を無効にします。

警告

マイクロサービスガバナンス機能を無効にすると、サービスリスト機能を除き、マイクロサービスガバナンスに関連する他の機能 (グレースフル起動とグレースフルシャットダウン、カナリアリリースルール、スロットリングとデグラデーションなど) は使用できなくなります。マイクロサービスガバナンス機能を無効にすると、アプリケーションの再起動がトリガーされます。マイクロサービスガバナンス機能を無効にする前に、ビジネスリスクを判断する必要があります。