SageMaker AI Spaces アドオンをインストールする - Amazon SageMaker AI

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

SageMaker AI Spaces アドオンをインストールする

依存関係

Amazon EKS Pod Identity Agent アドオン

  • オペレーターがAWS認証情報を取得するために必要です

  • 通常、ほとんどの EKS クラスターにプリインストールされています

  • インストール: EKS アドオン経由

証明書マネージャー

  • TLS 証明書管理に必要です

  • HyperPod クイッククラスター作成を使用する場合にプリインストール済み

  • インストール: EKS アドオン経由

EBS CSI ドライバー

  • スペース永続ストレージ (EBS ボリューム) に必要です

  • SageMaker コンソールを使用してインストールするときに自動的にインストールされる

  • AmazonEBSCSIDriverPolicy + HyperPod 固有のアクセス許可を持つ IAM ロールが必要です

  • インストール: EKS アドオン経由。ただし、 ガイドに従って HyperPod に必要な追加のアクセス許可をインストールしてください。

  • リファレンス: HyperPod での Amazon EBS CSI ドライバーの使用

WebUI Access のその他の依存関係

AWSLoad Balancerコントローラー

外部 DNS

  • WebUI アクセスにカスタムドメインを使用する場合に必要です

  • Route53 DNS レコードを自動的に管理します

  • Route53 アクセス許可を持つ IAM ロールが必要です

  • インストール: EKS アドオン経由

インストール

開始する前に、以下を確認してください。

  • Kubernetes バージョン 1.30 以降を実行しているワーカーノードが 1 つ以上あるアクティブな SageMaker HyperPod クラスター

  • 最小インスタンスタイプ (XX vCPU、YY GiB メモリ) のワーカーノードが 1 つ以上ある

Amazon SageMaker Spaces アドオンのインストール

SageMaker Spaces アドオンは、デフォルト設定の場合はクイックインストール、詳細設定の場合はカスタムインストールのいずれかを使用してインストールできます。

クイックインストール

  1. Amazon SageMaker コンソール (https://console.aws.amazon.com/sagemaker/) を開きます。

  2. クラスターリストからクラスターを選択します。

  3. IDE およびノートブックタブで、Amazon SageMaker Spaces を見つけ、クイックインストールを選択します。

クイックインストールは自動的に行われます。

  • アドオンに必要な IAM ロールを作成します。

  • Systems Manager に必要な IAM ロールでリモートアクセスモードを有効にする

  • アドオンをインストールし、ポッド ID の関連付けを設定します

カスタムインストール

  1. Amazon SageMaker コンソール (https://console.aws.amazon.com/sagemaker/) を開きます。

  2. クラスターリストからクラスターを選択します。

  3. IDE およびノートブックタブで、Amazon SageMaker Spaces を見つけ、カスタムインストールを選択します。

  4. 次のオプションを設定します。

    アドオンに必要な IAM ロール

    • 推奨されるアクセス許可を持つ新しい IAM ロールを作成するか、必要なアクセス許可を持つ既存のロールを使用するかを選択します (上記の「管理者アクセス許可の設定」セクションを参照)。

    リモートアクセス設定

    • を有効にして、ユーザーが AWSSystems Manager を使用してローカル Visual Studio Code からスペースに接続できるようにします

    • SSM マネージドインスタンスロールの場合:

      • 新しいロールの作成 – アドオンは、必要な Systems Manager アクセス許可を持つロールを作成および管理します。

      • 既存のロールを使用する – 必要な Systems Manager アクセス許可を持つ事前設定されたロールを選択します。

    • Spaces アドオン実行ロールに SSM マネージドインスタンスロールの PassRole アクセス許可があることを確認します。

    注記

    リモートアクセスを有効にすると、AWSSystems Manager のアドバンストインスタンス層が有効になり、インスタンスごとの追加料金が発生します。料金の詳細については、「Systems Manager の料金」を参照してください。

    ウェブブラウザのアクセス設定

    • Route 53 DNS 証明書と SSL 証明書を使用してユーザーがウェブブラウザ経由でスペースにアクセスできるようにするには、 を有効にします。

    • 前提条件: ブラウザアクセスを有効にする前に AWSLoad Balancer Controller をインストールする

    • Route 53 ホストゾーン: 既存のゾーンを選択するか、ホストゾーンの作成を選択します

    • サブドメイン: サブドメインプレフィックスを入力します (英数字とハイフンのみ、最大 63 文字)

    • SSL 証明書:

      • 新しい証明書の作成 – Route 53 DNS レコードを使用して AWSCertificate Manager から自動的にリクエストおよび検証されます

      • 既存の証明書を使用する – AWSCertificate Manager から SSL 証明書を選択する

    • トークン署名キー: JWT トークン署名用の AWSKMS 非対称キーを選択するか、署名キーの作成を選択します。

    注記

    ホストゾーンと DNS クエリには、標準の Route 53 料金が適用されます。料金については、Route 53の料金」を参照してください。

EKS アドオンのインストール - WebUI を使用した Jupyter K8s

設定ファイル

を作成するaddon-config.yaml:

jupyter-k8s: workspacePodWatching: enable: true jupyter-k8s-aws-hyperpod: clusterWebUI: enabled: true domain: "<DOMAIN_NAME>" awsCertificateArn: "<ACM_CERTIFICATE_ARN>" kmsEncryptionContext: enabled: true traefik: shouldInstall: true auth: kmsKeyId: "<KMS_KEY_ARN>"

次のプレースホルダーを置き換えます。

  • <DOMAIN_NAME>: ドメイン名 (例: jupyter.example.com)

  • <ACM_CERTIFICATE_ARN>: ACM 証明書 ARN (例: arn:aws:acm:us-west-2:111122223333:certificate/12345678-1234-1234-1234-123456789012

  • <KMS_KEY_ARN>: KMS キー ARN (例: arn:aws:kms:us-west-2:111122223333:key/12345678-1234-1234-1234-123456789012

によるインストールAWS CLI
aws eks create-addon \ --cluster-name <CLUSTER_NAME> \ --addon-name amazon-sagemaker-spaces \ --configuration-values file://addon-config.yaml \ --resolve-conflicts OVERWRITE \ --region <AWS_REGION>

既存のアドオンを更新するには:

aws eks update-addon \ --cluster-name <CLUSTER_NAME> \ --addon-name amazon-sagemaker-spaces \ --configuration-values file://addon-config.yaml \ --resolve-conflicts OVERWRITE \ --region <AWS_REGION>
によるインストールAWS マネジメントコンソール
  1. EKS コンソールに移動する → クラスターを選択する

  2. アドオンタブをクリック → 新しい を追加

  3. SageMaker Spaces アドオンを選択する

  4. 上記の YAML 設定をオプションの構成設定に貼り付ける

  5. クリック広告

インストールの検証
# Check addon status aws eks describe-addon \ --cluster-name <CLUSTER_NAME> \ --addon-name amazon-sagemaker-spaces \ --region <AWS_REGION>
ALB 属性のカスタマイズ

デフォルトでは、アドオンはウェブ UI で使用するパブリックロードバランサーを作成します。EKS アドオンプロパティを使用してロードバランサー属性をカスタマイズできます。

内部 ALB を作成するには、スキームを に設定しますinternal

jupyter-k8s-aws-hyperpod: clusterWebUI: enabled: true domain: "<DOMAIN_NAME>" awsCertificateArn: "<ACM_CERTIFICATE_ARN>" alb: scheme: "internal" # Default is "internet-facing"

alb.annotations フィールドを使用して ALB 設定をカスタマイズすることもできます。

jupyter-k8s-aws-hyperpod: clusterWebUI: enabled: true domain: "<DOMAIN_NAME>" awsCertificateArn: "<ACM_CERTIFICATE_ARN>" alb: scheme: "internal" annotations: alb.ingress.kubernetes.io/security-groups: "<SECURITY_GROUP_ID>" alb.ingress.kubernetes.io/subnets: "<SUBNET_ID_1>,<SUBNET_ID_2>" alb.ingress.kubernetes.io/load-balancer-attributes: "idle_timeout.timeout_seconds=60"

一般的な ALB 注釈:

  • alb.ingress.kubernetes.io/security-groups: ALB のセキュリティグループを指定する

  • alb.ingress.kubernetes.io/subnets: ALB のサブネットを指定する

  • alb.ingress.kubernetes.io/load-balancer-attributes: ALB 属性を設定する (アイドルタイムアウト、アクセスログなど)

使用可能なすべての注釈については、AWS「 Load Balancer Controller のドキュメント」を参照してください。

アドオンのアップグレード/バージョニング

aws eks update-addon \ --cluster-name <CLUSTER_NAME> \ --addon-name amazon-sagemaker-spaces \ --configuration-values file://addon-config.yaml \ --resolve-conflicts OVERWRITE \ --region <AWS_REGION>