

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

# AL2 でのカーネルライブパッチ適用
<a name="al2-live-patching"></a>

**重要**  
Amazon Linux は、AL2 カーネル 4.14 のライブパッチ適用を 2025-10-31 に終了します。お客様は、AL2 のデフォルトカーネルとしてカーネル 5.10 を使用するか ([AL2 でサポートされているカーネルを参照](https://docs.aws.amazon.com/linux/al2/ug/aml2-kernel.html))、カーネル 6.1 および 6.12 を使用して AL2023 に移行することをお勧めします。  
Amazon Linux は、2026-06-30 に AL2 の有効期限が切れるまで、AL2 カーネル 5.10 のライブパッチを提供します。

Kernel Live Patching for AL2 を使用すると、実行中のアプリケーションを再起動または中断することなく、実行中の Linux カーネルに特定のセキュリティ脆弱性と重大なバグパッチを適用できます。これにより、システムを再起動するまでこれらの修正を適用しながら、サービスとアプリケーションの可用性を向上させることができます。

AL2023 のカーネルライブパッチの詳細については、Amazon Linux 2[AL2023の「AL2023 でのカーネルライブパッチ](https://docs.aws.amazon.com/linux/al2023/ug/live-patching.html)」を参照してください。 **

AWS は、AL2 用の 2 種類のカーネルライブパッチをリリースします。
+ **セキュリティ更新** – Linux の共通脆弱性とエクスポージャー (CVE) の更新プログラムが含まれます。これらの更新プログラムは、通常、Amazon Linux Security Advisory の評価で *Important* または *Critical* と評価されます。これらは、通常、共通脆弱性評価システム (CVSS) の 7 以上のスコアに該当します。場合によっては、CVE が割り当てられる前に更新を提供する AWS ことがあります。そのような場合、パッチはバグ修正プログラムとして提供される場合があります。
+ **[Bug fixes]** (バグ修正) – CVE に関連付けられていない重大なバグや安定性の問題の修正プログラムが含まれます。

AWS は、AL2 カーネルバージョンのカーネルライブパッチをリリース後最大 3 か月間提供します。3 か月が過ぎた後にカーネルライブパッチを引き続き入手するには、新しいカーネルバージョンに更新する必要があります。

AL2 カーネルライブパッチは、既存の AL2 リポジトリで署名付き RPM パッケージとして利用できます。パッチは、既存の **yum** ワークフローを使用して個々のインスタンスにインストールすることも、 AWS Systems Manager を使用してマネージドインスタンスのグループにインストールすることもできます。

AL2 でのカーネルライブパッチは追加料金なしで提供されます。

**Topics**
+ [サポートされている構成と前提条件](#al2-live-patching-prereq)
+ [カーネルライブパッチを使用する](#working-with-live-patching)
+ [制限事項](#al2-live-patching-limitations)
+ [よくある質問](#al2-live-patching-faq)

## サポートされている構成と前提条件
<a name="al2-live-patching-prereq"></a>

カーネルライブパッチは、Amazon EC2 インスタンスおよび [AL2 を実行しているオンプレミス仮想マシン](amazon-linux-2-virtual-machine.md)でサポートされています。 AL2

AL2 でカーネルライブパッチを使用するには、以下を使用する必要があります。
+ `x86_64` アーキテクチャのカーネルバージョン `4.14` または `5.10`
+ `ARM64` アーキテクチャのカーネルバージョン `5.10`

**ポリシーの要件**

<a name="aml-live-patching"></a>Amazon Linux リポジトリからパッケージをダウンロードするには、Amazon EC2 がサービス所有の Amazon S3 バケットにアクセスする必要があります。環境で Amazon S3 用に Amazon Virtual Private Cloud (VPC) エンドポイントを使用している場合、VPC エンドポイントポリシーがそれらのパブリックバケットへのアクセスを許可しているようにする必要があります。

この表は、EC2 が Kernel Live Patching のためにアクセスする必要がある可能性がある各 Amazon S3 バケットを示しています。


| S3 バケット ARN | 説明 | 
| --- | --- | 
|  arn:aws:s3:::packages.{{region}}.amazonaws.com/\*  | Amazon Linux AMI パッケージを含む Amazon S3 バケット  | 
|  arn:aws:s3:::repo.{{region}}.amazonaws.com/\*  | Amazon Linux AMI リポジトリを含む Amazon S3 バケット | 
|  arn:aws:s3:::amazonlinux.{{region}}.amazonaws.com/\*  | AL2 リポジトリを含む Amazon S3 バケット | 
|  arn:aws:s3:::amazonlinux-2-repos-{{region}}/\*  | AL2 リポジトリを含む Amazon S3 バケット  | <a name="s3_live_patch_permissions"></a>

次のポリシーは、組織に属する ID とリソースへのアクセスを制限し、Kernel Live Patching に必要な Amazon S3 バケットへのアクセスを提供する方法を示しています。{{region}}、{{principal-org-id}}、{{resource-org-id}} を組織の値に置き換えます。

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "AllowRequestsByOrgsIdentitiesToOrgsResources",
      "Effect": "Allow",
      "Principal": {
        "AWS": "*"
      },
      "Action": "*",
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "aws:PrincipalOrgID": "{{principal-org-id}}",
          "aws:ResourceOrgID": "{{resource-org-id}}"
        }
      }
    },
    {
      "Sid": "AllowAccessToAmazonLinuxAMIRepositories",
      "Effect": "Allow",
      "Principal": {
        "AWS": "*"
      },
      "Action": [
        "s3:GetObject"
      ],
      "Resource": [
        "arn:aws:s3:::packages.{{region}}.amazonaws.com/*",
        "arn:aws:s3:::repo.{{region}}.amazonaws.com/*",
        "arn:aws:s3:::amazonlinux.{{region}}.amazonaws.com/*",
        "arn:aws:s3:::amazonlinux-2-repos-{{region}}/*"
      ]
    }
  ]
}
```

------

## カーネルライブパッチを使用する
<a name="working-with-live-patching"></a>

インスタンス自体のコマンドラインを使用して、個々のインスタンスでカーネルライブパッチを有効にして使用したり、 AWS Systems Manager を使用してマネージドインスタンスのグループでカーネルライブパッチを有効にして使用したりできます。

以下のセクションでは、コマンドラインを使用して、カーネルライブパッチを有効にして個別のインスタンスで使用する方法について説明します。

マネージドインスタンスのグループでのカーネルライブパッチの有効化と使用の詳細については、 *AWS Systems Manager ユーザーガイド*の[AL2 インスタンスでのカーネルライブパッチの使用](https://docs.aws.amazon.com/systems-manager/latest/userguide/kernel-live-patching.html)」を参照してください。

**Topics**
+ [カーネルライブパッチの有効化](#al2-live-patching-enable)
+ [利用可能なカーネルライブパッチを表示する](#al2-live-patching-view-available)
+ [カーネルライブパッチの適用](#al2-live-patching-apply)
+ [適用されたカーネルライブパッチの表示](#al2-live-patching-view)
+ [カーネルライブパッチの無効化](#al2-live-patching-disable)

### カーネルライブパッチの有効化
<a name="al2-live-patching-enable"></a>

カーネルライブパッチは、AL2 ではデフォルトで無効になっています。ライブパッチを使用するには、カーネルライブパッチの **yum** プラグインをインストールして、ライブパッチ機能を有効にする必要があります。

**前提条件**  
カーネルライブパッチには `binutils` が必要です。`binutils` がインストールされていない場合は、以下のコマンドを使用してインストールします。

```
$ sudo yum install binutils
```

**カーネルライブパッチを有効にするには**

1. カーネルライブパッチは、次の AL2 カーネルバージョンで使用できます。
   + `x86_64` アーキテクチャのカーネルバージョン `4.14` または `5.10`
   + `ARM64` アーキテクチャのカーネルバージョン `5.10`

   カーネルバージョンを確認するには、次のコマンドを実行します。

   ```
   $ sudo yum list kernel
   ```

1. サポートされているカーネルバージョンが既にある場合は、この手順はスキップしてください。サポートされているカーネルバージョンがない場合は、次のコマンドを実行して、カーネルを最新バージョンに更新し、インスタンスを再起動します。

   ```
   $ sudo yum install -y kernel
   ```

   ```
   $ sudo reboot
   ```

1. カーネルライブパッチの **yum** プラグインをインストールします。

   ```
   $ sudo yum install -y yum-plugin-kernel-livepatch
   ```

1. カーネルライブパッチの **yum** プラグインを有効にします。

   ```
   $ sudo yum kernel-livepatch enable -y
   ```

   このコマンドは、設定されているリポジトリから最新バージョンのカーネルライブパッチの RPM もインストールします。

1. カーネルライブパッチの **yum** プラグインが正常にインストールされたことを確認するには、次のコマンドを実行します。

   ```
   $ rpm -qa | grep kernel-livepatch
   ```

   カーネルライブパッチを有効にすると、空のカーネルライブパッチの RPM が自動的に適用されます。カーネルライブパッチが正常に有効になっていれば、このコマンドは最初の空のカーネルライブパッチの RPM を含むリストを返します。以下は出力の例です。

   ```
   yum-plugin-kernel-livepatch-1.0-0.11.amzn2.noarch
   kernel-livepatch-5.10.102-99.473-1.0-0.amzn2.x86_64
   ```

1. **kpatch** パッケージをインストールします。

   ```
   $ sudo yum install -y kpatch-runtime
   ```

1. 既にインストール済みの場合は、**kpatch** サービスを更新します。

   ```
   $ sudo yum update kpatch-runtime
   ```

1. **kpatch** サービスを起動します。このサービスは、初期化時または起動時にすべてのカーネルライブパッチをロードします。

   ```
   $ sudo systemctl enable kpatch.service && sudo systemctl start kpatch.service
   ```

1. AL2 Extras Library でカーネルライブパッチトピックを有効にします。このトピックには、カーネルライブパッチが含まれています。

   ```
   $ sudo amazon-linux-extras enable livepatch
   ```

### 利用可能なカーネルライブパッチを表示する
<a name="al2-live-patching-view-available"></a>

Amazon Linux のセキュリティアラートは、Amazon Linux Security Center に公開されます。カーネルライブパッチのアラートを含む AL2 セキュリティアラートの詳細については、[Amazon Linux セキュリティセンター](https://alas.aws.amazon.com/alas2.html)を参照してください。カーネルライブパッチには、`ALASLIVEPATCH` というプレフィクスが付きます。Amazon Linux Security Center では、バグに対応するカーネルライブパッチは一覧に表示されていない場合があります。

アドバイザリおよび CVE に対する利用可能なカーネルライブパッチは、コマンドラインを使用して見つけることもできます。

**アドバイザリに対する利用可能なすべてのカーネルライブパッチを一覧表示するには**  
次のコマンドを使用します。

```
$ yum updateinfo list
```

出力例を次に示します。

```
Loaded plugins: extras_suggestions, kernel-livepatch, langpacks, priorities, update-motd
ALAS2LIVEPATCH-2020-002 important/Sec. kernel-livepatch-5.10.102-99.473-1.0-3.amzn2.x86_64
ALAS2LIVEPATCH-2020-005 medium/Sec. kernel-livepatch-5.10.102-99.473-1.0-4.amzn2.x86_64
updateinfo list done
```

**CVE に対する利用可能なすべてのカーネルライブパッチを一覧表示するには**  
次のコマンドを使用します。

```
$ yum updateinfo list cves
```

出力例を次に示します。

```
Loaded plugins: extras_suggestions, kernel-livepatch, langpacks, priorities, update-motdamzn2-core/2/x86_64 | 2.4 kB 00:00:00 
CVE-2019-15918 important/Sec. kernel-livepatch-5.10.102-99.473-1.0-3.amzn2.x86_64
CVE-2019-20096 important/Sec. kernel-livepatch-5.10.102-99.473-1.0-3.amzn2.x86_64
CVE-2020-8648 medium/Sec. kernel-livepatch-5.10.102-99.473-1.0-4.amzn2.x86_64
updateinfo list done
```

### カーネルライブパッチの適用
<a name="al2-live-patching-apply"></a>

カーネルライブパッチは、**yum** パッケージマネージャーを使用して、通常の更新プログラムを適用するのと同じ方法で適用します。カーネルライブパッチ用の **yum** プラグインは、適用可能なカーネルライブパッチを管理します。

**ヒント**  
システムを再起動できるようになるまで、重要かつ重大なセキュリティ修正を確実に適用するために、カーネルライブパッチを利用してカーネルを定期的に更新することをお勧めします。ライブパッチとしてデプロイ追加の修正がネイティブのカーネルパッケージに含まれているかどうかも確認し、その場合はカーネルを[更新および再起動](https://docs.aws.amazon.com/linux/al2/ug/install-updates.html)してください。

特定のカーネルライブパッチを適用するか、利用可能なカーネルライブパッチを定期的なセキュリティ更新プログラムと一緒に適用するかを選択できます。

**特定のカーネルライブパッチを適用するには**

1. 「[利用可能なカーネルライブパッチを表示する](#al2-live-patching-view-available)」で説明されているコマンドのいずれかを使用して、カーネルライブパッチのバージョンを取得します。

1. AL2 カーネルにカーネルライブパッチを適用します。

   ```
   $ sudo yum install kernel-livepatch-{{kernel_version}}.x86_64
   ```

   たとえば、次のコマンドは AL2 カーネルバージョン のカーネルライブパッチを適用します`5.10.102-99.473`。

   ```
   $ sudo yum install kernel-livepatch-5.10.102-99.473-1.0-4.amzn2.x86_64
   ```

**利用可能なカーネルライブパッチを定期的なセキュリティ更新プログラムと一緒に適用する方法**  
次のコマンドを使用します。

```
$ sudo yum update --security
```

バグ修正プログラムを含めるには、`--security` オプションを省略します。

**重要**  
カーネルライブパッチを適用しても、カーネルバージョンは更新されません。バージョンは、インスタンスを再起動した後でのみ新しいバージョンに更新されます。
AL2 カーネルは、カーネルライブパッチを 3 か月間受け取ります。3 か月が過ぎると、そのカーネルバージョンの新しいカーネルライブパッチはリリースされなくなります。3 か月が過ぎた後にカーネルライブパッチを引き続き入手するには、インスタンスを再起動して新しいカーネルバージョンに移行する必要があります。これにより、次の 3 か月も引き続きカーネルライブパッチを入手することができます。お使いのカーネルバージョンのサポート期間を確認するには、`yum kernel-livepatch supported` を実行します。

### 適用されたカーネルライブパッチの表示
<a name="al2-live-patching-view"></a>

**適用されたカーネルライブパッチを表示するには**  
次のコマンドを使用します。

```
$ kpatch list
```

このコマンドは、ロードおよびインストールされたセキュリティ更新プログラムのカーネルライブパッチのリストを返します。出力例を次に示します。

```
Loaded patch modules:
livepatch_cifs_lease_buffer_len [enabled]
livepatch_CVE_2019_20096 [enabled]
livepatch_CVE_2020_8648 [enabled]
	
Installed patch modules:
livepatch_cifs_lease_buffer_len (5.10.102-99.473.amzn2.x86_64)
livepatch_CVE_2019_20096 (5.10.102-99.473.amzn2.x86_64)
livepatch_CVE_2020_8648 (5.10.102-99.473.amzn2.x86_64)
```

**注記**  
1 つのカーネルライブパッチには、複数のライブパッチが含まれていてインストールされる場合があります。

### カーネルライブパッチの無効化
<a name="al2-live-patching-disable"></a>

カーネルライブパッチを使用する必要がなくなった場合は、いつでも無効にできます。

**カーネルライブパッチを無効にするには**

1. 適用されたカーネルライブパッチの RPM パッケージを削除します。

   ```
   $ sudo yum kernel-livepatch disable
   ```

1. カーネルライブパッチの **yum** プラグインをアンインストールします。

   ```
   $ sudo yum remove yum-plugin-kernel-livepatch
   ```

1. インスタンスを再起動します。

   ```
   $ sudo reboot
   ```

## 制限事項
<a name="al2-live-patching-limitations"></a>

カーネルライブパッチには以下の制限があります。
+ カーネルライブパッチの適用中は、休止を実行したり、高度なデバッグツール (SystemTap、kprobes、eBPF ベースのツールなど) を使用したり、カーネルライブパッチを適用したインフラストラクチャで使用されている ftrace の出力ファイルにアクセスしたりすることはできません。
+ 
**注記**  
技術的な制限により、ライブパッチの適用では一部の問題に対処できません。このため、これらの修正はカーネルライブパッチパッケージに含まれず、ネイティブカーネルパッケージの更新でのみ提供されます。ネイティブカーネルパッケージ[の更新をインストールし、システムを再起動](https://docs.aws.amazon.com/linux/al2/ug/install-updates.html)して、通常どおりパッチをアクティブ化できます。

## よくある質問
<a name="al2-live-patching-faq"></a>

AL2 のカーネルライブパッチに関するよくある質問については、[Amazon Linux 2 カーネルライブパッチに関するよくある質問](https://aws.amazon.com//amazon-linux-2/faqs/)を参照してください。