App Service の言語ランタイム サポート ポリシー

この記事では、Azure App Service での既存スタックの更新とサポート終了スタックの廃止に関する言語ランタイム サポート ポリシーについて説明します。 このポリシーは従来からの慣行を明確にするものであり、お客様に対するコミットメントの変更を意味するものではありません。

既存スタックの更新

App Service では、各コミュニティからのスタック提供後、既存のスタックを更新します。 App Service はスタックのメジャー バージョンを更新しますが、特定のマイナーまたはパッチ バージョンは保証できません。 マイナーおよびパッチ バージョンはプラットフォームによって制御されます。 たとえば、Node 18 は App Service によって更新されますが、特定の Node 18.x.x バージョンは保証されません。 特定のマイナーまたはパッチ バージョンが必要な場合は、カスタム コンテナーを使用できます。

廃止

App Service は、ランタイムのライフサイクルに関してコミュニティ サポートのタイムラインに従います。 ある言語のコミュニティ サポートがサポート終了になると、アプリケーションは変更されることなく引き続き実行されます。 ただし、App Service では、サポート終了日を過ぎたランタイム バージョンに関しては、セキュリティ更新プログラムや関連するカスタマー サポートを提供できません。 当該バージョンのサポート終了日を過ぎてアプリケーションに何か問題が発生した場合は、最新のセキュリティ パッチや機能を利用できるよう、サポートされているバージョンに移行することをお勧めします。

重要

サポートされていない言語バージョンを使用するアプリを実行している場合は、それらのアプリのサポートを受ける前に、サポートされている言語バージョンにアップグレードする必要があります。

通知

ランタイム バージョンのサポート終了日は、それぞれのスタックによって個別に決定され、App Service の制御外です。 サポート終了が到来するランタイム バージョンについては、App Service からサブスクリプション所有者に、各言語について入手可能になったときにリマインダー通知が送信されます。

通知の送信先には、アカウント管理者、サービス管理者、共同管理者が含まれます。 共同作成者、閲覧者、またはその他のロールには、サービス正常性アラートを使用して通知メールの受信を選択しない限り、通知は直接届きません。

言語ランタイム バージョン サポートのタイムライン

言語のサポート ポリシーの具体的なタイムラインの詳細については、次のリソースを参照してください。

言語バージョンを構成する

App Service アプリケーションの言語バージョンを更新する方法の詳細については、次のリソースを参照してください。

Java 固有ランタイムのサポート ステートメント

JDK のバージョンとメンテナンス

OpenJDK の Microsoft と Adoptium のビルドは、App Service for Java 8、11、および 17 で提供され、サポートされています。 これらのバイナリは、Azure 向け OpenJDK の、実稼働可能なマルチプラットフォームの無料ディストリビューションとして提供されています。 これらには、Java SE アプリケーションを構築および実行するためのすべてのコンポーネントが含まれています。 ローカル開発またはテストの場合は、ダウンロード ページから OpenJDK の Microsoft ビルドをインストールできます。

Java スタック名 Linux ディストリビューション Java ディストリビューション
Java 8、Java SE Alpine 3.16* Adoptium Temurin 8 (MUSL)
Java 11、Java SE Alpine 3.16* MSFT OpenJDK 11 (MUSL)
Java 17、Java SE Ubuntu MSFT OpenJDK 17
Java 8、Tomcat 8.5 Alpine 3.16* Adoptium Temurin 8 (MUSL)
Java 11、Tomcat 8.5 Alpine 3.16* MSFT OpenJDK 11 (MUSL)
Java 8、Tomcat 9.0 Alpine 3.16* Adoptium Temurin 8 (MUSL)
Java 11、Tomcat 9.0 Alpine 3.16* MSFT OpenJDK 11 (MUSL)
Java 17、Tomcat 9.0 Ubuntu MSFT OpenJDK 17
Java 8、Tomcat 10.0 Ubuntu Adoptium Temurin 8
Java 11、Tomcat 10.0 Ubuntu MSFT OpenJDK 11
Java 17、Tomcat 10.0 Ubuntu MSFT OpenJDK 17
Java 11、Tomcat 10.1 Ubuntu MSFT OpenJDK 11
Java 17、Tomcat 10.1 Ubuntu MSFT OpenJDK 17
Java 8、JBoss 7.3 Ubuntu Adoptium Temurin 8
Java 11、JBoss 7.3 Ubuntu MSFT OpenJDK 11
Java 8、JBoss 7.4 Ubuntu Adoptium Temurin 8
Java 11、JBoss 7.4 Ubuntu MSFT OpenJDK 11
Java 17、JBoss 7.4 Ubuntu MSFT OpenJDK 17

* Alpine 3.16 は、App Service でサポートされる最後の Alpine ディストリビューションです。 Ubuntu に自動的に切り替わらないように、バージョンにピン留めすることをお勧めします。 可能であれば、Ubuntu ベースのディストリビューションでサポートされている Java オファリングをテストしてこれに切り替えてください。

古いマイナー バージョンの Java にピン留めされている場合は、Azul Systems により提供されている非推奨の Azul Zulu for Azure バイナリをサイトで使用している可能性があります。 これらのバイナリは引き続きサイトで使用できますが、セキュリティ修正プログラムや機能強化は新しいバージョンの OpenJDK でのみ使用できます。そのため、Web Apps を新しいバージョンの Java に定期的に更新することをお勧めします。

メジャー バージョンの更新プログラムは、Azure App Service の新しいランタイム オプションによって提供されています。 お客様は、App Service デプロイを構成することで Java のこれらの新しいバージョンに更新します。また、主要な更新プログラムをテストし、ニーズを満たしていることを確認する必要があります。

サポートされている JDK は、毎年 1 月、4 月、7 月、および 10 月の四半期ごとに自動的に適用されます。 Azure 上の Java の詳細については、こちらのサポート ドキュメントを参照してください。

セキュリティ更新プログラム

重大なセキュリティの脆弱性のパッチおよび修正プログラムは、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で利用可能ですが、AzureはTomcat 8.5や10.0に対するセキュリティ更新を適用しません。

可能な場合は、アプリケーションをTomcat 9.0またはTomcat 10.1に移行してください。 Tomcat 9.0とTomcat 10.1はAzure App Serviceで利用可能です。 詳細については、公式のTomcatサイトをご覧ください。

Java 7 のコミュニティ サポートは 2022 年 7 月 29 日に終了し、Java 7 は App Service から削除されました。 Java 7 で実行される Web アプリがある場合は、直ちに Java 8 または 11 にアップグレードしてください。

廃止と提供終了

サポートされている Java ランタイムが廃止予定の場合、影響を受けるランタイムを使用している Azure の開発者には、ランタイム終了の少なくとも 6 か月前までに廃止の通知が送信されます。

ローカル開発

開発者は、ダウンロード サイトからローカル開発用の Microsoft Build of OpenJDK をダウンロードできます。

正規の Azure サポート プランを利用して Azure または Azure Stack 用の開発を行う場合、Microsoft による OpenJDK の Microsoft ビルドの製品サポートが利用できます。