

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# Amazon Linux AMI (AL1) から AL2 または AL2023 への移行
<a name="using-features.migration-al.generic.from-al1"></a>

Elastic Beanstalk アプリケーションが Amazon Linux AMI プラットフォームブランチに基づいていている場合について、このセクションでアプリケーションの環境を Amazon Linux 2 または Amazon Linux 2023 に移行する方法を説明します。[Amazon Linux AMI](https://aws.amazon.com/amazon-linux-ami/) に基づく以前の世代のプラットフォームブランチは、現在、廃止されています。

Amazon Linux 2023 は Amazon Linux 2 よりも新しいので、Amazon Linux 2023 に移行することを強くお勧めします。Amazon Linux 2 オペレーティングシステムは Amazon Linux 2023 よりも前にサポート終了となるため、Amazon Linux 2023 に移行すれば、より長いサポート期間を利用できるというメリットがあります。

着目すべきは、Elastic Beanstalk Amazon Linux 2 プラットフォームと Amazon Linux 2023 プラットフォームの間には高度な互換性があるという点です。ただし、インスタンスメタデータサービスバージョン 1 (IMDSv1) オプションのデフォルト、pkg-repo インスタンスツールのサポート、いくつかの Apache HTTPd 設定など、一部に違いがあります。詳細については、[Amazon Linux 2023](platforms-linux.md#platforms-linux.versions.al2023)を参照してください。

## 相違点と互換性
<a name="using-features.migration-al.generic.from-al1.differences"></a>

AL2023/AL2 ベースのプラットフォームブランチは、既存のアプリケーションに対して下位互換性があるとは限りません。アプリケーションコードが新しいプラットフォームバージョンに正常にデプロイされた場合でも、オペレーティングシステムとランタイムの違いにより、動作やパフォーマンスが異なる場合があるという点を認識しておくことも重要です。

Amazon Linux AMI と AL2023/AL2 は同じ Linux カーネルを共有しますが、初期化システム、`libc` バージョン、コンパイラツールチェーン、およびさまざまなパッケージが異なります。詳細については、「[Amazon Linux 2 に関するよくある質問](https://aws.amazon.com//amazon-linux-2/faqs/)」を参照してください。

Elastic Beanstalk サービスでは、プラットフォーム固有のバージョンのランタイム、ビルドツール、およびその他の依存関係も更新されました。

したがって、時間をかけて開発環境でアプリケーションを徹底的にテストし、必要な調整を行うことをお勧めします。

## 一般的な移行プロセス
<a name="using-features.migration-al.generic.from-al1.process"></a>

本番稼働用に移行する準備ができたら、Elastic Beanstalk では、アップグレードを実行するために Blue/Green デプロイが必要です。ブルー/グリーンデプロイ手順での移行に推奨する一般的なベストプラクティス手順は次のとおりです。

**移行テストの準備**  
アプリケーションをデプロイしてテストを開始する前に、このトピックの後に記載されている「[すべての Linux プラットフォームに関する考慮事項](#using-features.migration-al.generic)」の情報を確認してください。また、それに続く「[プラットフォーム固有の考慮事項](#using-features.migration-al.specific)」セクションで、ご使用のプラットフォームに該当する情報を確認してください。このコンテンツのうち、ご使用のアプリケーションと設定のセットアップに当てはまる、または当てはまる可能性のある特定の情報を書き留めておいてください。

**高レベル移行ステップ**

1. AL2 または AL2023 プラットフォームブランチをベースにした新しい環境を作成します。AL2023 プラットフォームブランチに移行することをお勧めします。

1. ターゲットの AL2023/AL2 環境にアプリケーションをデプロイします。

   新しい環境のテストと調整を繰り返し行っている間、既存の本番環境は引き続きアクティブで影響を受けません。

1. 新しい環境でアプリケーションを徹底的にテストします。

1. ターゲットの AL2023/AL2 環境を本番環境に移行させる準備が完了したら、2 つの環境の CNAME を入れ替えて、新しい環境にトラフィックをリダイレクトします。

**より詳細な移行手順とベストプラクティス**  
ブルー/グリーンデプロイ手順の詳細については、「[Elastic Beanstalk を使用したブルー/グリーンデプロイ](using-features.CNAMESwap.md)」を参照してください。

より具体的なガイダンスと詳細なベストプラクティス手順については、「[Blue/Green method](using-features.platform.upgrade.md#using-features.platform.upgrade.bluegreen)」を参照してください。

## 移行計画に役立つその他のリファレンス
<a name="using-features.migration-al.generic.from-al1.references"></a>

以下のリファレンスには、移行を計画するための追加情報があります。
+ 「*Amazon Linux 2023 ユーザーガイド*」の「[Amazon Linux 2 と Amazon Linux 2023 の比較](https://docs.aws.amazon.com/linux/al2023/ug/compare-with-al2.html)」。
+  「*Amazon Linux 2023 ユーザーガイド*」の「[Amazon Linux 2023 とは](https://docs.aws.amazon.com/linux/al2023/ug/what-is-amazon-linux.html)」
+ 「*AWS Elastic Beanstalk プラットフォーム*」の「[Elastic Beanstalk でサポートされているプラットフォーム](https://docs.aws.amazon.com/elasticbeanstalk/latest/platforms/platforms-supported.html)」
+ [リタイアしたプラットフォームブランチの履歴](platforms-schedule.md#platforms-support-policy.retired)
+ [Elastic Beanstalk Linux プラットフォーム](platforms-linux.md)
+ [プラットフォームの廃止に関するよくある質問](using-features.migration-al.FAQ.md)

## すべての Linux プラットフォームに関する考慮事項
<a name="using-features.migration-al.generic"></a>

次の表に、AL2023/AL2 へのアプリケーションの移行を計画する際に注意すべき考慮事項を示します。これらの考慮事項は、特定のプログラミング言語やアプリケーションサーバーに関係なく、任意の Elastic Beanstalk Linux プラットフォームに適用されます。


|  **[面積]**  |  **変更と情報**  | 
| --- | --- | 
|  設定ファイル  |  AL2023/AL2 プラットフォームでは、以前と同じように[設定ファイル](ebextensions.md)を使用でき、すべてのセクションは同じように動作します。ただし、特定の設定は、以前の Amazon Linux AMI プラットフォームと同じように機能しない場合があります。例えば、次のようになります。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/elasticbeanstalk/latest/dg/using-features.migration-al.generic.from-al1.html) 環境インスタンスでカスタムコードを実行するには、プラットフォームフックを使用することをお勧めします。`.ebextensions` 設定ファイルでコマンドやコンテナコマンドを使用することはできますが、操作は簡単ではありません。たとえば、YAML ファイル内にコマンドスクリプトを記述することは、面倒でテストが難しい場合があります。  AWS CloudFormation リソースへのリファレンスが必要なスクリプトについては、`.ebextensions` 設定ファイルを使用する必要があります。  | 
|  プラットフォームフック  |  AL2 プラットフォームは、実行可能ファイルを追加して環境のインスタンス上のディレクトリをフックすることで、環境のプラットフォームを拡張する新しい方法を導入します。以前の Linux プラットフォームバージョンでは、[カスタムプラットフォームフック](custom-platforms.md#custom-platform-hooks)を使用していた可能性があります。これらのフックは、マネージドプラットフォーム用に設計されておらず、サポートされていませんでしたが、場合によっては便利な方法で動作する可能性があります。AL2023/AL2 プラットフォームバージョンでは、カスタムプラットフォームフックは機能しません。すべてのフックを新しいプラットフォームフックに移行する必要があります。詳細については、「[プラットフォームフック](platforms-linux-extend.hooks.md)」を参照してください。  | 
|  サポートされているプロキシサーバー  |  AL2023/AL2 プラットフォームのバージョンは、Amazon Linux AMI プラットフォームバージョンでサポートされている各プラットフォームと同じリバースプロキシサーバーをサポートします。ECS および Docker プラットフォームを除いて、AL2023/AL2 プラットフォームのすべてのバージョンは、デフォルトのリバースプロキシサーバーとして nginx を使用しています。Tomcat、Node.js、PHP、Python のプラットフォームも、代替として Apache HTTPD をサポートします。このセクションの説明の通り、すべてのプラットフォームでプロキシサーバーの設定が一貫して有効にされています。ただし、プロキシサーバーの設定は、Amazon Linux AMI の設定とは少し異なります。すべてのプラットフォームの相違点は次のとおりです。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/elasticbeanstalk/latest/dg/using-features.migration-al.generic.from-al1.html) プラットフォーム固有のプロキシ設定の変更については、[プラットフォーム固有の考慮事項](#using-features.migration-al.specific) を参照してください。AL2023/AL2 プラットフォームでのプロキシ設定については、「[リバースプロキシの設定](platforms-linux-extend.proxy.md)」を参照してください。  | 
|   プロキシ設定の変更   |  各プラットフォームに固有のプロキシ設定の変更に加えて、すべてのプラットフォームに共通に適用されるプロキシ設定の変更があります。環境を正確に設定するには、両方を参照することが重要です。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/elasticbeanstalk/latest/dg/using-features.migration-al.generic.from-al1.html)  | 
|  インスタンスプロファイル  |  AL2023/AL2 プラットフォームでは、インスタンスプロファイルを設定する必要があります。インスタンスプロファイルがなくても、環境の作成が一時的に成功する可能性はありますが、インスタンスプロファイルを必要とするアクションが失敗し始めると、作成直後に環境内にエラーが表示されることがあります。詳細については、「[Elastic Beanstalk インスタンスプロファイルの管理](iam-instanceprofile.md)」を参照してください。  | 
|  拡張ヘルス  |  AL2023/AL2 プラットフォームのバージョンでは、デフォルトで拡張ヘルスが有効になります。これは、環境の作成に Elastic Beanstalk コンソールを使用しない場合、変更されます。コンソールでは、プラットフォームのバージョンに関係なく、可能な限り、デフォルトで拡張ヘルスが有効になります。詳細については、「[Elastic Beanstalk の拡張ヘルスレポートおよびモニタリング](health-enhanced.md)」を参照してください。  | 
|  カスタム AMI  |  環境で[カスタム AMI](using-features.customenv.md) を使用する場合は、Elastic Beanstalk AL2023/AL2 プラットフォームを使用して、新しい環境用に AL2023/AL2 に基づく新しい AMI を作成します。  | 
|  カスタムプラットフォーム  |  AL2023/AL2 プラットフォームバージョンのマネージド AMI は、カスタムプラットフォームをサポートしていません。  | 

## プラットフォーム固有の考慮事項
<a name="using-features.migration-al.specific"></a>

このセクションでは、特定の Elastic Beanstalk Linux プラットフォームに固有の移行に関する考慮事項について説明します。

### Docker
<a name="using-features.migration-al.specific.docker"></a>

Amazon Linux AMI (AL1) に基づく Docker プラットフォームブランチファミリーには、3 つのプラットフォームブランチが含まれます。それぞれに個別の移行パスを設定することをお勧めします。


|  **AL1 プラットフォームブランチ**  |  **AL2023/AL2 への移行パス**  | 
| --- | --- | 
|  **[面積]**  |  **変更と情報**  | 
| --- | --- | 
|  Amazon Linux AMI (AL1) 上で動作する Amazon ECS で管理されるマルチコンテナ Docker  |   ECS ベースの Docker AL2023/AL2 プラットフォームブランチ *ECS ベースの Docker AL2023/AL2* プラットフォームブランチによって、*マルチコンテナ Docker AL1* プラットフォームブランチで実行されている環境の移行パスを簡単にできます。  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/elasticbeanstalk/latest/dg/using-features.migration-al.generic.from-al1.html) *マルチコンテナ Docker Amazon Linux* プラットフォームブランチで動作するアプリケーションを *AL2023/AL2 で動作する Amazon ECS* プラットフォームブランチに移行する方法についての詳細は、「[Elastic Beanstalk アプリケーションを AL1 の ECS マネージドマルチコンテナ Docker から Amazon Linux 2023 の ECS に移行する](migrate-to-ec2-AL2-platform.md)」を参照してください。  | 
|  Amazon Linux AMI (AL1) 上で動作する Docker Amazon Linux AMI (AL1) 上で動作する事前設定済み Docker (Glassfish 5.0)  |   AL2023/AL2 プラットフォームブランチで実行されている Docker *事前設定済み Docker (Glassfish 5.0)* または *Amazon Linux AMI (AL1) 上で動作する Docker* に基づく環境で動作するアプリケーションは、*Amazon Linux 2 で動作する Docker* または *AL2023 で動作する Docker* のプラットフォームブランチに基づく環境に移行することをお勧めします。  ご使用の環境が、*事前設定済み Docker (Glassfish 5.0)* プラットフォームブランチ基づく場合は、「[Docker プラットフォームへの GlassFish アプリケーションのデプロイ: Amazon Linux 2023 への移行パス](create_deploy_dockerpreconfig.md#docker-glassfish-tutorial)」を参照してください。 次の表に、*AL2023/AL2 で動作する Docker* のプラットフォームブランチ固有の移行情報を示します。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/elasticbeanstalk/latest/dg/using-features.migration-al.generic.from-al1.html)  | 
|  ストレージ  |  Elastic Beanstalk は、[ストレージドライバ](https://docs.docker.com/storage/storagedriver/)を使用して Docker イメージとコンテナデータを保存するように Docker を設定します。Amazon Linux AMI では、Elastic Beanstalk は[デバイスマッパーストレージドライバ](https://docs.docker.com/storage/storagedriver/device-mapper-driver/)を使用しました。パフォーマンスを向上させるために、Elastic Beanstalk は追加の Amazon EBS ボリュームをプロビジョンしました。AL2023/AL2 Docker プラットフォームバージョンでは、Elastic Beanstalk は [OverlayFS ストレージドライバ](https://docs.docker.com/storage/storagedriver/overlayfs-driver/)を使用し、別のボリュームを必要とせずにパフォーマンスを向上させます。 Amazon Linux AMI では、`BlockDeviceMappings` 名前空間の `aws:autoscaling:launchconfiguration` オプションを使用して Docker 環境にカスタムストレージボリュームを追加した場合は、Elastic Beanstalk がプロビジョンする `/dev/xvdcz` Amazon EBS ボリュームも追加することをお勧めします。その後このボリュームを Elastic Beanstalk がプロビジョンすることはないので、設定ファイルから削除する必要があります。詳細については、「[(Amazon Linux 2 より前の) Amazon Linux AMI での Docker 設定](create_deploy_docker.container.console.md#docker-alami)」を参照してください。  | 
|  プライベートリポジトリの認証  |  Docker で生成された認証ファイルを提供してプライベートリポジトリに接続するときに、Amazon Linux AMI Docker プラットフォームバージョンに必要な古い形式に変換する必要がなくなりました。AL2023/AL2 Docker プラットフォームバージョンは新しい形式をサポートしています。詳細については、「[イメージリポジトリを使用した認証](docker-configuration.remote-repo.md)」を参照してください。  | 
|  プロキシサーバー  |  AL2023/AL2 Docker プラットフォームバージョンは、プロキシサーバーの背後で実行されないスタンドアロンコンテナをサポートしていません。Amazon Linux AMI Docker プラットフォームバージョンでは、以前は `aws:elasticbeanstalk:environment:proxy` 名前空間の `ProxyServer` オプションとして `none` の値を使用することができました。  | 

### Go
<a name="using-features.migration-al.specific.go"></a>

以下の表に、[Go プラットフォーム](go-environment.md)の AL2023/AL2 プラットフォームバージョンの移行情報を示します。


|  **[面積]**  |  **変更と情報**  | 
| --- | --- | 
|  ポートの受け渡し  |  AL2023/AL2 プラットフォームでは、Elastic Beanstalk は `PORT` 環境変数を使用してアプリケーションプロセスにポート値を渡しません。`PORT` 環境プロパティを自分で設定することで、プロセスのこの動作をシミュレートできます。ただし、複数のプロセスがあり、Elastic Beanstalk が増分ポート値をプロセス (5000、5100、5200 など) に渡すことを期待している場合は、実装を変更する必要があります。詳細については、「[リバースプロキシの設定](platforms-linux-extend.proxy.md)」を参照してください。  | 

### Amazon Corretto
<a name="using-features.migration-al.specific.corretto"></a>

次の表に、[Java SE プラットフォーム](java-se-platform.md)の Corretto プラットフォームブランチの移行情報を示します。


|  **[面積]**  |  **変更と情報**  | 
| --- | --- | 
|  Corretto と OpenJDK  |  Java プラットフォーム、Standard Edition (Java SE) を実装するために、AL2023/AL2 プラットフォームブランチは Open Java Development Kit (OpenJDK) の AWS ディストリビューションである [Amazon Corretto](https://aws.amazon.com/corretto) を使用します。以前の Elastic Beanstalk Java SE プラットフォームブランチでは、Amazon Linux AMI に含まれている OpenJDK パッケージを使用しています。  | 
|  ビルドツール  |  AL2023/AL2 プラットフォームには、`gradle`、`maven`、および `ant` の新しいバージョンのビルドツールがあります。  | 
|  JAR ファイルの処理  |  AL2023/AL2 プラットフォームでは、ソースバンドル (ZIP ファイル) に 1 つの JAR ファイルが含まれていて、他のファイルが含まれていない場合、Elastic Beanstalk は JAR ファイルの名前を `application.jar` に変更しなくなりました。名前変更が行われるのは、ZIP ファイル内ではなく、単独で JAR ファイルを送信した場合のみです。  | 
|  ポートの受け渡し  |  AL2023/AL2 プラットフォームでは、Elastic Beanstalk は `PORT` 環境変数を使用してアプリケーションプロセスにポート値を渡しません。`PORT` 環境プロパティを自分で設定することで、プロセスのこの動作をシミュレートできます。ただし、複数のプロセスがあり、Elastic Beanstalk が増分ポート値をプロセス (5000、5100、5200 など) に渡すことを期待している場合は、実装を変更する必要があります。詳細については、「[リバースプロキシの設定](platforms-linux-extend.proxy.md)」を参照してください。  | 
|  Java 7  |  Elastic Beanstalk は、AL2023/AL2 Java 7 プラットフォームブランチをサポートしていません。Java 7 アプリケーションをお持ちの場合は、Corretto 8 または Corretto 11 に移行してください。  | 

### Tomcat
<a name="using-features.migration-al.specific.tomcat"></a>

以下の表に、[Tomcat プラットフォーム](java-tomcat-platform.md)の AL2023/AL2 プラットフォームバージョンの移行情報を示します。


|  **[面積]**  |  **変更と情報**  | 
| --- | --- | 
|  **オプション**  |  **移行情報**  | 
| --- | --- | 
|  設定オプション  |  AL2023/AL2 プラットフォームバージョンでは、Elastic Beanstalk は `aws:elasticbeanstalk:environment:proxy` 名前空間内の設定オプションとオプション値のサブセットのみをサポートします。各オプションの移行情報は次のとおりです。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/elasticbeanstalk/latest/dg/using-features.migration-al.generic.from-al1.html) `aws:elasticbeanstalk:container:tomcat:jvmoptions` 名前空間の `XX:MaxPermSize` オプションは、AL2023/AL2 プラットフォームバージョンではサポートされていません。永続世代のサイズを変更するための JVM 設定は、Java 7 以前のバージョンにのみ適用されるため、AL2023/AL2 プラットフォームバージョンには適用されません。  | 
|  アプリケーションパス  |  AL2023/AL2 プラットフォームでは、環境の Amazon EC2 インスタンス上のアプリケーションのディレクトリへのパスは `/var/app/current` です。Amazon Linux AMI プラットフォームでは `/var/lib/tomcat8/webapps` でした。  | 
|  `GzipCompression`  |  AL2023/AL2 プラットフォームバージョンではサポートされていません。  | 
|  `ProxyServer`  |  AL2023/AL2 Tomcat プラットフォームのバージョンは、nginx と Apache の HTTPD バージョン 2.4 プロキシサーバーの両方をサポートしています。しかし、Apache バージョン 2.2 はサポートされていません。 Amazon Linux AMI プラットフォームのバージョンでは、デフォルトのプロキシは Apache 2.4 でした。デフォルトのプロキシ設定を使用し、カスタムプロキシ設定ファイルを追加した場合、プロキシ設定は AL2023/AL2 で引き続き動作します。ただし、`apache/2.2` オプション値を使用した場合は、プロキシ設定を Apache バージョン 2.4 に移行する必要があります。  | 

### Node.js
<a name="using-features.migration-al.specific.nodejs"></a>

以下の表に、[Node.js プラットフォーム](create_deploy_nodejs.container.md)の AL2023/AL2 プラットフォームバージョンの移行情報を示します。


|  **[面積]**  |  **変更と情報**  | 
| --- | --- | 
|  **オプション**  |  **移行情報**  | 
| --- | --- | 
|  インストールされている Node.js のバージョン  |  AL2023/AL2 プラットフォームでは、Elastic Beanstalk は複数の Node.js プラットフォームブランチを維持し、各プラットフォームバージョンのプラットフォームブランチに対応する Node.js メジャーバージョンの最新バージョンのみをインストールします。たとえば、Node.js 12 プラットフォームブランチの各プラットフォームバージョンには、デフォルトで Node.js 12.x.y のみがインストールされています。Amazon Linux AMI プラットフォームバージョンでは、各プラットフォームバージョンに複数の Node.js バージョンの複数のバージョンをインストールし、単一のプラットフォームブランチのみを維持しました。 アプリケーションで必要な Node.js メジャーバージョンに対応する Node.js プラットフォームブランチを選択します。  | 
|  Apache HTTPD ログファイル名  |  AL2023/AL2 プラットフォームでは、Apache HTTPD プロキシサーバーを使用する場合、HTTPD ログファイル名は `access_log` および `error_log` になります。これは、Apache HTTPD をサポートする他のすべてのプラットフォームと一致します。Amazon Linux AMI プラットフォームのバージョンでは、これらのログファイルはそれぞれ `access.log` と `error.log` という名前でした。 すべてのプラットフォームのログファイル名と場所の詳細については、[Elastic Beanstalk が CloudWatch Logs を設定する方法](AWSHowTo.cloudwatchlogs.md#AWSHowTo.cloudwatchlogs.loggroups) を参照してください。  | 
|  設定オプション  |  AL2023/AL2 プラットフォームでは、Elastic Beanstalk は `aws:elasticbeanstalk:container:nodejs` 名前空間の設定オプションをサポートしていません。オプションの中には、代替方法があります。各オプションの移行情報は次のとおりです。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/elasticbeanstalk/latest/dg/using-features.migration-al.generic.from-al1.html)  | 
|  `NodeCommand`  |  `package.json` ファイル内で `Procfile` または `scripts` キーワードを使用して、スタートスクリプトを指定します。  | 
|  `NodeVersion`  |  `package.json` ファイル内で `engines` キーワードを使用して、Node.js のバージョンを指定します。指定できるのは、プラットフォームブランチに対応する Node.js バージョンのみであることに注意してください。たとえば、Node.js 12 プラットフォームブランチを使用している場合は、12.x.y Node.js バージョンのみを指定できます。詳細については、「[package.json ファイルを使用した Node.js の依存関係の指定](nodejs-platform-dependencies.md#nodejs-platform-packagejson)」を参照してください。  | 
|  `GzipCompression`  |  AL2023/AL2 プラットフォームバージョンではサポートされていません。  | 
|  `ProxyServer`  |  AL2023/AL2 Node.js プラットフォームバージョンでは、このオプションは `aws:elasticbeanstalk:environment:proxy` 名前空間に移動しました。`nginx` (デフォルト) と `apache` のいずれかを選択できます。 AL2023/AL2 Node.js プラットフォームバージョンは、プロキシサーバーの背後で実行されないスタンドアロンアプリケーションをサポートしていません。Amazon Linux AMI Node.js プラットフォームバージョンでは、以前は `aws:elasticbeanstalk:container:nodejs` 名前空間の `ProxyServer` オプションとして `none` の値を使用することができました。環境がスタンドアロンアプリケーションを実行している場合は、プロキシサーバー (nginx または Apache) がトラフィックを転送するポートをリッスンするようにコードを更新します。 <pre>var port = process.env.PORT || 5000;<br /><br />app.listen(port, function() {<br />  console.log('Server running at http://127.0.0.1:%s', port);<br />});</pre>  | 

### PHP
<a name="using-features.migration-al.specific.php"></a>

以下の表に、[PHP プラットフォーム](create_deploy_PHP.container.md)の AL2023/AL2 プラットフォームバージョンの移行情報を示します。


|  **[面積]**  |  **変更と情報**  | 
| --- | --- | 
|  PHP ファイル処理  |  AL2023/AL2 プラットフォームでは、PHP ファイルは PHP-FPM (CGI プロセスマネージャ) を使用して処理されます。Amazon Linux AMIプラットフォームでは、mod\$1php (Apache モジュール) を使用しました。  | 
|  プロキシサーバー  |  AL2023/AL2 PHP プラットフォームのバージョンは、nginx と Apache HTTPD プロキシサーバーの両方をサポートします。デフォルトは nginx です。 Amazon Linux AMI PHP プラットフォームのバージョンは、Apache HTTPD のみをサポートします。カスタム Apache 設定ファイルを追加した場合は、`aws:elasticbeanstalk:environment:proxy` 名前空間の `ProxyServer` オプションを `apache` に設定できます。  | 

### Python
<a name="using-features.migration-al.specific.python"></a>

以下の表に、[Python プラットフォーム](create-deploy-python-container.md)の AL2023/AL2 プラットフォームバージョンの移行情報を示します。


|  **[面積]**  |  **変更と情報**  | 
| --- | --- | 
|  WSGI サーバー  |  AL2023/AL2 プラットフォームでは、[Gunicorn](https://gunicorn.org/) がデフォルトの WSGI サーバーです。デフォルトでは、Gunicorn はポート 8000 でリッスンします。このポートは、アプリケーションが Amazon Linux AMI プラットフォームで使用したものとは異なる場合があります。`[aws:elasticbeanstalk:container:python](command-options-specific.md#command-options-python)` 名前空間の `WSGIPath` オプションを設定する場合は、値を Gunicorn の構文に置き換えます。詳細については、「[Python 設定の名前空間](create-deploy-python-container.md#python-namespaces)」を参照してください。 または、`Procfile` を使用して WSGI サーバーを指定および設定することもできます。詳細については、「[Elastic Beanstalk での Procfile を使用した WSGI サーバーの設定](python-configuration-procfile.md)」を参照してください。  | 
|  アプリケーションパス  |  AL2023/AL2 プラットフォームでは、環境の Amazon EC2 インスタンス上のアプリケーションのディレクトリへのパスは `/var/app/current` です。Amazon Linux AMI プラットフォームでは `/opt/python/current/app` でした。  | 
|  プロキシサーバー  |  AL2023/AL2 Python プラットフォームのバージョンは、nginx と Apache HTTPD プロキシサーバーの両方をサポートします。デフォルトは nginx です。 Amazon Linux AMI Python プラットフォームのバージョンは、Apache HTTPD のみをサポートします。カスタム Apache 設定ファイルを追加した場合は、`aws:elasticbeanstalk:environment:proxy` 名前空間の `ProxyServer` オプションを `apache` に設定できます。  | 

### Ruby
<a name="using-features.migration-al.specific.ruby"></a>

以下の表に、[Ruby プラットフォーム](create_deploy_Ruby.container.md)の AL2023/AL2 プラットフォームバージョンの移行情報を示します。


|  **[面積]**  |  **変更と情報**  | 
| --- | --- | 
|  インストールされている Ruby バージョン  |  AL2023/AL2 プラットフォームでは、Elastic Beanstalk は、各プラットフォームバージョンに、プラットフォームブランチに対応する単一の Ruby バージョンの最新バージョンのみをインストールします。たとえば、Ruby 2.6 プラットフォームブランチの各プラットフォームバージョンには Ruby 2.6.x のみインストールされています。Amazon Linux AMI プラットフォームのバージョンでは、複数の Ruby バージョンの最新バージョン (2.4.x、2.5.x、2.6.x など) がインストールされています。 使用しているプラットフォームブランチに対応していない Ruby バージョンをアプリケーションで使用している場合は、アプリケーションに適した Ruby バージョンのプラットフォームブランチに切り替えることをお勧めします。  | 
|  アプリケーションサーバー  |  AL2023/AL2 プラットフォームでは、Elastic Beanstalk は、すべての Ruby プラットフォームバージョンに対して Puma アプリケーションサーバーのみをインストールします。`Procfile` を使用して別のアプリケーションサーバーをスタートし、`Gemfile` を使用してインストールできます。 Amazon Linux AMI プラットフォームでは、Ruby バージョンごとに 2 種類のプラットフォームブランチをサポートしていました。1 つは Puma アプリケーションサーバーで、もう 1 つは Passenger アプリケーションサーバーです。アプリケーションで Passenger を使用している場合は、Passenger をインストールして使用するように Ruby 環境を設定できます。 詳細な説明と例については、[Elastic Beanstalk Ruby プラットフォームを使用する](create_deploy_Ruby.container.md) を参照してください。  | 