Amazon Linux 2 マネージドノードで Kernel Live Patching を使用
Amazon Linux 2 の Kernel Live Patching により、実行中のアプリケーションを再起動や中断せずに、実行中の Linux カーネルにセキュリティの脆弱性や重大なバグのパッチを適用できます。これにより、インフラストラクチャを安全かつ最新に保つとともに、サービスとアプリケーションの可用性を向上させることができます。Kernel Live Patching は、Amazon EC2 インスタンス、AWS IoT Greengrass コアのデバイス、および Amazon Linux 2 を実行する [on-premises virtual machines] (オンプレミスの仮想マシン) でサポートされます。
Kernel Live Patching の一般的な情報については、「Amazon EC2 ユーザーガイド」の「Amazon Linux 2 で Kernel Live Patching を適用する」を参照してください。
Amazon Linux 2 マネージドノードで Kernel Live Patching を有効にした後、Patch Manager の一機能である AWS Systems Manager を使用すると、カーネルライブパッチをマネージドノードに適用できます。Patch Manager は、ノードで既存の yum ワークフローを使用して更新を適用する代わりに使用できます。
開始する前に
Patch Manager を使用してカーネルライブパッチを Amazon Linux 2 マネージドノードに適用するには、ノードが正しいアーキテクチャとカーネルバージョンに基づいていることを確認します。詳細については、「Amazon EC2 ユーザーガイド」の「サポートされる設定と前提条件」を参照してください。
トピック
Patch Manager を使用した Kernel Live Patching
- カーネルバージョンの更新
-
カーネルライブ パッチ更新を適用した後、マネージドノードを再起動する必要はありません。ただし AWS では、リリース後最長 3 か月間、Amazon Linux 2 カーネルバージョンのカーネルライブパッチが提供されます。3 か月が過ぎた後にカーネルライブパッチを引き続き入手するには、新しいカーネルバージョンに更新する必要があります。メンテナンスウィンドウを使用して、少なくとも 3 か月に一度、ノードの再起動をスケジュールし、カーネルバージョンの更新を促すことをお勧めします。
- カーネルライブパッチのアンインストール
-
カーネルライブパッチは、Patch Manager を使用してアンインストールすることはできません。代わりに Kernel Live Patching を無効にすることができます。これにより、適用されたカーネルライブパッチの RPM パッケージが削除されます。詳細については、「Run Command を使用して Kernel Live Patching をオフにする」を参照してください。
- カーネルのコンプライアンス
-
場合によっては、現在のカーネルバージョンのライブパッチからすべての CVE 修正をインストールすると、そのカーネルが新しいカーネルバージョンと同じコンプライアンス状態になることがあります。この場合は、新しいバージョンが
Installed
と報告され、マネージドノードノードはCompliant
と報告されます。ただし、新しいカーネルバージョンのインストール時間は報告されません。 - 1 つのカーネルライブパッチ、複数の CVE
-
カーネルライブパッチが複数の CVE に対応していて、これらの CVE にさまざまな分類や重要度値がある場合、そのパッチに対してレポートされるのは、CVE の中から最も高い分類と重要度だけです。
このセクションの以降では、Patch Manager を使用して、これらの要件を満たすマネージドノードノードにカーネルライブパッチを適用する方法について説明します。
Patch Manager を使用した Kernel Live Patching の仕組み
AWS では、セキュリティ更新とバグ修正の 2 種類を Amazon Linux 2 用のカーネルライブパッチとしてリリースしています。これらのタイプのパッチを適用するには、次の表に示す分類と重要度のみを対象としたパッチベースラインドキュメントを使用します。
分類 | 重要度 |
---|---|
Security |
Critical , Important |
Bugfix |
All |
これらのパッチのみを対象としたカスタムパッチベースラインを作成することも、定義済みの AWS-AmazonLinux2DefaultPatchBaseline
パッチベースラインを使用することもできます。つまり、AWS-AmazonLinux2DefaultPatchBaseline
が有効になっている Amazon Linux 2 マネージドノードで Kernel Live Patching を使用でき、カーネルライブアップデートが適用されます。
注記
この AWS-AmazonLinux2DefaultPatchBaseline
設定では、パッチがリリースまたは最後に更新されてからパッチが自動的にインストールされるまでに 7 日間の待機期間が指定されます。カーネルライブパッチが自動承認されるまで 7 日間待機しない場合は、カスタムパッチベースラインを作成して使用できます。パッチベースラインでは、自動承認待機期間を指定しない、または短期間や長期間を指定できます。詳細については、「カスタムパッチベースラインの操作」を参照してください。
カーネルライブアップデートでマネージドノードにパッチを適用するには、以下の戦略をお勧めします。
-
Amazon Linux 2 マネージドノードの Kernel Live Patching を有効にします。
-
AWS Systems Manager の一機能である Run Command を使用し、マネージドノードに対して
Scan
オペレーションを実行します。このとき、定義済みのAWS-AmazonLinux2DefaultPatchBaseline
を使用するか、Critical
およびImportant
として重要度が分類されるSecurity
更新とAll
のBugfix
重要度のみを対象としたカスタム パッチ ベースラインを使用します。 -
スキャンされたマネージドノードについてパッチ適用の非準拠が報告されているかどうかを調べるには、AWS Systems Manager の一機能であるコンプライアンスを使用します。報告されている場合は、ノードのコンプライアンス 詳細を表示して、マネージドノードに適用されていないカーネルライブパッチがないかどうかを確認します。
-
適用されていないカーネルライブパッチをインストールするには、前に指定したものと同じパッチベースラインで Run Command を使用します。ただし今回は
Install
操作ではなくScan
操作を実行します。カーネルライブパッチは再起動しなくてもインストールされるため、この操作では再起動オプションとして
NoReboot
を選択できます。注記
マネージドノードにインストールされている他のタイプのパッチに必要な場合や、新しいカーネルに更新する場合は、マネージドノードを再起動できます。このような場合は、再起動オプション
RebootIfNeeded
を代わりに選択します。 -
Compliance に戻り、カーネルライブパッチがインストールされていることを確認します。