SageMaker HyperPod 前提条件 - Amazon SageMaker

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

SageMaker HyperPod 前提条件

以下のセクションでは、 の使用を開始する前に準備する必要がある前提条件について説明します SageMaker HyperPod。

SageMaker HyperPod クォータ

AWS アカウントの SageMaker HyperPod クラスター使用量のクォータを指定して、クラスターを作成できます。

重要

SageMaker HyperPod 料金の詳細については、SageMaker HyperPod 価格設定「」および「Amazon の SageMaker 料金」を参照してください。

AWS マネジメントコンソールを使用して Amazon SageMaker HyperPod クォータを表示する

クォータ のデフォルト値と適用された値を検索します。クォータ は制限 とも呼ばれ、 に使用されるクラスターの使用状況 について検索します SageMaker HyperPod。

  1. Service Quotas コンソールを開きます。

  2. 左側のナビゲーションペインで [AWS services] ( のサービス) を選択します。

  3. AWS サービスリストから Amazon SageMakerを検索して選択します。

  4. サービスクォータリストには、サービスクォータ名、適用された値 (使用可能な場合)、 AWS デフォルトのクォータ、およびクォータ値が調整可能かどうかが表示されます。

  5. 検索バーに、クラスターの使用状況を入力します。これは、クラスターの使用状況のクォータ、適用されたクォータ、およびデフォルトのクォータを示しています。

AWS マネジメントコンソールを使用して Amazon SageMaker HyperPod クォータを引き上げるには

アカウントまたはリソースレベルでクォータを増やします。

  1. クラスター使用量 のインスタンスのクォータを増やすには、引き上げるクォータを選択します。

  2. クォータが調整可能な場合は、調整可能性列にリストされている値に基づいて、アカウントレベルまたはリソースレベルでクォータの引き上げをリクエストできます。

  3. クォータ値の増加 に、新しい値を入力します。新しい値は現在値よりも大きい値である必要があります。

  4. [リクエスト] を選択します。

  5. コンソールで保留中または最近解決されたリクエストを表示するには、サービスの詳細ページからリクエスト履歴タブに移動するか、ナビゲーションペインからダッシュボードを選択します。保留中のリクエストの場合は、リクエストのステータスを選択してリクエストの受信をオープンします。リクエストの初期ステータスは [Pending] (保留中) です。ステータスがクォータリクエスト に変わると、 のケース番号が表示されます AWS Support。リクエストのチケットを開くには、ケース番号を選択します。

クォータの引き上げの一般的なリクエストの詳細については、「Service Quotas ユーザーガイド」の「クォータの引き上げのリクエスト」を参照してください。 AWS Service Quotas

ユーザーとリソースの IAM SageMaker HyperPod ユーザーとロールを設定する

重要

Amazon SageMaker Studio または Amazon SageMaker Studio Classic が Amazon SageMaker リソースを作成できるようにするカスタム IAM ポリシーは、それらのリソースにタグを追加するアクセス許可も付与する必要があります。Studio と Studio Classic は、作成したリソースに自動的にタグ付けするため、リソースにタグを追加するアクセス許可が必要です。IAM ポリシーで Studio と Studio Classic がリソースの作成を許可しているが、タグ付けを許可していない場合、リソースの作成時にAccessDenied「」エラーが発生する可能性があります。詳細については、「リソースにタグ付け SageMakerするためのアクセス許可を提供する」を参照してください。

AWS Amazon の マネージドポリシー SageMaker SageMaker リソースを作成するアクセス許可を付与する には、それらのリソースの作成中にタグを追加するアクセス許可が既に含まれています。

ユーザーには、 SageMaker HyperPod AWS アカウント管理者クラスター管理者 (クラウドアーキテクトなど)、クラスターユーザー (機械学習サイエンティストなど) の 3 つの主要なレイヤーがあります。 AWS アカウント管理者は、クラスター管理者に適したアクセス許可またはポリシーをアタッチして IAM ユーザーを設定する必要があります。クラスター管理者の場合、 AWS アカウント管理者はクラスター管理者が Amazon S3、Amazon 、および AWS Systems Manager (SSM) などの必要な AWS リソースを実行 CloudWatchおよび通信するために引き受け SageMaker HyperPod ることができる IAM ロールも作成する必要があります。最後に、クラスター管理者は、SSM エージェントを介してクラスターにログインするアクセス許可を SageMaker HyperPodクラスターユーザーに付与できます。

クラスター管理者の IAM ユーザーを設定する

クラスター管理者は、クラスターを運用および設定 SageMaker HyperPodし、 でタスクを実行するクラウドアーキテクトです運用 SageMaker HyperPod。次のポリシー例には、クラスター管理者が SageMaker HyperPod コア APIs を実行し、 AWS アカウント内のクラスターを管理するための最小限のアクセス許可セットが含まれています。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "sagemaker:CreateCluster", "sagemaker:ListClusters" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "sagemaker:DeleteCluster", "sagemaker:DescribeCluster", "sagemaker:DescribeClusterNode", "sagemaker:ListClusterNodes", "sagemaker:UpdateCluster", "sagemaker:UpdateClusterSoftware" ], "Resource": "arn:aws:sagemaker:region:account-id:cluster/*" } ] }

SageMaker コンソールへのアクセス許可を付与するには、「Amazon SageMaker コンソールの使用に必要なアクセス許可」に記載されているサンプルポリシーを使用します。

SSM コンソールへのアクセス許可を付与するには、「 ユーザーガイド」の AWS Systems Manager「コンソールの使用」に記載されているサンプルポリシーを使用します。 AWS Systems Manager

また、AmazonSageMakerFullAccessポリシーを IAM ユーザーにアタッチすることを検討することもできます。ただし、AmazonSageMakerFullAccessポリシーは SageMaker API コール、機能、リソース全体にアクセス許可を付与することに注意してください。

IAM ユーザー全般のガイダンスについては、「 ユーザーガイド」の「IAM ユーザーAWS Identity and Access Management 」を参照してください。

クラスターユーザーの IAM ユーザーを設定する

クラスターユーザーは、クラスター管理者によってプロビジョニングされた SageMaker HyperPod クラスターノードにログインして ML ワークロードを実行する機械学習エンジニアです。 AWS アカウントのクラスターユーザーには、SSM start-session コマンドを実行する"ssm:StartSession"アクセス許可を付与する必要があります。IAM ユーザー向けのポリシーの例を次に示します。

すべてのリソースへの IAM アクセス許可

次のポリシーを追加して、IAM ユーザーにすべてのリソースの SSM ターゲットに接続するための SSM セッションアクセス許可を付与します。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ssm:StartSession", "ssm:TerminateSession" ], "Resource": "*" } ] }

の IAM ロール SageMaker HyperPod

SageMaker HyperPod クラスターを実行して必要な AWS リソースと通信するには、 マネージド をAmazonSageMakerClusterInstanceRolePolicyクラスターインスタンスグループにアタッチする必要があります。この AWS 管理ポリシーを考慮すると、 SageMaker HyperPod クラスターインスタンスグループは Amazon 、Amazon S3 CloudWatch、および AWS Systems Manager エージェント (SSM Agent) と通信するロールを引き受けます。 Amazon S3 この管理ポリシーは、リソースを適切に実行するための最小要件 SageMaker HyperPodであるため、このポリシーを持つ IAM ロールをすべてのインスタンスグループに提供する必要があります。には次のアクセス許可AmazonSageMakerClusterInstanceRolePolicyがあります。

  • logs - SageMaker HyperPod がログストリームを発行できるようにする必要があります。

  • cloudwatch – が CloudWatch メトリクスを投稿できるように SageMaker HyperPodする必要があります。

  • s3 - SageMaker HyperPod がプレフィックス を持つアカウント内の Amazon S3 バケットからファイルをリストおよび取得できるようにする必要がありますsagemaker-

  • ssmmessages - SSM エージェントが SSM バックエンドサービスと通信できるようにするために必要です。プリンシパルは SSM エージェントを使用して、コントロールチャネルとデータチャネルを作成および開くことができます。 は、クラスターインスタンス SageMaker を開始するときに SSM エージェントを起動および管理します。

ヒント

複数のインスタンスグループのアクセス許可のレベルを設計することの設定に応じて、複数の IAM ロールをセットアップし、異なるインスタンスグループにアタッチすることもできます。特定のクラスターノードへの SageMaker HyperPod クラスターユーザーアクセスを設定すると、ノードは手動でアタッチした選択的なアクセス許可を持つロールを引き受けます。

AWS アカウント管理者またはクラスター管理者として、 を介して特定のクラスターノードへのクラスターユーザーアクセスを設定すると AWS Systems Manager ( も参照クラスターユーザーアクセスコントロールのセットアップ AWS Systems Manager と実行)、クラスターノードは、手動でアタッチする選択的なアクセス許可を持つロールを引き受けます。

IAM ロールの作成が完了したら、その名前と ARNs。 SageMaker HyperPod クラスターの作成時にロールを使用し、各インスタンスグループが必要なリソースと AWS 通信するために必要な適切なアクセス許可を付与します。

(オプション) Amazon Virtual Private Cloud SageMaker HyperPod で を使用するための追加のアクセス許可

デフォルトの SageMaker VPC の代わりに独自の Amazon Virtual Private Cloud (VPC) を使用する場合は、 の IAM ロールに次のアクセス許可を追加する必要があります SageMaker HyperPod。

{ "Effect": "Allow", "Action": [ "ec2:CreateNetworkInterface", "ec2:CreateNetworkInterfacePermission", "ec2:DeleteNetworkInterface", "ec2:DeleteNetworkInterfacePermission", "ec2:DescribeNetworkInterfaces", "ec2:DescribeVpcs", "ec2:DescribeDhcpOptions", "ec2:DescribeSubnets", "ec2:DescribeSecurityGroups", "ec2:DetachNetworkInterface" ], "Resource": "*" } { "Effect": "Allow", "Action": "ec2:CreateTags", "Resource": [ "arn:aws:ec2:*:*:network-interface/*" ] }

次のリストは、独自の Amazon VPC で SageMaker HyperPod クラスターを設定するときにクラスター機能を有効にするために必要なアクセス許可をまとめたものです。

  • VPC で SageMaker HyperPod クラスターの設定を有効にするには、次のec2アクセス許可が必要です。

    { "Effect": "Allow", "Action": [ "ec2:CreateNetworkInterface", "ec2:CreateNetworkInterfacePermission", "ec2:DeleteNetworkInterface", "ec2:DeleteNetworkInterfacePermission", "ec2:DescribeNetworkInterfaces", "ec2:DescribeVpcs", "ec2:DescribeDhcpOptions", "ec2:DescribeSubnets", "ec2:DescribeSecurityGroups" ], "Resource": "*" }
  • SageMaker HyperPod 自動再開機能 を有効にするには、次のec2アクセス許可が必要です。

    { "Effect": "Allow", "Action": [ "ec2:DetachNetworkInterface" ], "Resource": "*" }
  • 次のec2アクセス許可により SageMaker HyperPod 、 はアカウント内のネットワークインターフェイスにタグを作成できます。

    { "Effect": "Allow", "Action": "ec2:CreateTags", "Resource": [ "arn:aws:ec2:*:*:network-interface/*" ] }

クラスターユーザーアクセスコントロールのセットアップ AWS Systems Manager と実行

SageMaker HyperPod DLAMI には、 SageMaker HyperPod クラスターインスタンスグループへのアクセスを管理するのに役立つ AWS Systems Manager (SSM) が付属しています。このセクションでは、 SageMaker HyperPod クラスターにオペレーティングシステム (OS) ユーザーを作成し、IAM ユーザーとロールに関連付ける方法について説明します。これは、OS ユーザーアカウントの認証情報を使用して SSM セッションを認証するのに役立ちます。

AWS アカウントで Run As を有効にする

AWS アカウント管理者またはクラウド管理者は、SSM の Run As 機能を使用して、IAM ロールまたはユーザーレベルで SageMaker HyperPod クラスターへのアクセスを管理できます。この機能を使用すると、IAM ロールまたはユーザーに関連付けられた OS ユーザーを使用して、各 SSM セッションを開始できます。

AWS アカウントで Run As を有効にするには、「Linux および macOS マネージドノード の Run As サポートを有効にする」の手順に従います。クラスターで既に OS ユーザーを作成している場合は、「Linux および macOS マネージドノード の Run As サポートを有効にするには」のステップ 5 のオプション 2 で説明されているようにタグ付けして、それらを IAM ロールまたはユーザーに関連付けるようにしてください。

にアタッチされた Amazon FSx ファイルシステムを共有スペース SageMaker HyperPod として使用して Linux ユーザーを設定する

SSM と共有スペースを介してクラスターにアクセスするように HyperPod クラスターユーザーをセットアップするには、 HyperPod クラスターを作成するためのライフサイクル設定スクリプトを準備する際に、ユーザーを追加するためのスクリプトを設定する必要があります。セクション GitHubで導入されたリポジトリにはが提供する基本ライフサイクルスクリプトから開始する HyperPod、 からユーザーデータを読みadd_users.sh取る という名前のスクリプトがありますshared_users.txt。ライフサイクルスクリプトの準備と S3 バケットへのアップロードの一環として、2 つのファイルをアップロードする必要があることに注意してください。これは、 セクションの開始方法 SageMaker HyperPodと セクションで学習しますAmazon FSx 共有スペースを使用してマルチユーザー環境を設定する

(オプション) Amazon VPC SageMaker HyperPod で をセットアップする

VPC を指定しない場合、 はデフォルトの SageMaker VPC SageMaker HyperPod を使用します。Amazon VPC で SageMaker HyperPod クラスターを設定するには、次の項目を確認します。

  • 独自の VPC を使用して VPC 内の AWS リソース SageMaker HyperPod に接続する場合は、 の作成時に VPC 名、ID AWS リージョン、サブネット ID、セキュリティグループ ID を指定する必要があります SageMaker HyperPod。新しい VPC を作成する場合は、Amazon Virtual Private Cloud ユーザーガイド」の「デフォルトの VPC を作成する」または「VPC を作成する」を参照してください。

  • 同じ AWS リージョン とアベイラビリティーゾーンにすべてのリソースを作成し、VPC 内のリソース間の接続を許可するようにセキュリティグループルールを設定することが重要です。例えば、 で VPC を作成するとしますus-west-2。この VPC のアベイラビリティーゾーン にサブネットを作成しus-west-2a、セキュリティグループ内からのすべての受信 (インバウンド) トラフィックとすべてのアウトバウンドトラフィックを許可するセキュリティグループを作成する必要があります。

  • また、VPC が (S3) に接続 Amazon Simple Storage Service されていることを確認する必要もあります。VPC を設定すると、 SageMaker HyperPod インスタンスグループはインターネットにアクセスできないため、ライフサイクルスクリプト、トレーニングデータ、モデルアーティファクトなどのファイルにアクセスまたは保存するために Amazon S3 に接続できません。VPC の使用中に Amazon S3 との接続を確立するには、VPC エンドポイントを作成する必要があります。VPC エンドポイントを作成することで、 SageMaker HyperPod インスタンスグループが同じ VPC 内の S3 バケットにアクセスすることを許可できます。また、プライベート VPC からのリクエストのみに S3 バケットへのアクセスを許可するカスタムポリシーを作成することをお勧めします。詳細については、「 AWS PrivateLink ガイド」のAmazon S3 のエンドポイント」を参照してください。

  • EFA 対応インスタンスで HyperPod クラスターを作成する場合は、セキュリティグループ自体との間で送受信されるすべてのトラフィックを許可するようにセキュリティグループを設定してください。詳細については、「Amazon EC2 ユーザーガイド」の「ステップ 1: EFA 対応セキュリティグループを準備する」を参照してください。 Amazon EC2

(オプション) Amazon FSx for Lustre SageMaker HyperPod でセットアップする

クラスター SageMaker HyperPod と FSx for Lustre ファイルシステム間のデータパスの使用とマッピングを開始するには、 で AWS リージョン サポートされている のいずれかを選択します SageMaker HyperPod。 AWS リージョン 任意の を選択したら、使用するアベイラビリティーゾーン (AZ) も決定する必要があります。同じ 内で FSx for Lustre ファイルシステムがセットアップされている AZs とは異なる AZs で SageMaker HyperPod コンピューティングノードを使用する場合 AWS リージョン、通信とネットワークのオーバーヘッドが発生する可能性があります。 SageMaker HyperPod クラスターと FSx for Lustre ファイルシステム間のクロス AZ トラフィックを避けるため、 SageMaker HyperPod サービスアカウントと同じ物理 AZ を使用することをお勧めします。また、VPC で設定していることを確認します。Amazon FSx をストレージのメインファイルシステムとして使用する場合は、VPC で SageMaker HyperPod クラスターを設定する必要があります。