Azure Spring Apps における一般的な終了コードの問題のトラブルシューティング
Note
Basic、Standard、および Enterprise プランは、2025 年 3 月中旬以降に非推奨になり、3 年間の廃止期間となります。 Azure Container Apps に移行することをお勧めします。 詳細については、「Azure Spring Apps の廃止のお知らせ」を参照してください。
Standard 従量課金と専用プランは、2024 年 9 月 30 日以降に非推奨となり、6 か月後に完全にシャットダウンされます。 Azure Container Apps に移行することをお勧めします。 詳細については、「Azure Spring Apps の Standard 従量課金と専用プランを Azure Container Apps に移行する」を参照してください。
この記事の適用対象: ✔️ Enterprise ✔️ Basic/Standard
この記事では、Azure Spring Apps のアプリケーションがエラー コードで終了したときに講じることができるトラブルシューティング アクションについて説明します。 アプリケーションのデプロイが失敗した場合、またはアプリケーションが実行中に終了した場合、エラー コードが返されることがあります。
終了コード
終了コードは、アプリケーションが終了した理由を示します。 以下に示したのは、一般的な終了コードとその説明です。
0 - アプリケーションが最後まで実行されてしまったために終了しました。 継続的に実行されるようにサーバー アプリケーションを更新してください。
Azure Spring Apps にデプロイされた Azure アプリは、サービスを継続的に提供する必要があります。 終了コード 0 は、アプリケーションが継続的に実行されていないことを示します。 ログとソース コードを確認してください。
1 - アプリケーションが 0 以外の終了コードで終了する場合、コードおよび関連するサービスをデバッグしたうえでもう一度アプリケーションをデプロイします。
0 以外の終了コードについて考えられる原因を次に示します。
Spring Boot の構成になんらかの問題があります。
たとえば、データベースに接続するには spring.db.url パラメーターが必要ですが、構成ファイルにそれが見つかりません。
サード パーティのサービスから切断されています。
たとえば、Redis サービスに接続する必要があるのに、サービスが機能していないか利用できません。
サード パーティのサービスに対する十分なアクセス権がありません。
たとえば、Azure Key Vault に接続してアプリケーションに証明書をインポートする必要があるのに、そこにアクセスするために必要なアクセス許可がアプリケーションにありません。
アプリケーションが、Web サーバーによって提供される静的ファイルまたは動的フロントエンド アプリケーションの場合、「Web 静的ファイルをデプロイする」の「ビルドとデプロイに関する一般的なエラー」セクションを参照してください。
137 - アプリケーションは、猶予期間なしでホスティング プラットフォームによって即時終了されています。 この終了コードは、次のいずれかのシナリオの結果である可能性があります。
ライブネス チェックが失敗すると、ホスティング プラットフォームは、アプリケーションの終了を試行し、猶予期間をおいた後、アプリケーションを即時に中止します。 アプリケーションがグレースフル シャットダウンを正常に処理するようにしてください。
メモリ不足エラーが原因でアプリケーションが終了しました。 アプリケーションから要求されたリソースを、ホスティング プラットフォームが提供できませんでした。 アプリケーションの Java 仮想マシン (JVM) パラメーターを更新して、リソースの使用を制限するか、アプリケーション リソースをスケールアップしてください。
アプリケーションが Java アプリケーションの場合は、JVM パラメーターの値を確認してください。 アプリケーションのメモリの制限を超えている可能性があります。
たとえば、アプリケーションで使用されるメモリが最大 5 GB であるにもかかわらず、Xmx JVM パラメーターが 10 GB に設定されているとします。 Xmx パラメーターの値がアプリケーションのメモリの制限以下になるように、Xmx の値を減らすか、アプリケーション メモリを増やしてください。
143 - アプリケーションは、メモリ不足エラーまたはその他のエラーが原因で正常性チェックに応答できなかったために終了しました。
このエラー コードは、多くの場合、メモリ不足エラーによって生成されます。 詳細については、「メモリ不足の問題によって引き起こされるアプリの再起動の問題」を参照してください。
Azure CLI の az spring app logs コマンドを使用して、アプリケーション ログから詳細を取得することもできます。 詳細については、「Azure Spring Apps のアプリケーション コンソール ログをリアルタイムでストリーミングする」を参照してください。