このページの改善にご協力ください
このユーザーガイドに貢献するには、すべてのページの右側のペインにある「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
NVIDIA ドライバーバージョン 595 を搭載した EKS NVIDIA AL2023 AMI
重要
G7 EC2 インスタンスタイプには NVIDIA ドライバーバージョン 595 以降が必要です。EKS 最適化高速 AMI には現在、G7 インスタンスをサポートしていない NVIDIA ドライバーバージョン 580 が含まれています。Amazon EKS で G7 インスタンスを使用するには、NVIDIA ドライバーバージョン 595 でカスタム AMI を構築する必要があります。
ノードのプロビジョニングと自動スケーリング用に Karpenter を使用している場合は、自動 AMI 選択を使用する NodePools から g7 インスタンスファミリーを除外することをお勧めします。g7 インスタンスにカスタム AMI を使用するように Karpenter NodeClass を設定する方法については、Karpenter ドキュメントの amiSelectorTerms
make k8s=1.36 os_distro=al2023 \ enable_accelerator=nvidia \ nvidia_driver_major_version=595 \ enable_efa=true
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