EKS AL2 AMI と AL2 高速化 AMI の移行機能ガイド - Amazon EKS

このページの改善にご協力ください

このユーザーガイドに貢献するには、すべてのページの右側のペインにある「GitHub でこのページを編集する」リンクを選択してください。

EKS AL2 AMI と AL2 高速化 AMI の移行機能ガイド

警告

Amazon EKS は、2025 年 11 月 26 日に、EKS 最適化 Amazon Linux 2 (AL2) AMI の公開を取り止めました。Amazon EKS 用の AL2023 および Bottlerocket ベースの AMI は、バージョン 1.33 以降をはじめサポート対象のすべての Kubernetes で使用できます。

AWS は、EKS AL2 最適化 AMI と AL2 高速化 AMI に対するサポートを、2025 年 11 月 26 日に終了します。お客様は、こちらのサポート終了 (EOS) の日付 (2025 年 11 月 26 日) 以降も EKS AL2 AMI をご使用いただけますが、EKS はこの日以降、新しい Kubernetes バージョンや AL2 AMI の更新 (マイナーリリース、パッチ、バグ修正を含む) をリリースすることはありません。当社はお客様に、Amazon Linux 2023 (AL2023) または Bottlerocket AMI へのアップグレードを推奨しています。

  • AL2023 では、事前設定済みのセキュリティポリシー、SELinux の Permissive モード、IMDSv2 専用モードのデフォルトでの有効化、起動時間の最適化、セキュリティとパフォーマンスを向上させるパッケージ管理の改良によって、OS レベルの直接アクセスや広範なノード変更など大幅なカスタマイズを必要とするインフラストラクチャに最適な、セキュリティの機能や設定をデフォルトで組み込んだ「セキュアバイデフォルト」のアプローチを実現しています。詳細については、「Amazon Linux 2023 に関するよくある質問」を参照するか、「Amazon Linux 2 から Amazon Linux 2023 にアップグレードする」にある詳細な移行ガイダンスを参照してください。

  • Bottlerocket は、ノードのカスタマイズを最小限に抑えたコンテナネイティブアプローチに最適な、専用のコンテナ最適化設計により、セキュリティの強化や起動時間の短縮、アタックサーフェスの縮小を実現して、効率の向上を可能にします。詳細については、「Bottlerocket に関するよくある質問」を参照するか、「最適化された Bottlerocket AMI を使用してノードを作成する」にある詳細な移行ガイダンスを参照してください。

または、EOS 日 (2025 年 11 月 26 日) までは、EKS に最適化されたカスタム Amazon Linux AMI の構築が可能です。また、Amazon Linux 2 の EOS 日 (2026 年 6 月 30 日) までは、Amazon Linux 2 ベースインスタンスを使用してカスタムの AMI を構築することができます。

移行とサポートに関するよくある質問

AL2 から AL2023 AMI に移行するにはどうすればよいですか?

詳細なアプリケーションワークロードテストと文書化されたロールバック手順を含む移行計画を作成、実装し、EKS の公式ドキュメントの「Amazon Linux 2 から Amazon Linux 2023 にアップグレードする」の手順に従うことが推奨されます。

EKS 最適化 AL2 AMI の EKS サポート終了 (EOS) 日以降に、カスタム AL2 AMI を構築することは可能ですか?

当社は、AL2023 または Bottlerocket 用として正式にサポートされ公開されている EKS 最適化 AMI に移行されることを推奨しますが、EKS AL2 最適化 AMI と AL2 高速化 AMI は、AL2 AMI の EOS 日 (2025 年 11 月 26 日) まで構築することが可能です。また、Amazon Linux 2 の EOS 日 (2026 年 6 月 30 日) までは、Amazon Linux 2 ベースインスタンスを使用してカスタムの AMI を構築することができます。カスタム EKS AL2 最適化 AMI および AL2 高速化 AMI の構築手順については、EKS 公式ドキュメント内の「カスタム Amazon Linux AMI を構築する」を参照してください。

EKS Kubernetes のバージョンサポートポリシーは、Amazon Linux ディストリビューションに適用されますか?

適用されません。EKS AL2 最適化 AMI と AL2 高速化 AMI の EOS 日は、EKS による Kubernetes バージョンの標準サポートおよび延長サポートのスケジュールとは無関係です。EKS の延長サポートをご利用いただいている場合でも、AL2023 または Bottlerocket への移行が必要になります。

cgroupv1 から cgroupv2 に変更すると、自分の移行にどのような影響が及びますか?

Kubernetes コミュニティは、cgroupv1 サポート (AL2 で使用) をメンテナンスモードに移行しました。つまり、今後は新機能は追加されず、重要なセキュリティ修正およびバグ修正のみが行われます。cgroupv2 を Kubernetes に導入するには、OS、カーネル、コンテナランタイム、Kubernetes コンポーネント間で互換性を確保する必要があります。そのためには、AL2023、Bottlerocket、Red Hat Enterprise Linux (RHEL) 9+、Ubuntu 22.04+、Debian 11+ など、cgroupv2 をデフォルトで有効にする Linux ディストリビューションが必要になります。これらのディストリビューションにはカーネルバージョン 5.8 以降が付属しています。こちらは Kubernetes で cgroupv2 をサポートするための最小要件です。詳細については「About cgroup v2」を参照してください。

カスタム AL2 AMI で Neuron が必要な場合、どうすればよいですか?

AL2 ベースの AMI では、完全に Neuron をベースとするアプリケーションをネイティブに実行することはできません。AL2 AMI で AWS Neuron を使用する場合は、Neuron がサポートしているコンテナを使って、非 AL2 Linux ディストリビューション (Ubuntu 22.04、Amazon Linux 2023 など) でアプリケーションをコンテナ化し、そのコンテナを Neuron ドライバー (aws-neuronx-dkms) がインストールされた AL2 ベースの AMI にデプロイする必要があります。

EKS AL2 AMI の EOS 日 (2025 年 11 月 26 日) 以降に、ベア Amazon Linux 2 ベースインスタンスに切り替える必要がありますか。

ベア Amazon Linux 2 ベースインスタンスに切り替えると、公式の EKS AL2 最適化 AMI および AL2 高速 AMI が提供する、特定の最適化、コンテナランタイム設定、カスタマイズが利用できません。そのため、AL2 ベースのソリューションを引き続き使用する必要がある場合は、「EKS に最適化されたカスタム Amazon Linux AMI の構築」または「Amazon EKS AMI Build Specification」にある EKS AMI レシピを使用して、カスタム AMI を構築することをお勧めします。これにより、既存のワークロードとの互換性が確保され、Amazon Linux 2 の EOS 日 (2026 年 6 月 30 日) まで AL2 カーネルの更新が含まれます。

EKS AL2 AMI の EOS 日 (2025 年 11 月 26 日) 以降に EKS AMI GitHub リポジトリを使用してカスタム AL2 AMI を構築する場合、amzn2-core や amzn2extra-docker などのリポジトリからのパッケージには、どのようなサポートが提供されますか。

Amazon EKS AMI Build Specification にある EKS AMI レシピは、amzn2-coreamzn2extra-docker などの標準的な Amazon Linux 2 ソフトウェアから、YUM 経由でパッケージを取得します。EKS AL2 AMI の EOS 日 (2025 年 11 月 26 日) 以降も、これらのソフトウェアは、Amazon Linux 2 の EOS 日 (2026 年 6 月 30 日) まで引き続きサポートされます。この期間中のサポートはカーネル更新に限定されるため、セキュリティと互換性を維持するには、その他のパッケージ更新、セキュリティパッチ、およびカーネル以外の依存関係を手動で管理し、適用する必要があります。

Amazon EKS で AL2023 を使用している環境において、JDK8 の古いバージョンを使用する Java アプリケーションが Out of Memory (OOM) 例外やポッドの再起動を経験するのはなぜですか。また、どのように解決できますか。

AL2023 を使用する Amazon EKS ノード上で実行する場合、jdk8u372 より前の JDK 8 バージョンに依存する Java アプリケーションでは、JVM が cgroupv2 と互換性がないため、OOM 例外やポッドの再起動が発生する可能性があります。この問題は、Amazon Linux 2023 のデフォルトである cgroupv2 を使用したコンテナのメモリ制限を、JVM が検出できないことに起因します。その結果、JVM は、ポッドで定義された制限ではなく、ノードの合計メモリに基づいてヒープ割り当てを行います。これは、cgroupv2 によってメモリ制限データの保存場所が変更されたことで、古い Java バージョンが使用可能なメモリを誤って読み取り、ノードレベルのリソースを前提としてしまうためです。考えられる対応策として、次のようなものがあります。

  • JDK バージョンのアップグレード: jdk8u372 以降、または cgroupv2 を完全にサポートする新しい JDK バージョンにアップグレードすることで、この問題を解決できます。cgroupv2 を完全にサポートする互換性のある Java バージョンのリストについては、「cgroup v2 について」を参照してください。

  • カスタム AMI の構築: AL2 ベースのソリューションを引き続き使用する必要がある場合は、「EKS に最適化されたカスタム Amazon Linux AMI の構築」または「Amazon EKS AMI Build Specification」を使用して、AL2 ベースのカスタム (2025 年 11 月 26 日まで) を構築できます。例えば、AL2 ベースの v1.33 AMI (2025 年 11 月 26 日まで) を構築できます。Amazon EKS は、EKS AL2 の EOS 日 (2025 年 11 月 26 日) まで AL2 ベースの AMI を提供します。EOS 日 (2025 年 11 月 26 日) 以降は、独自の AMI を構築する必要があります。

  • cgroupv1 の有効化: cgroupv1 を引き続き使用する必要がある場合は、EKS AL2023 AMI で cgroupv1 を有効にできます。有効にするには、sudo grubby --update-kernel=ALL --args="systemd.unified_cgroup_hierarchy=0" を実行し、システム (例えば、Amazon Linux 2023 を実行している EC2 インスタンスまたはノード) を再起動します。これにより、システムのブートパラメータが変更され (例えば、GRUB 設定にカーネルパラメータ「systemd.unified_cgroup_hierarchy=0」を追加して、systemd にレガシーの cgroupv1 階層を使用するように指示します)、cgroupv1 が有効になります。この grubby コマンドの実行により、カーネルは cgroupv1 を有効化し、cgroupv2 を無効化した状態で起動するよう再構成される点に注意してください。これらの cgroup バージョンのうち、ノードでアクティブなリソース管理に使用されるのはいずれか一方のみです。これは、cgroupv1 API に対する下位互換性を備えた cgroupv2 を実行することとは異なります。

警告

引き続き cgroupv1 を使用することはお勧めしません。代わりに、cgroupv2 に移行することをお勧めします。Kubernetes コミュニティは、cgroupv1 サポート (AL2 で使用) をメンテナンスモードに移行しました。つまり、今後は新機能や更新は追加されず、重要なセキュリティ修正およびバグ修正のみが行われます。cgroupv1 サポートの完全な削除は今後のリリースで予定されていますが、この完全削除の具体的な日付はまだ発表されていません。cgroupv1 で問題が発生した場合、AWS はサポートを提供できないため、cgroupv2 にアップグレードすることをお勧めします。

互換性とバージョン

AL2 AMI でサポートされている Kubernetes バージョン

Kubernetes バージョン 1.32 は Amazon EKS が Amazon Linux 2 (AL2) AMI をリリースする最後のバージョンです。サポートされている 1.32 までの Kubernetes バージョンに対して、EKS は、2025 年 11 月 26 日まで AL2 AMI (AL2_ARM_64、AL2_x86_64) と AL2 高速化 AMI (AL2_x86_64_GPU) をリリースします。この日を過ぎると、EKS はすべての Kubernetes バージョンで AL2 最適化 AMI と AL2 高速化 AMI のリリースを停止します。EKS AL2 最適化 AMI と AL2 高速化 AMI の EOS 日は、EKS による Kubernetes バージョンの標準サポートおよび延長サポートのスケジュールとは無関係ですのでご注意ください。

AL2、AL2023、Bottlerocket AMI でサポートされているドライバーと Linux カーネルバージョンの比較

コンポーネント EKS AL2 AMI EKS AL2023 AMI EKS Bottlerocket AMI

基本 OS の互換性

RHEL7/CentOS 7

Fedora/CentOS 9

該当なし

CUDA ユーザーモードドライバー

12.x

12.x、13.x

12.x、13.x

NVIDIA GPU ドライバー

R570

R580

R570、R580

AWS Neuron ドライバー

2.20 以降

2.20 以降

2.20 以降

Linux Kernel

5.10

6.1、6.12

6.1、6.12

NVIDIA ドライバーと CUDA の互換性の詳細については、NVIDIA ドキュメントを参照してください。

AL2 AMI と AWS Neuron の互換性

AWS Neuron の 2.20 のリリース以降は、EKS AL ベースの AMI で使用される Neuron ランタイム (aws-neuronx-runtime-lib) では、Amazon Linux 2 (AL2) がサポートされなくなります。現在、Amazon Linux 2 をサポートしている AWS Neuron パッケージは、Neuron ドライバー (aws-neuronx-dkms) のみです。したがって、AL2 ベースの AMI では、Neuron をベースとするアプリケーションをネイティブに実行することはできません。AL2023 AMI で Neuron をセットアップする方法については、「AWS Neuron Setup」のガイドを参照してください。

Kubernetes と AL2 AMI の互換性

Kubernetes コミュニティは、cgroupv1 サポート (AL2 で使用) をメンテナンスモードに移行しました。つまり、今後は新機能は追加されず、重要なセキュリティ修正およびバグ修正のみが行われます。cgroupv2 に依存する Kubernetes の機能 (MemoryQoS や拡張リソース分離など) は、AL2 では使用することができません。さらに、Amazon EKS Kubernetes バージョン 1.32 は、AL2 AMI をサポートする最後のバージョンとなります。最新の Kubernetes バージョンとの互換性を維持するため、当社は AL2023 または Bottlerocket への移行を推奨しています。これらは cgroupv2 がデフォルトで有効になります。

Linux バージョンと AL2 AMI の互換性

Amazon Linux 2 (AL2) は、2026 年 6 月 30 日のサポート終了 (EOS) 日まで AWS でサポートされます。ただし、AL2 はリリースから長い時間が経過しているため、新しいアプリケーションや機能に対する、より広範な Linux コミュニティによるサポートは、ますます制限されています。AL2 AMI は Linux カーネル 5.10 をベースにしており、一方の AL2023 は Linux カーネル 6.1 を使用しています。AL2023 と異なり、AL2 はより広範な Linux コミュニティからのサポートが、制限されています。つまり、AL2 の古いカーネルバージョンと連携するには、アップストリームの多くの Linux パッケージやツールをバックポートする必要があります。最新の Linux 機能やセキュリティ強化機能の中には、カーネルが古いために使用できないものがあり、オープンソースのプロジェクトの多くが、5.10 などの古いカーネルバージョンのサポートを廃止するか制限しています。

AL2023 に含まれていない非推奨パッケージ

AL2023 に含まれていない、または AL2023 で変更された最も一般的なパッケージには、次のようなものがあります。

詳細については、「AL2 と AL2023 の比較」を参照してください。

AL2、AL2023、Bottlerocket 間の FIPS 検証の比較

Amazon Linux 2 (AL2)、Amazon Linux 2023 (AL2023)、Bottlerocket は、連邦情報処理標準 (FIPS) 適合性をサポートしています。

  • AL2 は FIPS 140-2 に基づいて認定され、AL2023 は FIPS 140-3 に基づいて認定されています。AL2023 で FIPS モードを有効にするには、Amazon EC2 インスタンスに必要なパッケージをインストールし、「Enable FIPS Mode on AL2023」に記載された手順に従って設定を行います。詳細については、「Amazon Linux 2023 に関するよくある質問」を参照してください。

  • Bottlerocket は、カーネルとユーザースペースのコンポーネントを、FIPS 140-3 Cryptographic Module Validation Program (暗号モジュール試験及び認証制度) に送信された暗号モジュールの使用に制限する、FIPS 専用のバリアントを提供します。

EKS AMI ドライバーとバージョンの変更ログ

EKS AMI のコンポーネントとそのバージョンのリストの完全版は、GitHub の「Amazon EKS AMI Release Notes」を参照してください。