View a markdown version of this page

AL2023 での Linux カーネルの更新 - Amazon Linux 2023

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

AL2023 での Linux カーネルの更新

重要

2026 年 8 月 17 日以降、AL2023 のデフォルトカーネルは 6.1 から 6.18 に変更されます。AMI al2023-ami-kernel-default から起動された新しいインスタンスは、カーネル 6.18 を起動します。 AMIs すでに実行中のインスタンスは影響を受けず、起動したカーネルが保持されます。特定のカーネルバージョンを維持するには、 などのバージョン固有の AMIs から を起動しますal2023-ami-kernel-6.1

FIPS ワークロードの場合、デフォルトのカーネルが常に FIPS 検証済みカーネルであるとは限りません。FIPS モードが必要な場合は、 AWS ウェブサイトの AL2023 FIPS に関するよくある質問を参照してください。

AL2023 での Linux カーネルバージョン

AL2023 では、Linux カーネルの長期サポート (LTS) バージョンに基づいて新しいカーネルバージョンが定期的に提供されます。

AL2023 は、もともとカーネル 6.1 で 2023 年 3 月にリリースされました。

2025 年 4 月、AL2023 に Linux カーネル 6.12 のサポートが追加されました。このカーネルでは、EEVDF スケジューリング、FUSE パススルー I/O サポート、新しい Futex API、拡張 eBPF などの新機能が追加されました。また、ユーザースペースのプログラムが、ランタイムにユーザースペースのシャドウスタックとメモリシーリングを用いて自身を保護することも可能になりました。

2026 年 3 月、AL2023 は Linux カーネル 6.18 のサポートを追加しました。更新されたカーネル 6.18 では、プロセッサのサポート、仮想化、セキュリティ、パフォーマンスがさらに向上しました。注目すべき機能には、アーキテクチャ間の IOMMU 機能の改善や、CPU 脆弱性の軽減を管理するための攻撃ベクトル制御などがあります。パフォーマンスの強化は、より高速な FSCRYPT オペレーションによる暗号化の最適化、メモリ管理の改善、新しいオプトイン、CPU ごとの配列ベースのキャッシュレイヤーとしての Sheaves の導入によって実現されます。

AL2023 を新しいカーネルバージョンに更新する

AL2023 は、デフォルトのカーネルを毎年最新バージョンに更新するようになりました。AMIs al2023-ami-kernel-default は最新の LTS カーネルに移行します。新しく起動されたインスタンスは、新しいカーネルバージョンを自動的に使用します。これは、最新のセキュリティ修正とパフォーマンスの向上を最新の状態に保つ最も簡単な方法です。

以前のカーネルバージョンのままにするか、特定のバージョンを選択する場合は、目的のカーネルがプリインストールされた AMI を選択するか、既存の AL2023 EC2 インスタンスをアップグレードすることで、カーネル 6.1、6.12、または 6.18 で AL2023 を実行できます。AL2023 カーネルのサポートウィンドウと範囲の詳細については、AL2023 カーネルのライフサイクルを参照してください。

特定のカーネルバージョンで AL2023 AMI を実行する

AWS コンソールを介して、または特定のパラメータを SSM にクエリすることで、特定のカーネルがプリインストールされた AL2023 AMI を実行するように選択できます。クエリを実行する SSM キーは /aws/service/ami-amazon-linux-latest/ で始まり、その後に次のいずれかが続きます。

カーネル 6.18 の場合

  • arm64 アーキテクチャの al2023-ami-kernel-6.18-arm64

  • arm64 アーキテクチャ用 (最小 AMI) の al2023-ami-minimal-kernel-6.18-arm64

  • x86_64 アーキテクチャの al2023-ami-kernel-6.18-x86_64

  • x86_64 アーキテクチャ (最小 AMI) の al2023-ami-minimal-kernel-6.18-x86_64

カーネル 6.12 の場合

  • arm64 アーキテクチャの al2023-ami-kernel-6.12-arm64

  • arm64 アーキテクチャ用 (最小 AMI) の al2023-ami-minimal-kernel-6.12-arm64

  • x86_64 アーキテクチャの al2023-ami-kernel-6.12-x86_64

  • x86_64 アーキテクチャ (最小 AMI) の al2023-ami-minimal-kernel-6.12-x86_64

カーネル 6.1 の場合

  • arm64 アーキテクチャの al2023-ami-kernel-6.1-arm64

  • arm64 アーキテクチャ用 (最小 AMI) の al2023-ami-minimal-kernel-6.1-arm64

  • x86_64 アーキテクチャの al2023-ami-kernel-6.1-x86_64

  • x86_64 アーキテクチャ (最小 AMI) の al2023-ami-minimal-kernel-6.1-x86_64

AL2023 AMI の選択の詳細については、「SSM パラメータと を使用して AL2023 を起動する AWS CLI」を参照してください。

AL2023 インスタンスを新しいカーネルに更新する

以下の手順に従って、実行中の AL2023 インスタンスをカーネル 6.1 または 6.12 からカーネル 6.18 にインプレースアップグレードできます。

  1. 現在のカーネルを検出し、ターゲットバージョンを設定します。

    # Automatically detect current kernel version BEFORE upgrade $ CURRENT_KERNEL=$(uname -r) $ SOURCE_VERSION="" $ if [[ $CURRENT_KERNEL == *"6.12"* ]]; then SOURCE_VERSION="6.12" else SOURCE_VERSION="" fi # Save the source version to a persistent location for use after reboot $ echo "${SOURCE_VERSION}" | sudo tee /var/lib/source_kernel_version > /dev/null
    # Set your target version $ TARGET_VERSION="6.18"
    $ echo "Current kernel: ${SOURCE_VERSION:-6.1}" $ echo "Upgrading to kernel ${TARGET_VERSION}"
  2. ターゲットカーネルパッケージをインストールします。

    $ sudo dnf install -y kernel${TARGET_VERSION}
  3. ターゲットカーネルパッケージの最新バージョンを取得します。

    $ version=$(rpm -q --qf '%{version}-%{release}.%{arch}\n' kernel${TARGET_VERSION} | sort -V | tail -1)
  4. 新しいカーネルをデフォルトのカーネルにします。

    $ sudo grubby --set-default "/boot/vmlinuz-$version"
  5. システムを再起動します。

    $ sudo reboot
  6. 前のカーネルをアンインストールします。

    # Read the source kernel version from the saved file $ SOURCE_VERSION=$(sudo cat /var/lib/source_kernel_version) # Uninstall the source kernel $ sudo dnf remove -y kernel${SOURCE_VERSION}
  7. 追加のカーネルパッケージをターゲットカーネルに相当するものに置き換えます。

    # Set your target version $ TARGET_VERSION="6.18"
    $ for pkg in bpftool kernel-debuginfo kernel-debuginfo-common kernel-headers \ kernel-modules-extra-common perf python3-perf; do case "$pkg" in kernel-*) src="kernel${SOURCE_VERSION}${pkg#kernel}" tgt="kernel${TARGET_VERSION}${pkg#kernel}" ;; *) src="${pkg}${SOURCE_VERSION}" tgt="${pkg}${TARGET_VERSION}" ;; esac rpm -q "$src" && sudo dnf -y swap "$src" "$tgt" done # kernel-tools and kernel-tools-devel must be removed and reinstalled # together due to version dependency requirements $ if rpm -q "kernel${SOURCE_VERSION}-tools"; then sudo dnf -y remove kernel${SOURCE_VERSION}-tools kernel${SOURCE_VERSION}-tools-devel sudo dnf -y install kernel${TARGET_VERSION}-tools kernel${TARGET_VERSION}-tools-devel fi
  8. (オプション) 以前のカーネルバージョンの kernel-devel をアンインストールします。

    $ rpm -q kernel${SOURCE_VERSION}-devel && sudo dnf remove -y kernel${SOURCE_VERSION}-devel

以前のカーネルバージョンへのダウングレード

任意の時点で以前のカーネルバージョンにダウングレードする必要がある場合は、次の手順を実行します。

  1. 現在のカーネルを検出し、ターゲットバージョンを設定します。

    # Automatically detect current kernel version BEFORE downgrade $ CURRENT_KERNEL=$(uname -r) $ SOURCE_VERSION="" $ if [[ $CURRENT_KERNEL == *"6.12"* ]]; then SOURCE_VERSION="6.12" elif [[ $CURRENT_KERNEL == *"6.18"* ]]; then SOURCE_VERSION="6.18" fi # Save the source version to a persistent location for use after reboot $ echo "${SOURCE_VERSION}" | sudo tee /var/lib/source_kernel_version > /dev/null
    # Set your target version (change this to your desired kernel) # Use "" for kernel 6.1, "6.12" for kernel 6.12 $ TARGET_VERSION=""
    $ echo "Downgrading from kernel ${SOURCE_VERSION:-6.1} to kernel ${TARGET_VERSION:-6.1}"
  2. 追加のカーネルパッケージをターゲットカーネルに相当するものに置き換えます。

    $ for pkg in bpftool kernel-debuginfo kernel-debuginfo-common kernel-headers \ kernel-modules-extra-common python3-perf; do case "$pkg" in kernel-*) src="kernel${SOURCE_VERSION}${pkg#kernel}" tgt="kernel${TARGET_VERSION}${pkg#kernel}" ;; *) src="${pkg}${SOURCE_VERSION}" tgt="${pkg}${TARGET_VERSION}" ;; esac rpm -q "$src" && sudo dnf -y swap "$src" "$tgt" done # perf requires --allowerasing due to libtraceevent conflicts $ rpm -q "perf${SOURCE_VERSION}" && sudo dnf -y swap "perf${SOURCE_VERSION}" "perf${TARGET_VERSION}" --allowerasing # kernel-tools and kernel-tools-devel must be removed and reinstalled # together due to version dependency requirements $ if rpm -q "kernel${SOURCE_VERSION}-tools"; then sudo dnf -y remove kernel${SOURCE_VERSION}-tools kernel${SOURCE_VERSION}-tools-devel sudo dnf -y install kernel${TARGET_VERSION}-tools kernel${TARGET_VERSION}-tools-devel fi
  3. ターゲットカーネルパッケージをインストールします。

    $ sudo dnf install -y kernel${TARGET_VERSION}
  4. ターゲットカーネルパッケージの最新バージョンを取得します。

    $ version=$(rpm -q --qf '%{version}-%{release}.%{arch}\n' kernel${TARGET_VERSION} | sort -V | tail -1)
  5. ターゲットカーネルをデフォルトのカーネルにします。

    $ sudo grubby --set-default "/boot/vmlinuz-$version"
  6. システムを再起動します。

    $ sudo reboot
  7. ソースカーネルをアンインストールします。

    # Read the source kernel version from the saved file $ SOURCE_VERSION=$(sudo cat /var/lib/source_kernel_version) # Uninstall the source kernel $ sudo dnf remove -y kernel${SOURCE_VERSION}

AL2023 カーネル - よくある質問

1. カーネルの更新後には再起動が必要ですか?

実行中のカーネルに変更を加えた場合は必ず再起動が必要です。

2. 複数のインスタンスでカーネルを最新の状態に保つにはどうすればよいですか?

Amazon Linux には、インスタンスのフリートを管理する機能はありません。AWS Systems Manager などのツールを使用して、大規模なフリートにパッチを適用することをお勧めします。

3. 現在実行しているカーネルのバージョンを確認するにはどうすればよいですか?

AL2023 インスタンスで次のコマンドを実行します。

$ uname -r

4. AL2023 ではどのカーネルを使用することをお勧めしますか?

他のすべての AL2023 カーネルは引き続きサポートされていますが、最新の AL2023 カーネル 6.18 にアップグレードすることをお勧めします。アップグレードする前にワークロードをテストします。

5. 既存のアプリケーションは AL2023 カーネルで動作しますか?

はい。AL2023 は、同じユーザースペースパッケージと互換性を持つ使用可能なすべてのカーネル (6.1、6.12、および 6.18) をサポートしています。新しいカーネルに切り替える前に、ワークロードをテストすることをお勧めします。

6. カーネル 6.12 または 6.18 のカーネルヘッダー、開発パッケージ、および追加モジュールをインストールするにはどうすればよいですか?

以下を実行してください。

$ version=$(uname -r | grep -oP '^\d+\.\d+') $ sudo dnf install -y kernel${version}-modules-extra-$(uname -r) kernel${version}-headers-$(uname -r) kernel${version}-devel-$(uname -r)

7. AL2023 カーネルはどのくらいの期間サポートされますか?

サポートされているすべてのカーネル (6.1、6.12、および 6.18) は、定義された AL2023 カーネルライフサイクルに従って、引き続きセキュリティとメンテナンスの更新を受け取ります。

8. デフォルトのカーネルが変更されるとどうなりますか?

SSM al2023-ami-kernel-default-* パラメータは、最新のカーネルバージョンを実行する AMI に解決されます。既に実行中のインスタンスは影響を受けません。デフォルトの AMI から起動された新しいインスタンスのみが新しいカーネルを起動します。特定のカーネルバージョンを維持するには、デフォルトal2023-ami-kernel-6.1-*の代わりに などのバージョン固有の SSM パラメータを使用します。詳細については、「SSM パラメータと を使用して AL2023 を起動する AWS CLI」を参照してください。

9. FIPS 検証済み暗号化が必要な場合は、どのカーネルを使用する必要がありますか?

現在、カーネル 6.1 の暗号化のみが FIPS 140-3 検証を完了しています (NIST 暗号化モジュール検証プログラムウェブサイトの証明書 #5369)。カーネル 6.12 および 6.18 で使用される暗号化は、FIPS 検証プロセスを進めています。FIPS オペレーションに適したカーネルを選択する方法については、組織のセキュリティチームにお問い合わせください。現在の検証ステータスとガイダンスについては、 AWS ウェブサイトの AL2023 FIPS に関するよくある質問を参照してください。