Amazon Elastic Kubernetes Service (Amazon EKS) に最適化された Amazon マシンイメージ (AMI) を使用して Amazon Elastic Compute Cloud (Amazon EC2) インスタンスを起動しました。しかし、新しいバージョンが利用可能な場合でもカーネルやパッケージを更新することはできません。“Nothing to do” や “No packages marked for update” というメッセージが表示されます。
簡単な説明
通常、Amazon EKS 最適化 AMI はパッケージのアップグレードをブロックします。これは、yum-versionlock プラグインが特定のパッケージバージョンをロックし、他のバージョンをすべて除外するためです。誤って互換性のないバージョンにアップグレードすることがないようにするため、このプラグインはロックされたパッケージを定義されたバージョンに保持します。
この問題を解決するには、カーネルではなく AMI をアップグレードするのがベストプラクティスです。ただし、ロックされたパッケージでカスタム AMI を使用する場合は、バージョンロックを解除してパッケージをアップグレードできます。
解決策
注: トラブルシューティングや変更を行う前に、EC2 インスタンスとデータをバックアップするのがベストプラクティスです。インスタンスの AMI を作成するか、Amazon Elastic Block Store (Amazon EBS) ボリュームのスナップショットを作成します。
AMI にバージョンロックがかかっていることを確認する
インスタンスが実行しているカーネルバージョンを確認するには、次のコマンドを実行します。
uname -r
パッケージが特定のカーネルバージョンにロックされているかどうかを確認するには、次のコマンドを実行します。
yum versionlock list
yum-versionlock のバージョンロックが有効になっている場合は、次の例のような出力が表示されます。
kernel-devel-1:6.1.155-176.282.amzn2023.*
kernel-headers-1:6.1.155-176.282.amzn2023.*
kernel-1:6.1.155-176.282.amzn2023.*
kernel-libbpf-1:6.1.155-176.282.amzn2023.*
kernel-srpm-macros-0:1.0-14.amzn2023.0.3.*
kernel-livepatch-repo-s3-0:2023.9.20251014-0.amzn2023.*
amazon-ec2-net-utils-0:2.7.1-1.amzn2023.0.1.*
containerd-2:1.7.27-1.eks.amzn2023.0.4.*
バージョンロックされた AMI をアップグレードする
Amazon EKS 最適化 AMI をアップグレードして最新バージョンを使用してください。この変更により、検証済みのカーネルバージョンのみを使用するため、システムの安定性が維持されます。
バージョンロックを解除し、パッケージをアップグレードする
重要: アップグレードされたパッケージと containerd など他のコンポーネントとの間に互換性の問題がある可能性があります。ロックされたアップデートは互換性がテストされていません。
カスタム AMI のパッケージをアップグレードするには、次の手順を実行します。
-
次のコマンドを実行して、ロックされているパッケージのリストを表示します。
sudo yum versionlock list:
-
特定のパッケージのバージョンロックを解除するには、次のコマンドを実行します。
sudo yum versionlock delete package_name
注: package_name は、ロックを解除したいパッケージに置き換えてください。
すべてのパッケージのバージョンロックを解除するには、次のコマンドを実行します。
sudo yum versionlock clear
-
次のコマンドを実行して、バージョンのロックが解除されていることを確認します。
sudo yum versionlock list
-
パッケージをリポジトリで利用可能な最新バージョンにアップグレードします。
関連情報
Amazon Linux 2 に関するよくある質問
Amazon Linux 2023 に関するよくある質問
Deterministic upgrades through versioned repositories on AL2023 (AL2023 のバージョン管理されたリポジトリによる確定的アップグレード)