OS の共通脆弱性識別子 (CVE) の脆弱性により、ノードでデータ漏洩やサービス中断が発生し、クラスタの安定性、セキュリティ、コンプライアンスが低下する可能性があります。OS の CVE パッチ適用機能を有効にすると、ノード上の OS の脆弱性をスキャンし、検出された脆弱性にパッチを適用する方法に関する推奨事項を取得できます。Container Service for Kubernetes (ACK) コンソールで、推奨事項に基づいて脆弱性にパッチを適用できます。
前提条件
CVE パッチ適用は、Security Center によって提供される高度な機能です。この機能を使用するには、次のことを行う必要があります。
Security Center Advanced、Enterprise、または Ultimate Edition を購読します。
保護対象のサーバーに十分な保護クォータが割り当てられていることを確認します。
課金
ACK は追加料金を請求しません。詳細については、「Security Center の購入」および「機能」をご参照ください。
使用上の注意
Security Center は CVE の互換性を保証します。パッチをインストールする前に、アプリケーションの CVE 互換性を確認することをお勧めします。CVE パッチ適用タスクはいつでも一時停止またはキャンセルできます。
ACK は、特定の脆弱性にパッチを適用するためにノードを再起動する必要がある場合があります。ACK は、ノードを再起動する前にノードをドレインします。
ACK クラスタに、ドレインされたノードから削除されたポッドをホストするのに十分なノードがあることを確認します。
クラスタの可用性を確保するために、ノードプールに脆弱性のパッチを適用する前に、ノードプールスケーリング機能を使用してノードプールをスケールアウトすることをお勧めします。詳細については、「ノードプールを手動でスケーリングする」をご参照ください。
PodDisruptionBudget (PDB) を設定している場合は、クラスタにノードのドレインをサポートするのに十分なノードがあることを確認してください。さらに、既存のレプリケートされたポッドの数が、PDB で指定された
spec.minAvailable
パラメータの値以上であることを確認してください。PDB が不要になった場合は削除できます。ポッド内のコンテナが SIGTERM 信号を想定どおりに処理できることを確認して、ポッドを猶予期間内に終了できるようにします。これにより、ノードのドレインの失敗を防ぎます。
ノードのドレインの最大タイムアウト期間は 1 時間です。ノードのドレインがタイムアウトした場合、ACK は後続の操作を実行しません。
ノードの再起動が必要な CVE の脆弱性にパッチを適用する場合、GPU アクセラレーションノードが含まれている場合は、GPU ドライバの互換性の問題を防ぐために、代わりにカーネルを手動で更新することを強くお勧めします。実装手順については、「クラスタ内の GPU アクセラレーションノードのカーネルバージョンを手動で更新するにはどうすればよいですか?」をご参照ください。
CVE パッチ適用はバッチで実行されます。CVE パッチ適用タスクが一時停止またはキャンセルされた場合:
開始されたバッチは完了まで実行され続けます
保留中のバッチはタスクのデプロイを停止またはキャンセルします
各ノードプールに対して、一度に実行できる CVE パッチ適用タスクは 1 つだけです。
ContainerOS の脆弱性にパッチを適用する場合、ContainerOS のバージョンは 3.2 以降である必要があります。
クラスタのメンテナンスウィンドウを変更すると、スケジュールされた CVE パッチ適用タスクはキャンセルされます。その後、システムは CVE パッチ適用タスクの新しいスケジュールを生成します。
手順
CVE の自動パッチ適用 (推奨)
マネージドノードプールに対して 自動化された O&M 機能 を有効にして、CVE に自動的にパッチを適用できます。
このようにして、ACK はグローバル パッチ適用スケジュールを生成し、スケジュールに基づいてパッチ適用タスクを自動的に実行します。自動パッチ適用タスクは、クラスタ メンテナンス ウィンドウ内で実行されます。ただし、自動 CVE パッチ適用機能を有効にした後、次のメンテナンス ウィンドウ内でタスクが実行されない場合があります。
ACK コンソール にログインします。左側のナビゲーションウィンドウで、[クラスタ] をクリックします。
[クラスタ] ページで、管理するクラスタを見つけ、その名前をクリックします。左側のナビゲーションウィンドウで、 を選択します。
[ノードプール] ページで、作成した管理対象ノードプールを見つけ、
> [管理対象ノードプールを有効にする] (通常のノードプールの場合は)または [管理対象ノードプールを設定する] (管理対象ノードプールの場合は)を [アクション] 列で選択します。表示されるダイアログボックスで、[管理対象ノードプールを設定する] を [管理対象ノードプール] に設定し、パッチを適用する脆弱性の重大度レベルを選択し、必要に応じて脆弱性にパッチを適用するためにノードプールを再起動するかどうかを指定します。
手動での CVE パッチ適用
脆弱性に手動でパッチを適用するには、次の手順を実行します。
ACK コンソール にログインします。左側のナビゲーションウィンドウで、[クラスタ] をクリックします。
[クラスタ] ページで、管理するクラスタを見つけ、その名前をクリックします。左側のナビゲーションウィンドウで、 を選択します。
[ノードプール] ページで、パッチを適用するノードプールを見つけ、[アクション] 列で
>[CVE パッチ適用 (OS)] を選択します。
表示されるページで、[脆弱性] セクションでパッチを適用する脆弱性を選択し、[インスタンス] セクションで Elastic Compute Service (ECS) インスタンスを選択し、[バッチ修復ポリシー] を構成し、[修復開始] をクリックします。
バッチ修復ポリシーは、次のパラメータで構成されています。
[バッチごとに修復するノードの最大数]: このパラメータは、各バッチでパッチを適用できるノードの最大数を指定します。バッチごとに更新されるノードの数は、1、2、4、8 ... の順序でバッチごとに増加します。最大同時実行数に達すると、各バッチで更新されるノードの最大数は最大同時実行数と等しくなります。最大同時実行数を 4 に設定すると、最初のバッチでは 1 つのノードが更新され、2 番目のバッチでは 2 つのノードが同時に更新され、3 番目以降のバッチでは 4 つのノードが同時に更新されます。
[ドライランモード]: このモードを有効にすると、ACK はパッチ適用をシミュレートし、レポートを生成します。
情報を確認し、[OK] をクリックします。
参考資料
CVE パッチ適用を有効にした後、パッチ適用プロシージャを [一時停止]、[再開]、または [キャンセル] できます。