翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Amazon Linux AMI (AL1) から AL2または AL2023 への移行
Elastic Beanstalk アプリケーションが Amazon Linux AMIプラットフォームブランチに基づいている場合は、このセクションを使用して、アプリケーションの環境を Amazon Linux 2 または Amazon Linux 2023 に移行する方法を学びます。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」を参照してください
相違点と互換性
AL2023/AL2 ベースのプラットフォームブランチは、既存のアプリケーションとの下位互換性は保証されません。アプリケーションコードが新しいプラットフォームバージョンに正常にデプロイされた場合でも、オペレーティングシステムとランタイムの違いにより、動作やパフォーマンスが異なる場合があるという点を認識しておくことも重要です。
Amazon Linux AMIと AL2023/AL2 は同じ Linux カーネルを共有しますが、初期化システム、libc
バージョン、コンパイラツールチェーン、およびさまざまなパッケージの点で異なります。詳細については、「Amazon Linux 2FAQs
Elastic Beanstalk サービスでは、プラットフォーム固有のバージョンのランタイム、ビルドツール、およびその他の依存関係も更新されました。
したがって、時間をかけて開発環境でアプリケーションを徹底的にテストし、必要な調整を行うことをお勧めします。
一般的な移行プロセス
本番稼働用に移行する準備ができたら、Elastic Beanstalk では、アップグレードを実行するために Blue/Green デプロイが必要です。ブルー/グリーンデプロイ手順での移行に推奨する一般的なベストプラクティス手順は次のとおりです。
移行テストの準備
アプリケーションをデプロイしてテストを開始する前に、このトピックの後に記載されている「すべての Linux プラットフォームに関する考慮事項」の情報を確認してください。また、それに続く「プラットフォーム固有の考慮事項」セクションで、ご使用のプラットフォームに該当する情報を確認してください。このコンテンツのうち、ご使用のアプリケーションと設定のセットアップに当てはまる、または当てはまる可能性のある特定の情報を書き留めておいてください。
高レベル移行ステップ
-
AL2 または AL2023 プラットフォームブランチに基づく新しい環境を作成します。AL2023 プラットフォームブランチに移行することをお勧めします。
-
アプリケーションをターゲット AL2023/AL2 環境にデプロイします。
新しい環境のテストと調整を繰り返し行っている間、既存の本番環境は引き続きアクティブで影響を受けません。
-
新しい環境でアプリケーションを徹底的にテストします。
-
宛先 AL2023/AL2 環境が本番環境に移行する準備ができたら、2 つの環境CNAMEsの を入れ替えて、トラフィックを新しい環境にリダイレクトします。
より詳細な移行手順とベストプラクティス
ブルー/グリーンデプロイ手順の詳細については、「Elastic Beanstalk を使用したブルー/グリーンデプロイ」を参照してください。
より具体的なガイダンスと詳細なベストプラクティス手順については、「Blue/Green method」を参照してください。
移行計画に役立つその他のリファレンス
以下のリファレンスには、移行を計画するための追加情報があります。
-
「Amazon Linux 2023 ユーザーガイド」の「Amazon Linux 2 と Amazon Linux 2023 の比較」
-
「Amazon Linux 2023 ユーザーガイド」の「Amazon Linux 2023 とは」
-
で Elastic Beanstalk がサポートするプラットフォーム AWS Elastic Beanstalk プラットフォーム
すべての Linux プラットフォームに関する考慮事項
次の表では、AL2023/ へのアプリケーション移行を計画する際に注意すべき考慮事項について説明しますAL2。これらの考慮事項は、特定のプログラミング言語やアプリケーションサーバーに関係なく、任意の Elastic Beanstalk Linux プラットフォームに適用されます。
エリア | 変更と情報 |
---|---|
設定ファイル |
AL2023/AL2 プラットフォームでは、以前と同じように設定ファイルを使用でき、すべてのセクションが同じように動作します。ただし、特定の設定は、以前の Amazon Linux AMIプラットフォームと同じように機能しない場合があります。例:
環境インスタンスでカスタムコードを実行するには、プラットフォームフックを使用することをお勧めします。 への参照が必要なスクリプトには、引き続き |
プラットフォームフック |
AL2 プラットフォームでは、環境のインスタンスのディレクトリをフックする実行可能ファイルを追加することで、環境のプラットフォームを拡張する新しい方法が導入されました。以前の Linux プラットフォームバージョンでは、カスタムプラットフォームフックを使用していた可能性があります。これらのフックは、マネージドプラットフォーム用に設計されておらず、サポートされていませんでしたが、場合によっては便利な方法で動作する可能性があります。AL2023/AL2 プラットフォームバージョンでは、カスタムプラットフォームフックは機能しません。すべてのフックを新しいプラットフォームフックに移行する必要があります。詳細については、「プラットフォームフック」を参照してください。 |
サポートされているプロキシサーバー |
AL2023/AL2 プラットフォームバージョンは、Amazon Linux プラットフォームバージョンでサポートされている各AMIプラットフォームと同じリバースプロキシサーバーをサポートします。ECS および Docker プラットフォームを除き、すべての AL2023/AL2; プラットフォームバージョンはデフォルトのリバースプロキシサーバーとして nginx を使用します。Tomcat、Node.js、PHP、および Python プラットフォームは、代替HTTPDとして Apache もサポートしています。このセクションの説明の通り、すべてのプラットフォームでプロキシサーバーの設定が一貫して有効にされています。ただし、プロキシサーバーの設定は、Amazon Linux での設定とは少し異なりますAMI。すべてのプラットフォームの相違点は次のとおりです。
プラットフォーム固有のプロキシ設定の変更については、プラットフォーム固有の考慮事項 を参照してください。AL2023/AL2 プラットフォームでのプロキシ設定の詳細については、「」を参照してくださいリバースプロキシの設定。 |
プロキシ設定の変更 |
各プラットフォームに固有のプロキシ設定の変更に加えて、すべてのプラットフォームに共通に適用されるプロキシ設定の変更があります。環境を正確に設定するには、両方を参照することが重要です。
|
インスタンスプロファイル |
AL2023/AL2 プラットフォームでは、インスタンスプロファイルを設定する必要があります。インスタンスプロファイルがなくても、環境の作成が一時的に成功する可能性はありますが、インスタンスプロファイルを必要とするアクションが失敗し始めると、作成直後に環境内にエラーが表示されることがあります。詳細については、「Elastic Beanstalk インスタンスプロファイルの管理」を参照してください。 |
拡張ヘルス |
AL2023/AL2 プラットフォームバージョンでは、デフォルトで拡張ヘルスが有効になります。これは、環境の作成に Elastic Beanstalk コンソールを使用しない場合、変更されます。コンソールでは、プラットフォームのバージョンに関係なく、可能な限り、デフォルトで拡張ヘルスが有効になります。詳細については、「Elastic Beanstalk の拡張ヘルスレポートとモニタリング」を参照してください。 |
カスタム AMI |
環境でカスタム AMIを使用している場合は、Elastic Beanstalk AL2023/AL2 プラットフォームを使用して、新しい環境の AL2023/AL2 AMIに基づいて新しい を作成します。 |
カスタムプラットフォーム |
AL2023/ AMIs AL2 プラットフォームバージョンの 管理は、カスタムプラットフォーム をサポートしていません。 |
プラットフォーム固有の考慮事項
このセクションでは、特定の Elastic Beanstalk Linux プラットフォームに固有の移行に関する考慮事項について説明します。
Amazon Linux AMI (AL1) に基づく Docker プラットフォームブランチファミリーには、3 つのプラットフォームブランチが含まれています。それぞれに個別の移行パスを設定することをお勧めします。
AL1 プラットフォームブランチ | AL2023/ への移行パスAL2 | ||||||||
---|---|---|---|---|---|---|---|---|---|
Amazon Linux でECS実行されている Amazon によって管理されるマルチコンテナ Docker AMI (AL1) |
ECS ベースの Docker AL2023/AL2 プラットフォームブランチECS ベースの Docker AL2023/ AL2プラットフォームブランチは、マルチコンテナの Docker AL1プラットフォームブランチで実行されている環境に対して、簡単な移行パスを提供します。
マルチコンテナ Docker Amazon Linux プラットフォームブランチで実行されているアプリケーションを AL2023/ プラットフォームブランチでECS実行されている Amazon AL2に移行する方法の詳細については、「」を参照してくださいElastic Beanstalk アプリケーションを のECSマネージドマルチコンテナ Docker から Amazon Linux 2023 AL1ECSの に移行する。 |
||||||||
Amazon Linux で実行されている Docker AMI (AL1) Amazon Linux を実行する事前設定された Docker (Glassfish 5.0) AMI (AL1) |
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 への移行パス」を参照してください。 次の表に、AL2023/ で実行されるプラットフォームブランチ Docker AL2に固有の移行情報を示します。
|
次の表に、Go プラットフォーム の AL2023/AL2 プラットフォームバージョンの移行情報を示します。
エリア | 変更と情報 |
---|---|
ポートの受け渡し |
AL2023/AL2 プラットフォームでは、Elastic Beanstalk は |
次の表に、Java SE プラットフォームの Corretto プラットフォームブランチの移行情報を示します。
エリア | 変更と情報 |
---|---|
Corretto と OpenJDK |
Java プラットフォーム、Standard Edition (Java SE)、AL2023/AL2 プラットフォームブランチを実装するには、Amazon Corretto |
ビルドツール |
AL2023/AL2 プラットフォームには、、 |
JAR ファイル処理 |
AL2023/AL2 プラットフォームでは、ソースバンドル (ZIP ファイル) に 1 つのJARファイルが含まれていて、他のファイルが含まれていない場合、Elastic Beanstalk はJARファイルの名前を に変更しなくなります |
ポートの受け渡し |
AL2023/AL2 プラットフォームでは、Elastic Beanstalk は |
Java 7 |
Elastic Beanstalk は AL2023/AL2Java 7 プラットフォームブランチをサポートしていません。Java 7 アプリケーションをお持ちの場合は、Corretto 8 または Corretto 11 に移行してください。 |
次の表に、Tomcat プラットフォーム の AL2023/AL2 プラットフォームバージョンの移行情報を示します。 Elastic Beanstalk Tomcat プラットフォームを使用する
エリア | 変更と情報 | ||||||
---|---|---|---|---|---|---|---|
設定オプション |
AL2023/AL2 プラットフォームバージョンでは、Elastic Beanstalk は
|
||||||
アプリケーションのパス |
AL2023/AL2 プラットフォームでは、環境の Amazon EC2インスタンス上のアプリケーションのディレクトリへのパスは です |
次の表に、Node.js プラットフォーム の AL2023/AL2 プラットフォームバージョンの移行情報を示します。 Elastic Beanstalk Node.js プラットフォームを使用する
エリア | 変更と情報 | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
インストールされている Node.js のバージョン |
AL2023/AL2 プラットフォームでは、Elastic Beanstalk は複数の Node.js プラットフォームブランチを維持し、各プラットフォームバージョンでプラットフォームブランチに対応する最新バージョンの Node.js メジャーバージョンのみをインストールします。たとえば、Node.js 12 プラットフォームブランチの各プラットフォームバージョンには、デフォルトで Node.js 12.x.y のみがインストールされています。Amazon Linux AMIプラットフォームバージョンでは、各プラットフォームバージョンに複数の Node.js バージョンの複数のバージョンをインストールし、1 つのプラットフォームブランチのみを維持しました。 アプリケーションで必要な Node.js メジャーバージョンに対応する Node.js プラットフォームブランチを選択します。 |
||||||||||
Apache HTTPDログファイル名 |
AL2023/AL2 プラットフォームでは、Apache HTTPDプロキシサーバーを使用する場合、HTTPDログファイル名は すべてのプラットフォームのログファイル名と場所の詳細については、Elastic Beanstalk で CloudWatch ログを設定する方法 を参照してください。 |
||||||||||
設定オプション |
AL2023/AL2 プラットフォームでは、Elastic Beanstalk は
|
次の表に、プラットフォーム の AL2023/AL2 PHP プラットフォームバージョンの移行情報を示します。
エリア | 変更と情報 |
---|---|
PHP ファイル処理 |
AL2023/AL2 プラットフォームでは、PHPファイルは PHP-FPM (CGIプロセスマネージャー) を使用して処理されます。Amazon Linux AMIプラットフォームでは、mod_php (Apache モジュール) を使用しました。 |
プロキシサーバー |
AL2023/AL2 PHPプラットフォームバージョンは、nginx と Apache HTTPDプロキシサーバーの両方をサポートします。デフォルトは nginx です。 Amazon Linux AMIPHPプラットフォームバージョンでは、Apache のみがサポートされていますHTTPD。カスタム Apache 設定ファイルを追加した場合は、 |
次の表に、Python プラットフォーム の AL2023/AL2 プラットフォームバージョンの移行情報を示します。
エリア | 変更と情報 |
---|---|
WSGI サーバー |
AL2023/AL2 プラットフォームでは、Gunicorn または、 を使用してWSGIサーバー |
アプリケーションのパス |
AL2023/AL2 プラットフォームでは、環境の Amazon EC2インスタンス上のアプリケーションのディレクトリへのパスは です |
プロキシサーバー |
AL2023/AL2Python プラットフォームバージョンは、nginx と Apache HTTPDプロキシサーバーの両方をサポートしています。デフォルトは nginx です。 Amazon Linux AMI Python プラットフォームバージョンは、Apache のみをサポートしていますHTTPD。カスタム Apache 設定ファイルを追加した場合は、 |
次の表に、Ruby プラットフォーム の AL2023/AL2 プラットフォームバージョンの移行情報を示します。 Elastic Beanstalk Ruby プラットフォームを使用する
エリア | 変更と情報 |
---|---|
インストールされている Ruby バージョン |
AL2023/AL2 プラットフォームでは、Elastic Beanstalk はプラットフォームブランチに対応する単一の Ruby バージョンの最新バージョンのみを各プラットフォームバージョンにインストールします。たとえば、Ruby 2.6 プラットフォームブランチの各プラットフォームバージョンには Ruby 2.6.x のみインストールされています。Amazon Linux AMIプラットフォームバージョンでは、2.4.x、2.5.x、2.6.x など、複数の Ruby バージョンの最新バージョンをインストールしました。 使用しているプラットフォームブランチに対応していない Ruby バージョンをアプリケーションで使用している場合は、アプリケーションに適した Ruby バージョンのプラットフォームブランチに切り替えることをお勧めします。 |
アプリケーションサーバー |
AL2023/AL2 プラットフォームでは、Elastic Beanstalk はすべての Ruby プラットフォームバージョンにのみ Puma アプリケーションサーバーをインストールします。 Amazon Linux AMIプラットフォームでは、Ruby バージョンごとに 2 種類のプラットフォームブランチがサポートされました。1 つは Puma アプリケーションサーバー、もう 1 つは Passenger アプリケーションサーバーです。アプリケーションで Passenger を使用している場合は、Passenger をインストールして使用するように Ruby 環境を設定できます。 詳細な説明と例については、「 Elastic Beanstalk Ruby プラットフォームを使用する」を参照してください。 |