翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
SageMaker HyperPod EKS クラスターで Amazon EBS CSI ドライバーを使用する
SageMaker HyperPod は、Amazon Elastic Block Store (Amazon EBS) Container Storage Interface (CSI) ドライバーをサポートしています。このドライバーは、作成した Kubernetes ボリュームのストレージとして Amazon EBS ボリュームのライフサイクルを管理します。Amazon EBS CSI ドライバーを使用すると、Amazon EKS オーケストレーションを使用して SageMaker HyperPod クラスターで実行される機械学習ワークロード用の Amazon EBS ボリュームを作成、アタッチ、管理できます。
キーストレージ機能
SageMaker HyperPod の Amazon EBS CSI ドライバーは、次のストレージ機能をサポートしています。
-
静的プロビジョニング: ポッドで使用できるように、事前に作成された Amazon EBS ボリュームを Kubernetes の永続ボリューム
に関連付けます。 -
動的プロビジョニング:
PersistentVolumeClaimsから Amazon EBS ボリュームと関連する永続ボリュームを自動的に作成します。パラメータは、ボリューム作成をきめ細かく制御するために StorageClassを介して渡すことができます。 -
ボリュームのサイズ変更: 実行中のワークロードを中断することなく
PersistentVolumeClaimsのサイズ仕様を更新することで、既存のボリュームを拡張します。これは、増大するモデルリポジトリを処理したり、サービスを中断することなくより大規模なノードに適応したりするために不可欠です。 -
ボリュームスナップショット: バックアップ、リカバリ、データバージョニング用のボリュームのポイントインタイムスナップショットを作成します。
-
ブロックボリューム: ストレージへの直接アクセスを必要とする高パフォーマンスアプリケーションに、raw ブロックデバイスアクセスを提供します。
-
ボリュームの変更: ボリューム属性クラス
を使用して、タイプ、1 秒あたりの入出力操作数 (IOPS)、スループットなどのボリュームプロパティを変更します。
Amazon EBS CSI ドライバーの詳細については、「Amazon EKS ユーザーガイド」の「Amazon EBS で Kubernetes ボリュームストレージを使用する」を参照してください。
クラスター内のポッドへのストレージの詳細については、「Kubernetes ドキュメント」の「ストレージ
考慮事項
SageMaker HyperPod AMI は、すべてのノードでローカル NVMe インスタンスストレージを既に管理しています。起動時に、ノードのすべての NVMe ドライブを単一の LVM ボリュームグループ (vg.01) に結合し、結果を にマウントします/opt/sagemaker。ローカル NVMe ストレージを使用するには、他のものをインストールする必要はありません。ノードが起動するとすぐに使用できます。
重要
NVMe インスタンスストレージをターゲットとする 2 番目の CSI ドライバー (ローカルインスタンスストレージ CSI ドライバーと呼ばれることもあります) をインストールしないでください。2 番目のストレージマネージャーは と競合vg.01し、NVMe I/O の障害、マウントの障害、およびノードの再起動や交換後も存続するデバイス状態の破損を引き起こします。
この制限は、ローカル NVMe インスタンスストレージを管理するドライバーにのみ適用されます。Network-backed CSI ドライバー (Amazon EBS、Amazon FSx、Amazon EFS、Mountpoint for Amazon S3) は、ローカル NVMe ディスクにアクセスしないため、影響を受けません。
このページで説明されている Amazon EBS CSI ドライバーは Amazon EBS ボリュームのみを管理し、この競合の影響を受けません。競合は、ノード上のローカル NVMe インスタンスストレージを管理する CSI ドライバーにのみ適用されます。
NVMe インスタンスストレージをターゲットとする CSI ドライバーを既にインストールしていて、NVMe I/O エラーが表示されている場合は、次の手順に従います。
-
local-instance-storage CSI ドライバーアドオンをアンインストールします。
-
影響を受けるノードを置き換えます (一度に約 3 つのノードを置き換えることをお勧めします)。
-
NVMe インスタンスストレージが復元されていることを確認します。復元された状態は、それ以降の再起動と置き換えによって維持されます。
重要
アドオンをアンインストールする前にノードを置き換えないでください。競合は新しいノードで繰り返し発生し、I/O エラーは続行されます。
HyperPod で NVMe インスタンスストレージを使用するには、標準のマウントパス () を介して AMI の組み込み LVM 設定を使用します/opt/sagemaker。動的にプロビジョニングされたポッドレベルのブロックストレージの場合は、このページの残りの部分で説明されているように、Amazon EBS CSI ドライバーを使用します。
ユースケース
Amazon EBS CSI ドライバー統合により、SageMaker HyperPod EKS クラスターでのトレーニングワークロードと推論ワークロードの両方で、いくつかの主要なユースケースが可能になります。
トレーニングワークロード
-
データセットストレージ: ポッドの再起動後も保持されるトレーニングデータセットのボリュームをプロビジョンする。
-
チェックポイントストレージ: モデルのチェックポイントと中間トレーニング結果を保存する。
-
共有アーティファクト: 複数のトレーニングジョブで共通のデータセットとモデルアーティファクトにアクセスする。
推論ワークロード
-
モデルストレージ: モデルの要件に基づいて適切なサイズのボリュームを動的にプロビジョンする。
-
コンテナキャッシュ: 推論パフォーマンスを向上させるエフェメラルストレージを作成する。
-
イベントログ: 推論結果とログを永続的ストレージに保存する。
SageMaker HyperPod EKS クラスターで Amazon EBS CSI ドライバーを設定する
Amazon Elastic Block Store (Amazon EBS) Container Storage Interface (CSI) ドライバーを使用すると、EKS オーケストレーションを備えた SageMaker HyperPod クラスターで実行されているコンテナ化されたワークロードの Amazon EBS ボリュームを動的にプロビジョンして管理できます。このセクションでは、Amazon EBS CSI ドライバーをインストールして設定し、機械学習ワークロードの永続的ストレージを有効にする方法について説明します。
前提条件
開始する前に、以下を実行します。
-
バージョン v1.47.0
の Amazon EBS CSI ドライバーをインストールする
追加のアクセス許可
Amazon EBS CSI ドライバーアドオンを設定するには、「Amazon EKS ユーザーガイド」の「Amazon EBS で Kubernetes ボリュームストレージを使用する」の手順に従ってください。ドライバーアドオンの実行に使用される IAM ロールに次のアクセス許可を追加する必要もあります。これは、HyperPod クラスター実行ロールではなく、ドライバーアドオンのサービスアカウント設定で指定された IAM ロールであることに注意が必要です。
API の使用
別の方法として、AttachClusterNodeVolume API オペレーションと DetachClusterNodeVolume API オペレーションを使用して、Amazon EBS ボリュームを SageMaker HyperPod EKS クラスターインスタンスにアタッチしてデタッチできます。
これらの API を使用するための主な要件は、次のとおりです。
-
Amazon EBS ボリュームと SageMaker HyperPod EKS クラスターの両方が同じ AWS アカウントによって所有されている必要があります。
-
呼び出し元プリンシパルには、アタッチまたはデタッチのオペレーションを正常に実行するための特定の最小アクセス許可が必要です。最小権限のアクセス許可の詳細については、以降のトピックを参照してください。
-
HyperPod ノードにボリュームをアタッチしたら、「SageMaker HyperPod クラスターノードへのアクセス」の手順に従ってクラスターノードにアクセスし、アタッチされたボリュームをマウントするためにボリュームを使用できるようにします。
sagemaker:AttachClusterNodeVolumeに必要なアクセス許可
sagemaker:DetachClusterNodeVolumeに必要なアクセス許可
AWS KMS キーに必要なアクセス許可
カスタマーマネージド KMS キーを使用して HyperPod クラスターノードにアタッチされた Amazon EBS ボリュームを暗号化している場合にのみ、次の AWS KMS アクセス許可を追加します。 AWSマネージド KMS キー (デフォルトの暗号化オプション) を使用している場合、これらのアクセス許可は必要ありません。
注記
これらの AWS KMS アクセス許可は、カスタマーマネージド KMS キーで暗号化された Cluster Auto Volume Attachment (CAVA) ボリュームをデタッチsagemaker:DetachClusterNodeVolumeする場合には必要ありません。