このページの改善にご協力ください
このユーザーガイドに貢献するには、すべてのページの右側のペインにある「GitHub でこのページを編集する」リンクを選択してください。
EKS に最適化されたカスタム Amazon Linux AMI の構築
警告
Amazon EKS は、2025 年 11 月 26 日に、EKS 最適化 Amazon Linux 2 (AL2) AMI の公開を取り止めました。Amazon EKS 用の AL2023 および Bottlerocket ベースの AMI は、バージョン 1.33 以降をはじめサポート対象のすべての Kubernetes で使用できます。
Amazon EKS では、「Amazon EKS AMI Build Specificationkubelet、ランタイム環境、AWS IAM Authenticator for Kubernetes の設定を確認し、AL ベースの AMI を一から構築できます。
このリポジトリには、ブート時に実行される特殊な AL2 用 bootstrap スクリプト
EKS 最適化 AMI をベースとしてカスタム AMI を構築する場合、コンポーネントの互換性が損なわれる可能性があるため、オペレーティングシステムのアップグレード (dnf upgrade など) を実行したり、EKS 最適化 AMI に含まれる Kubernetes または GPU パッケージをアップグレードしたりすることは、推奨もサポートもされていません。EKS 最適化 AMI に含まれるオペレーティングシステムまたはパッケージをアップグレードする場合は、本番環境にデプロイする前に、開発環境またはステージング環境で徹底的にテストすることをお勧めします。
GPU インスタンス用のカスタム AMI を構築する場合は、実行するインスタンスタイプの世代およびファミリーごとに、個別のカスタム AMI を構築することをお勧めします。EKS 最適化高速 AMI は、基盤となるインスタンスタイプの世代およびファミリーに基づいて、ランタイム時にドライバーとパッケージを選択的にインストールします。詳細については、インストール
前提条件
必要な Amazon プラグイン
packer plugins install github.com/hashicorp/amazon
Packer がインストールされていることを確認します。
packer --version
公式の Amazon EKS AMI リポジトリをクローンまたはフォークします。
git clone https://github.com/awslabs/amazon-eks-ami.git cd amazon-eks-ami
デフォルト値と追加オプションを表示するには、次のコマンドを実行します。AMI のカスタマイズに使用できる設定の詳細については、「Amazon Linux 2023
make help
カスタム AMI を作成する
さまざまなカスタム AMI のコマンド例を以下に示します。
EKS NVIDIA AL2 AMI
make k8s=1.32 os_distro=al2 \ enable_accelerator=nvidia \ nvidia_driver_major_version=580 \ enable_efa=true
EKS NVIDIA AL2023 AMI
make k8s=1.36 os_distro=al2023 \ enable_accelerator=nvidia \ nvidia_driver_major_version=580 \ enable_efa=true
カスタムドライバーバージョンを搭載した EKS NVIDIA AL2023 AMI
EKS 最適化 AL2023 NVIDIA AMI は、2 つの NVIDIA ドライバーバージョンを 1 つのイメージにバンドルします。各ノードは、起動時に GPU に適したドライバーを自動的に選択します。EKS AL2023 AMI バージョン v20260917nvidia_driver_lts_version と nvidia_driver_pb_version を一緒に設定します。
make k8s=1.36 os_distro=al2023 \ enable_accelerator=nvidia \ nvidia_driver_lts_version=580 \ nvidia_driver_pb_version=610 \ enable_efa=true
注記
EKS AL2023 AMI の NVIDIA ドライバー選択ロジックは実行時に動作しますが、AMI が高速 EC2 インスタンス上に構築されている場合は早期にアクティブ化されます。その結果、NVIDIA ドライバー 580 をデフォルトとする高速 EC2 インスタンス (g6 や g7e など) にカスタム AMI を構築する場合、そのカスタム AMI を、新しい NVIDIA ドライバーバージョン (ドライバー 595 を必要とする g7 など) を必要とする高速 EC2 インスタンスにデプロイすることはできません。これを回避するには、非高速 EC2 インスタンス (m6 など) にカスタム AMI を構築し、任意の高速 EC2 インスタンスにデプロイします。このアプローチにより、EKS AL2023 AMI の NVIDIA ドライバー選択ロジックが維持されます。
STIG 準拠 Neuron AL2023 AMI
make k8s=1.31 os_distro=al2023 \ enable_accelerator=neuron \ enable_fips=true \ source_ami_id=ami-0abcd1234efgh5678 \ kms_key_id=alias/aws-stig
これらのコマンドを実行すると、Packer は以下を実行します:
-
一時的な Amazon EC2 インスタンスを起動します。
-
Kubernetes コンポーネント、ドライバー、設定をインストールします。
-
AWS アカウントで AMI を作成します。
正常な出力は次の例のようになります。
==> Wait completed after 8 minutes 42 seconds ==> Builds finished. The artifacts of successful builds are: --> amazon-ebs: AMIs were created: us-west-2: ami-0e139a4b1a7a9a3e9 --> amazon-ebs: AMIs were created: us-west-2: ami-0e139a4b1a7a9a3e9 --> amazon-ebs: AMIs were created: us-west-2: ami-0e139a4b1a7a9a3e9