View a markdown version of this page

Installation du HyperPod Ray Endpoint Operator - Amazon SageMaker AI

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Installation du HyperPod Ray Endpoint Operator

Le HyperPod Ray Endpoint Operator génère des points de terminaison publics authentifiés pour les clusters Ray activés. HyperPod Après l'installation, vous pouvez accéder au Ray Dashboard en toute sécurité depuis n'importe où avec un accès Internet, soumettre et surveiller les tâches, et consulter les journaux et les métriques du cluster sans aucune configurationkubectl port-forward.

Important

Avant de procéder à l'installation, consultez Meilleures pratiques de sécurité pour le HyperPod Ray Endpoint Operator les conseils sur la sécurisation de votre déploiement.

Conditions préalables

  • Le module complémentaire SageMaker Spaces est actif lorsque l'accès au navigateur Web est activé. Le HyperPod Ray Endpoint Operator en dépend. Pour de plus amples informations, veuillez consulter Configuration du module complémentaire Spaces.

  • kubectlet helm installé, kubectl configuré pour votre cluster.

  • Le module complémentaire Amazon EKS Pod Identity Agent est installé sur votre cluster (obligatoire pour la signature KMS). Pour plus d'informations, consultez la section Configuration de l'agent d'identité EKS Pod dans le guide de l'utilisateur Amazon EKS.

Pour des informations générales sur l'installation des opérateurs sur HyperPod, voir Installation des opérateurs.

Comment fonctionne l'authentification

L'opérateur HyperPod Ray Endpoint utilise des jetons Web JSON (JWT) de courte durée pour authentifier l'accès aux tableaux de bord du cluster Ray. Lorsque vous demandez une URL de tableau de bord, l'opérateur vérifie votre identité via le serveur API Amazon EKS, confirme que vous avez créé le cluster Ray et renvoie une URL présignée. Lorsque vous ouvrez cette URL, l'opérateur échange le jeton contre un cookie de session.

Le jeton et le cookie de session sont tous deux limités au point de terminaison public d'un seul cluster Ray. Ils ne peuvent pas être utilisés pour accéder à d'autres clusters via le chemin authentifié du HyperPod Ray Endpoint Operator.

Les JWT sont signés à l'aide de touches qui pivotent toutes les 30 minutes. Lorsqu'une AWS KMS touche est configurée, le rotateur l'utilise AWS KMS pour générer du matériel clé de signature. Lorsqu'aucune AWS KMS touche n'est configurée, le rotateur génère des clés de signature localement. Nous vous recommandons de configurer une AWS KMS clé, car elle fournit un mécanisme de révocation hors bande et une piste d' CloudTrail audit pour les événements de génération de clés.

Configurer la signature KMS (recommandé)

Le HyperPod Ray Endpoint Operator fait alterner les clés de signature toutes les 30 minutes. Lorsqu'une AWS KMS touche est configurée, le rotateur l'utilise pour générer un nouveau matériel de clé de signature. Cela fournit deux fonctionnalités supplémentaires qui ne sont pas disponibles avec les clés générées localement :

  • Vous pouvez désactiver la AWS KMS clé pour révoquer toutes les sessions sans avoir besoin d'accéder au cluster.

  • CloudTrail enregistre chaque événement de génération de clé à des fins d'audit.

Pour configurer la signature KMS, procédez comme suit.

  1. Créez une AWS KMS clé. Pour plus d'informations, consultez Création des clés dans le Guide du développeur AWS KMS .

    aws kms create-key \ --key-spec SYMMETRIC_DEFAULT \ --key-usage ENCRYPT_DECRYPT \ --description "HyperPod Ray Endpoint Operator JWT signing"
  2. Créez un rôle IAM avec la politique d'autorisations minimales suivante. Pour plus d’informations, consultez Création de rôles IAM dans le Guide de l’utilisateur IAM.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "kms:GenerateDataKey", "Resource": "arn:aws:kms:region:account-id:key/key-id" } ] }
  3. Créez l'association Pod Identity. Pour plus d'informations, consultez Configuration d'un compte de service Kubernetes pour qu'il assume un rôle IAM avec EKS Pod Identity dans le guide de l'utilisateur Amazon EKS.

    aws eks create-pod-identity-association \ --cluster-name eks-cluster-name \ --namespace hyperpod-ray \ --service-account hyperpod-ray-endpoint-operator-jwt-rotator \ --role-arn arn:aws:iam::account-id:role/role-name

Installation du HyperPod Ray Endpoint Operator

  1. Clonez le sagemaker-hyperpod-cli référentiel et consultez la dernière balise de publication.

    git clone https://github.com/aws/sagemaker-hyperpod-cli.git cd sagemaker-hyperpod-cli git checkout $(git tag --sort=-v:refname | head -n 1)
  2. Installation en KMS-based signant (recommandé).

    helm upgrade --install hyperpod-ray-endpoint-operator \ ./helm_chart/HyperPodHelmChart/charts/hyperpod-ray-endpoint-operator \ --namespace hyperpod-ray \ --create-namespace \ --set region=region \ --set domain=your-route53-domain \ --set manager.enableEndpointsByDefault=true|false \ --set kmsKeyArn="arn:aws:kms:region:account-id:key/key-id"

    Pour installer sans KMS (les clés de signature sont générées localement) :

    helm upgrade --install hyperpod-ray-endpoint-operator \ ./helm_chart/HyperPodHelmChart/charts/hyperpod-ray-endpoint-operator \ --namespace hyperpod-ray \ --create-namespace \ --set region=region \ --set domain=your-route53-domain \ --set manager.enableEndpointsByDefault=true|false

    Où :

    • domainest le domaine Route 53 avec lequel le module complémentaire SageMaker Spaces a été configuré.

    • manager.enableEndpointsByDefaultcontrôle si les points de terminaison authentifiés du tableau de bord sont créés automatiquement pour chaque ressource Ray. Lorsque cette option est définie surtrue, toutes les ressources Ray (RayCluster, RayJobRayService,RayCronJob) obtiennent automatiquement des points de terminaison ; les ressources individuelles peuvent se désinscrire en ajoutant des annotations access.sagemaker.amazonaws.com/enabled: "false" à leurs métadonnées. Lorsque ce paramètre est défini surfalse, aucun point de terminaison n'est créé à moins qu'une ressource n'y consente explicitement. access.sagemaker.amazonaws.com/enabled: "true"

  3. Vérifiez que les modules opérateurs fonctionnent.

    kubectl get pods -n hyperpod-ray

Générer une URL présignée

Après avoir installé HyperPod Ray Endpoint Operator, générez une URL présignée pour un tableau de bord de cluster Ray à l'aide de l' HyperPod interface de ligne de commande :

hyp create ray-dashboard-connection \ --cluster-name ray-cluster-name \ --namespace namespace

Cette commande s'authentifie via votre contexte kubeconfig actuel, vérifie que vous êtes bien le propriétaire du cluster et renvoie une URL pré-signée de courte durée. Ouvrez l'URL dans un navigateur pour accéder au tableau de bord Ray.

Note

Pour générer une URL présignée, votre compte d'utilisateur ou de service Kubernetes doit être autorisé à accéder aux create RayDashboardConnection ressources du groupe d'API. connection.access.sagemaker.amazonaws.com

Pour la soumission de tâches programmatiques, utilisez la bibliothèque Python toolkit-for-ray-on-sagemaker-ai sur le site Web PyPI avec le schéma d'adresses au lieu de générer des URL manuellement : sagemaker_ray://

ray job submit --address "sagemaker_ray://cluster-name/namespace" -- python train.py

Le schéma d'sagemaker_ray://adresses gère l'authentification sans exposer d'URL dans la sortie du terminal ou dans les journaux.

Désinstallation

helm uninstall hyperpod-ray-endpoint-operator -n hyperpod-ray

Étapes suivantes

Après l'installation, découvrez Meilleures pratiques de sécurité pour le HyperPod Ray Endpoint Operator les meilleures pratiques en matière de sécurisation de l'accès au sein du cluster, de gestion des sessions et d'audit de l'utilisation des tableaux de bord.