Amazon Linux 2 から Amazon Linux 2023 への移行 - AWS Elastic Beanstalk

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

Amazon Linux 2 から Amazon Linux 2023 への移行

このトピックでは、Amazon Linux 2 プラットフォームブランチから Amazon Linux 2023 プラットフォームブランチにアプリケーションを移行するためのガイダンスを提供します。

相違点と互換性

Elastic Beanstalk AL2 および AL2023 プラットフォーム間

Elastic Beanstalk Amazon Linux 2 プラットフォームと Amazon Linux 2023 プラットフォームの間には高度な互換性があります。ただし、留意すべき違いがいくつかあります。

  • インスタンスメタデータサービスバージョン 1 (IMDSv1) – AL2023 プラットフォームでは、DisableIMDSv1 オプション設定がデフォルトで true に設定されます。デフォルトは AL2 プラットフォーム上の false です。

  • pkg-repo インスタンスツールpkg-repo ツールは、AL2023 プラットフォームで実行されている環境では使用できません。ただし、AL2023 インスタンスにパッケージとオペレーティングシステムの更新を手動で適用することはできます。詳細については、「Amazon Linux 2023 ユーザーガイド」の「パッケージとオペレーティングシステムの更新の管理」を参照してください。

  • Apache HTTPd 設定 – AL2023 プラットフォームの Apache httpd.conf ファイルには、AL2 の構成設定とは異なるいくつかの構成設定があります。

    • デフォルトでは、サーバーのファイルシステム全体へのアクセスを拒否します。これらの設定については、 Apache ウェブサイトの「セキュリティのヒント」ページの「デフォルトでサーバーファイルを保護する」で説明されています。

    • 特に有効になっているディレクトリを除き、すべてのディレクトリ.htaccessで をセットアップするためのアクセスを拒否します。この設定については、Apache ウェブサイトの「セキュリティのヒント」ページの「システム設定の保護」で説明されています。「Apache HTTP サーバーチュートリアル: .htaccess ファイル」ページには、この設定がパフォーマンスの改善に役立つ可能性がある旨が記載されています。

    • 名前パターン .ht* のファイルへのアクセスを拒否します。この設定により、ウェブクライアントは .htaccess および .htpasswd ファイルを表示できなくなります。

    上記の構成設定は、ご使用の環境に合わせて変更できます。詳細については、「Apache HTTPD の設定」を参照してください。

  • マルチライン環境変数のサポート – AL2023 プラットフォームは、systemd サービス設定の環境変数とシークレットのマルチライン値をサポートします。Amazon Linux 2 プラットフォームは、複数行の環境変数値をサポートしていません。この機能強化により、AL2023 プラットフォームで複数行のシークレットと設定値を使用できます。環境変数とシークレットの使用の詳細については、「」を参照してくださいAmazon Linux 2 環境変数の複数行の値

  • CloudWatch カスタムログ転送 – 廃止された CloudWatch Logs エージェント (awslogs パッケージ) は AL2023 プラットフォームでは使用できません。非推奨awslogsエージェントをインストールして使用するカスタムログ転送設定がある場合は、Amazon Linux 2 から AL2023 に移行するときに、統合 CloudWatch エージェントを使用するように設定ファイルを更新する必要があります。詳細については、「カスタムログファイルのストリーミング」を参照してください。

プラットフォーム固有の違い

基本的なオペレーティングシステムの違いに加えて、Amazon Linux 2 と AL2023 ランタイムプラットフォームにはプラットフォーム固有の違いがあります。

  • .NET プラットフォーム分岐 — .NET プラットフォーム分岐戦略は、Amazon Linux 2 と AL2023 で異なります。Amazon Linux 2 では、.NET Core プラットフォームは .NET メジャーバージョンのローテーションウィンドウを単一のプラットフォームブランチ内に維持します。AL2023 では、各プラットフォームブランチは特定の .NET メジャーバージョン (.NET 9、.NET 10 など) に固定されます。

    フレームワーク依存アプリケーション (プラットフォームにインストールされている .NET ランタイムに依存するアプリケーション) をデプロイする場合は、アプリケーションのターゲット .NET バージョンに一致するプラットフォームブランチを選択する必要があります。自己完結型アプリケーション (独自の .NET ランタイムをバンドルするアプリケーション) をデプロイする場合、アプリケーションの .NET バージョンに関係なく、任意の AL2023 .NET プラットフォームブランチを使用できます。アプリケーションはプラットフォームのインストールされたランタイムに依存しないためです。詳細については、「.NET Core on Linux Elastic Beanstalk プラットフォーム用のアプリケーションのバンドル」を参照してください。

  • Node.js バージョンの選択 – Amazon Linux 2 の Node.js プラットフォームは、アプリケーションの package.json ファイルでの Node.js バージョンの指定をサポートしています。AL2023 の Node.js プラットフォームはこの機能をサポートしていません。プラットフォームブランチが提供するデフォルトの Node.js バージョンを使用する必要があります。Node.js のバージョン管理の詳細については、「」を参照してくださいElastic Beanstalk でのアプリケーションの依存関係の設定

  • Ruby Puma サーバーバージョン – Amazon Linux 2 の Ruby プラットフォームは、アプリケーションの Gemfile.lock ファイルで指定された Puma バージョンを無視し、プラットフォームのデフォルト Puma バージョンを使用します。AL2023 の Ruby プラットフォームは、存在するGemfile.lock場合は で指定された Puma バージョンに従います。バージョンが指定されていない場合、プラットフォームはプラットフォームのデフォルトの Puma バージョンをインストールします。

  • PHP パッケージの可用性 – Amazon Linux 2 PHP プラットフォームで利用可能な一部のパッケージは、AL2023 PHP プラットフォームでは利用できません。

    • MySQL クライアントパッケージmysqlおよび mysql-devel コマンドラインクライアントパッケージは AL2023 PHP プラットフォームにはインストールされません。アプリケーションで MySQL データベース接続が必要な場合は、両方のプラットフォームで使用できる PHP mysqliまたは pdo_mysql拡張機能を使用します。

    • Compass および Ruby ツール – Compass CSS フレームワークをサポートする ruby-develおよび rubygemsパッケージは、AL2023 PHP プラットフォームにはインストールされません。コンパスは廃止されました。最新の CSS 前処理ツールを代替手段として使用することを検討してください。

  • Go バージョン管理ツール – Bザラーバージョン管理システム (bzr) は AL2023 Go プラットフォームでは使用できません。バザールは廃止され、AL2023 パッケージリポジトリには含まれていません。バージョン管理には Git、Mercurial、または Subversion を使用します。これらはすべて AL2023 Go プラットフォームで利用できます。

Amazon Linux オペレーティングシステム間

Amazon Linux 2 および Amazon Linux 2023 オペレーティングシステム間の相違点の詳細については、「Amazon Linux 2023 ユーザーガイド」の「Amazon Linux 2 と Amazon Linux 2023 の比較」を参照してください。

Amazon Linux 2023 の詳細については、「Amazon Linux 2023 ユーザーガイド」の「Amazon Linux 2023 とは」を参照してください。

一般的な移行プロセス

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

移行テストの準備

アプリケーションをデプロイしてテストを開始する前に、前のセクション「相違点と互換性」の情報を確認してください。そのセクションに記載されているリファレンス、「Amazon Linux 2023 ユーザーガイド」の「Amazon Linux 2 と Amazon Linux 2023 の比較」も確認してください。このコンテンツのうち、ご使用のアプリケーションと設定のセットアップに当てはまる、または当てはまる可能性のある特定の情報を書き留めておいてください。

高レベル移行ステップ
  1. AL2023 プラットフォームブランチをベースにした新しい環境を作成します。

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

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

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

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

より詳細な移行手順とベストプラクティス

ブルー/グリーンデプロイ手順の詳細については、「Elastic Beanstalk を使用したブルー/グリーンデプロイ」を参照してください。

より具体的なガイダンスと詳細なベストプラクティス手順については、「Blue/Green method」を参照してください。

移行計画に役立つその他のリファレンス

以下のリファレンスには、移行を計画するための追加情報があります。