この記事では、Azure App Service での既存スタックの更新とサポート終了スタックの廃止に関する言語ランタイム サポート ポリシーについて説明します。 このポリシーは従来からの慣行を明確にするものであり、お客様に対するコミットメントの変更を意味するものではありません。
既存スタックの更新
App Service では、各コミュニティからのスタック提供後、既存のスタックを更新します。 App Service はスタックのメジャー バージョンを更新しますが、特定のマイナー バージョンやパッチ バージョンを保証することはできません。 マイナーおよびパッチ バージョンはプラットフォームによって制御されます。 たとえば、Node 18 は App Service によって更新されますが、特定の Node 18.x.x バージョンは保証されません。 特定のマイナー バージョンまたはパッチ バージョンが必要な場合は、 カスタム コンテナーを使用します。
廃止
App Service は、ランタイムのライフサイクルに関してコミュニティ サポートのタイムラインに従います。 ある言語のコミュニティ サポートがサポート終了になると、アプリケーションは変更されることなく引き続き実行されます。 ただし、App Service では、サポート終了日を過ぎたランタイム バージョンに関しては、セキュリティ更新プログラムや関連するカスタマー サポートを提供できません。 当該バージョンのサポート終了日を過ぎてアプリケーションに何か問題が発生した場合は、最新のセキュリティ パッチや機能を利用できるよう、サポートされているバージョンに移行することをお勧めします。
重要
サポートされていない言語バージョンを使用するアプリを実行している場合は、それらのアプリのサポートを受ける前に、サポートされている言語バージョンにアップグレードする必要があります。
通知
ランタイム バージョンのサポート終了日は、それぞれのスタックによって個別に決定され、App Service の制御外です。 サポート終了が到来するランタイム バージョンについては、App Service からサブスクリプション所有者に、各言語について入手可能になったときにリマインダー通知が送信されます。
通知を受信するロールには、アカウント管理者、サービス管理者、共同管理者が含まれます。 共同作成者、閲覧者、またはその他のロールは、 Service Health アラートを使用して通知メールを受信することを選択しない限り、通知を直接受信しません。
言語ランタイム バージョン サポートのタイムライン
言語のサポート ポリシーの具体的なタイムラインの詳細については、次のリソースを参照してください。
サポートの状態
App Service では、Linux と Windows 両方のオペレーティング システムで言語がサポートされています。 各言語の OS サポートの一覧については、次のリソースを参照してください。
言語バージョンを構成する
App Service アプリケーションの言語バージョンを更新する方法の詳細については、次のリソースを参照してください。
Java 固有ランタイムのサポート ステートメント
JDK のバージョンとメンテナンス
OpenJDK の Microsoft および Adoptium ビルドは、App Service for Java 8、11、17、21 で提供およびサポートされています。 これらのバイナリは、Azure 用の OpenJDK の無償のマルチプラットフォームの実稼働可能なディストリビューションとして提供されます。 バイナリには、Java SE アプリケーションをビルドして実行するためのすべてのコンポーネントが含まれています。 ローカル開発またはテスト用に、 OpenJDK の Microsoft ビルドをダウンロードできます。
| Java スタック名 | Linux ディストリビューション | Java ディストリビューション |
|---|---|---|
| Java 8 | Alpine 3.16* | Adoptium Temurin 8 (MUSL) |
| Java 11 | Alpine 3.16* | MSFT OpenJDK 11 (MUSL) |
| Java 17 | Ubuntu | MSFT OpenJDK 17 |
| Java 21 | Ubuntu | MSFT OpenJDK 21 |
| Tomcat 8.5 Java 8 | Alpine 3.16* | Adoptium Temurin 8 (MUSL) |
| Tomcat 8.5 Java 11 | Alpine 3.16* | MSFT OpenJDK 11 (MUSL) |
| Tomcat 9.0 Java 8 | Alpine 3.16* | Adoptium Temurin 8 (MUSL) |
| Tomcat 9.0 Java 11 | Alpine 3.16* | MSFT OpenJDK 11 (MUSL) |
| Tomcat 9.0 Java 17 | Ubuntu | MSFT OpenJDK 17 |
| Tomcat 9.0 Java 21 | Ubuntu | MSFT OpenJDK 21 |
| Tomcat 10.0 Java 8 | Ubuntu | Adoptium Temurin 8 |
| Tomcat 10.0 Java 11 | Ubuntu | MSFT OpenJDK 11 |
| Tomcat 10.0 Java 17 | Ubuntu | MSFT OpenJDK 17 |
| Tomcat 10.0 Java 21 | Ubuntu | MSFT OpenJDK 21 |
| Tomcat 10.1 Java 11 | Ubuntu | MSFT OpenJDK 11 |
| Tomcat 10.1 Java 17 | Ubuntu | MSFT OpenJDK 17 |
| Tomcat 10.1 Java 21 | Ubuntu | MSFT OpenJDK 21 |
| Tomcat 11.0 Java 17 | Ubuntu | MSFT OpenJDK 17 |
| Tomcat 11.0 Java 21 | Ubuntu | MSFT OpenJDK 21 |
| JBoss 7.3 Java 8 | Ubuntu | Adoptium Temurin 8 |
| JBoss 7.3 Java 11 | Ubuntu | MSFT OpenJDK 11 |
| JBoss 7.4 Java 8 | Ubuntu | Adoptium Temurin 8 |
| JBoss 7.4 Java 11 | Ubuntu | MSFT OpenJDK 11 |
| JBoss 7.4 Java 17 | Ubuntu | MSFT OpenJDK 17 |
| JBoss 8.0 Java 11 | Ubuntu | MSFT OpenJDK 11 |
| JBoss 8.0 Java 17 | Ubuntu | MSFT OpenJDK 17 |
| JBoss 8.0 Java 21 | Ubuntu | MSFT OpenJDK 21 |
* Alpine 3.16 は、App Service でサポートされる最後の Alpine ディストリビューションです。 Ubuntu に自動的に切り替わらないように、バージョンにピン留めする必要があります。 可能な場合は、Ubuntu ベースのディストリビューションでサポートされている Java オファリングをテストして切り替えてください。
以前のマイナー バージョンの Java にピン留めされている場合は、Azul Systems を通じて提供される Azure バイナリ用に非推奨の Azul Zulu がアプリで使用されている可能性があります。 これらのバイナリはアプリで引き続き使用できますが、セキュリティ パッチや機能強化は、より新しいバージョンの OpenJDK でのみ使用できます。 このシナリオでは、Web アプリをより新しいバージョンの Java に定期的に更新することをお勧めします。
メジャー バージョンの更新プログラムは、Azure App Service の新しいランタイム オプションによって提供されています。 App Service デプロイを構成して、これらの新しいバージョンの Java に更新します。 主要な更新プログラムがニーズを満たしていることをテストし、確認する責任があります。
サポートされている JDK は、毎年 1 月、4 月、7 月、および 10 月の四半期ごとに自動的に適用されます。 詳細については、「 Java on Azure」を参照してください。
セキュリティ更新プログラム
主要なセキュリティ脆弱性の修正プログラムと修正プログラムは、OpenJDK の Microsoft ビルドで利用可能になるとすぐにリリースされます。 主要な脆弱性は、NIST Common Vulnerability Scoring System バージョン 2 のベース スコアが 9.0 以上の脆弱性です。
Tomcat 8.5 は 2024 年 3 月 31 日の時点でサポート終了 に達し、Tomcat 10.0 は 2022 年 10 月 31 日の時点でサポート終了に達しました。
ランタイムは引き続き Azure App Service で使用できますが、Tomcat 10 と Tomcat 8.5 はセキュリティ更新プログラムを受け取りません。
可能な場合は、アプリケーションをTomcat 9.0またはTomcat 10.1に移行してください。 Tomcat 9.0とTomcat 10.1はAzure App Serviceで利用可能です。 詳細については、 Apache Tomcat のドキュメントを参照してください。
Java 7 のコミュニティ サポートは 2022 年 7 月 29 日に終了し、Java 7 は App Service から削除されました。 Java 7 で Web アプリを実行している場合は、すぐに Java 8 または Java 11 にアップグレードしてください。
廃止と提供終了
サポートされている Java ランタイムが廃止された場合、影響を受けるランタイムを使用する Azure 開発者は、ランタイムが廃止される少なくとも 6 か月前に非推奨通知を受け取ります。
ローカル開発
開発者は、ローカル開発用の OpenJDK の Microsoft ビルドを ダウンロード できます。
OpenJDK の Microsoft ビルドの製品サポートは、Azure または Azure Stack 向けに認定された Azure サポート プランを使用して開発する場合に、Microsoft を通じて利用できます。