GPU インスタンス向けに EKS 最適化高速 AMI を使用する - Amazon EKS

このページの改善にご協力ください

このユーザーガイドに貢献するには、すべてのページの右側のペインにある「GitHub でこのページを編集する」リンクを選択してください。

GPU インスタンス向けに EKS 最適化高速 AMI を使用する

Amazon EKS は、GPU インスタンス向けに EKS 最適化 Amazon Linux および Bottlerocket AMI をサポートしています。EKS 最適化高速 AMI は、高速 Kubernetes スタック向けに事前構築および検証されたオペレーティングシステムイメージを提供することで、EKS クラスターでの AI および ML ワークロードの実行を簡素化します。標準の EKS 最適化 AMI に含まれるコア Kubernetes コンポーネントに加えて、EKS 最適化高速 AMI には、EKS クラスターで NVIDIA GPU G および P EC2 インスタンス、ならびに AWS GPU Inferentia および Trainium EC2 インスタンスを実行するために必要なカーネルモジュールとドライバーが含まれています。

以下の表は、EKS 最適化高速 AMI のバリアントごとにサポートされている GPU インスタンスタイプを示しています。AMI バリアントの最新の更新については、GitHub の EKS 最適化 AL2023 リリースBottlerocket リリースを参照してください。

EKS AMI バリアント EC2 インスタンスタイプ

AL2023 x86_64 NVIDIA

p6-b300、p6-b200、p5、p5e、p5en、p4d、p4de、p3、p3dn、gr6、g6、g6e、g6f、gr6f、g5、g4dn

AL2023 ARM NVIDIA

p6e-gb200、g5g

AL2023 x86_64 Neuron

inf1、inf2、trn1、trn2

Bottlerocket x86_64 aws-k8s-nvidia

p6-b300、p6-b200、p5、p5e、p5en、p4d、p4de、p3、p3dn、gr6、g6、g6e、g6f、gr6f、g5、g4dn

Bottlerocket aarch64/arm64 aws-k8s-nvidia

g5g

Bottlerocket x86_64 aws-k8s

inf1、inf2、trn1、trn2

EKS 最適化 NVIDIA AMI

EKS 最適化 NVIDIA AMI を使用することで、NVIDIA のクラウドエンドユーザーライセンス契約 (EULA) に同意したものとみなされます。

最新の EKS 最適化 NVIDIA AMI を確認するには、「推奨 Amazon Linux AMI ID を取得する」および「推奨 Bottlerocket AMI ID を取得する」を参照してください。

EKS 最適化 AL2023 または Bottlerocket NVIDIA AMI で Amazon Elastic Fabric Adaptor (EFA) を使用する場合は、EFA デバイスプラグインを個別にインストールする必要があります。詳細については、「Elastic Fabric Adapter を使用して Amazon EKS で機械学習トレーニングを実行する」を参照してください。

EKS AL2023 NVIDIA AMI

EKS 最適化 AL2023 NVIDIA AMI で NVIDIA GPU Operator を使用する場合は、ドライバーとツールキットのオペレータインストールを無効にする必要があります。これらは既に EKS AMI に含まれているためです。EKS 最適化 AL2023 NVIDIA AMI には、NVIDIA Kubernetes デバイスプラグインまたは NVIDIA DRA ドライバーが含まれていないため、これらは個別にインストールする必要があります。詳細については、「NVIDIA Kubernetes デバイスプラグインをインストールする」を参照してください。

標準の EKS AMI コンポーネントに加えて、EKS 最適化 AL2023 NVIDIA AMI には、以下のコンポーネントが含まれています。

  • NVIDIA ドライバー

  • NVIDIA CUDA ユーザーモードドライバー

  • NVIDIA Container Toolkit

  • NVIDIA ファブリックマネージャー

  • NVIDIA 永続化

  • NVIDIA IMEX ドライバー

  • NVIDIA NVLink サブネットマネージャー

  • EFA 最小構成 (カーネルモジュールと rdma-core)

NVIDIA CUDA ユーザーモードドライバーとアプリケーションコンテナ内で使用される CUDA ランタイム/ライブラリの詳細については、NVIDIA ドキュメントを参照してください。nvidia-smi に表示される CUDA バージョンは、ホストにインストールされている NVIDIA CUDA ユーザーモードドライバーのバージョンであり、アプリケーションコンテナで使用される CUDA ランタイム/ライブラリと互換性がある必要があります。

EKS 最適化 AL2023 NVIDIA AMI は、Kubernetes バージョン 1.33 以降ではカーネル 6.12 を、すべての Kubernetes バージョンでは NVIDIA ドライバー 580 バージョンをサポートしています。CUDA 13 以降を使用するには、NVIDIA 580 ドライバーが必要です。

AMI に含まれるコンポーネントバージョンの詳細については、GitHub の EKS 最適化 AL2023 リリースを参照してください。EKS AMI が NVIDIA 依存関係を設定する方法の詳細については、EKS AL2023 NVIDIA AMI のインストールスクリプトカーネルロードスクリプトを参照してください。実行中の EC2 インスタンスでは、dnf list installed コマンドを使用して、インストールされているパッケージとそのバージョンのリストを確認できます。

EKS 最適化 AMI をベースとしてカスタム AMI を構築する場合、コンポーネントの互換性が損なわれる可能性があるため、オペレーティングシステムのアップグレード (dnf upgrade など) を実行したり、EKS 最適化 AMI に含まれる Kubernetes または GPU パッケージをアップグレードしたりすることは、推奨もサポートもされていません。EKS 最適化 AMI に含まれるオペレーティングシステムまたはパッケージをアップグレードする場合は、本番環境にデプロイする前に、開発環境またはステージング環境で徹底的にテストすることをお勧めします。

GPU インスタンス用のカスタム AMI を構築する場合は、実行するインスタンスタイプの世代およびファミリーごとに、個別のカスタム AMI を構築することをお勧めします。EKS 最適化高速 AMI は、基盤となるインスタンスタイプの世代およびファミリーに基づいて、ランタイム時にドライバーとパッケージを選択的にインストールします。詳細については、インストールランタイムの EKS AMI スクリプトを参照してください。

EKS Bottlerocket NVIDIA AMI

EKS 最適化 Bottlerocket NVIDIA AMI で NVIDIA GPU Operator を使用する場合は、ドライバー、ツールキット、デバイスプラグインのオペレータインストールを無効にする必要があります。これらは既に EKS AMI に含まれているためです。

標準の EKS AMI コンポーネントに加えて、EKS 最適化 Bottlerocket NVIDIA AMI には、以下のコンポーネントが含まれています。EFA の最小限の依存関係 (カーネルモジュールと rdma-core) は、すべての Bottlerocket バリアントにインストールされます。

  • NVIDIA Kubernetes デバイスプラグイン

  • NVIDIA ドライバー

  • NVIDIA CUDA ユーザーモードドライバー

  • NVIDIA Container Toolkit

  • NVIDIA ファブリックマネージャー

  • NVIDIA 永続化

  • NVIDIA IMEX ドライバー

  • NVIDIA NVLink サブネットマネージャー

  • NVIDIA MIG マネージャー

NVIDIA CUDA ユーザーモードドライバーとアプリケーションコンテナ内で使用される CUDA ランタイム/ライブラリの詳細については、NVIDIA ドキュメントを参照してください。nvidia-smi に表示される CUDA バージョンは、ホストにインストールされている NVIDIA CUDA ユーザーモードドライバーのバージョンであり、アプリケーションコンテナで使用される CUDA ランタイム/ライブラリと互換性がある必要があります。

インストールされているパッケージとそのバージョンの詳細については、Bottlerocket ドキュメントの Bottlerocket バージョン情報を参照してください。EKS 最適化 Bottlerocket NVIDIA AMI は、Kubernetes バージョン 1.33 以降ではカーネル 6.12 を、Kubernetes バージョン 1.34 以降では NVIDIA ドライバー 580 バージョンをサポートしています。CUDA 13 以降を使用するには、NVIDIA 580 ドライバーが必要です。

EKS 最適化 Neuron AMI

Amazon EKS で Neuron を使用するトレーニングおよび推論ワークロードの方法の詳細については、以下のリファレンスを参照してください。

最新の EKS 最適化 Neuron AMI を確認するには、「推奨 Amazon Linux AMI ID を取得する」および「推奨 Bottlerocket AMI ID を取得する」を参照してください。

EKS 最適化 AL2023 または Bottlerocket Neuron AMI で Amazon Elastic Fabric Adaptor (EFA) を使用する場合は、EFA デバイスプラグインを個別にインストールする必要があります。詳細については、「Elastic Fabric Adapter を使用して Amazon EKS で機械学習トレーニングを実行する」を参照してください。

EKS AL2023 Neuron AMI

EKS 最適化 AL2023 Neuron AMI には、Neuron Kubernetes デバイスプラグインまたは Neuron Kubernetes スケジューラ拡張機能が含まれていないため、これらは個別にインストールする必要があります。詳細については、「Neuron Kubernetes デバイスプラグインをインストールする」を参照してください。

標準の EKS AMI コンポーネントに加えて、EKS 最適化 AL2023 Neuron AMI には、以下のコンポーネントが含まれています。

  • Neuron ドライバー (aws-neuronx-dkms)

  • Neuron ツール (aws-neuronx-tools)

  • EFA 最小構成 (カーネルモジュールと rdma-core)

EKS AMI が Neuron 依存関係を設定する方法の詳細については、EKS AL2023 Neuron AMI のインストールスクリプトを参照してください。AMI に含まれるコンポーネントバージョンについては、GitHub の EKS 最適化 AL2023 リリースを参照してください。実行中の EC2 インスタンスでは、dnf list installed コマンドを使用して、インストールされているパッケージとそのバージョンのリストを確認できます。

EKS Bottlerocket Neuron AMI

標準の Bottlerocket バリアント (aws-k8s) には、AWS Inferentia または Trainium EC2 インスタンスでの実行時に自動的に検出およびロードされる Neuron 依存関係が含まれています。

EKS 最適化 Bottlerocket AMI には、Neuron Kubernetes デバイスプラグインまたは Neuron Kubernetes スケジューラ拡張機能が含まれていないため、これらは個別にインストールする必要があります。詳細については、「Neuron Kubernetes デバイスプラグインをインストールする」を参照してください。

標準の EKS AMI コンポーネントに加えて、EKS 最適化 Bottlerocket Neuron AMI には、以下のコンポーネントが含まれています。

  • Neuron ドライバー (aws-neuronx-dkms)

  • EFA 最小構成 (カーネルモジュールと rdma-core)

Neuron インスタンスで EKS 最適化 Bottlerocket AMIs を使用する場合は、Bottlerocket の user-data で以下を設定する必要があります。この設定により、コンテナは、ワークロード仕様で指定された runAsUser および runAsGroupの値に基づいて、マウントされた Neuron デバイスの所有権を取得できます。Bottlerocket での Neuron サポートの詳細については、GitHub の EKS readme でのクイックスタートを参照してください。

[settings] [settings.kubernetes] device-ownership-from-security-context = true

EKS 最適化 Bottlerocket AMI に含まれる Neuron ドライバーのバージョンについては、Bottlerocket カーネルキットの変更ログを参照してください。