View a markdown version of this page

Den HyperPod Ray Endpoint Operator installieren - Amazon SageMaker KI

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Den HyperPod Ray Endpoint Operator installieren

Der HyperPod Ray Endpoint Operator generiert authentifizierte öffentliche Endpunkte für Ray-Cluster on. HyperPod Nach der Installation können Sie von überall mit Internetzugang sicher auf das Ray Dashboard zugreifen, Jobs senden und überwachen sowie Protokolle und Cluster-Metriken einsehen, ohne dies einrichten zu müssen. kubectl port-forward

Wichtig

Informieren Sie sich vor der Installation über Hinweise Bewährte Sicherheitsmethoden für den HyperPod Ray Endpoint Operator zur Sicherung Ihrer Bereitstellung.

Voraussetzungen

  • Das SageMaker Spaces-Add-on ist aktiv und der Webbrowser-Zugriff ist aktiviert. Der HyperPod Ray Endpoint Operator hängt davon ab. Weitere Informationen finden Sie unter Einrichtung des Spaces-Add-ons.

  • kubectlund helm installiert, mit kubectl Konfiguration für Ihren Cluster.

  • Das Amazon EKS Pod Identity Agent-Add-on ist auf Ihrem Cluster installiert (für die KMS-Signatur erforderlich). Weitere Informationen finden Sie im Amazon EKS-Benutzerhandbuch unter EKS Pod Identity Agent einrichten.

Allgemeine Informationen zur Installation von Operatoren finden Sie unter Operatoren installieren. HyperPod

Wie funktioniert die Authentifizierung

Der HyperPod Ray Endpoint Operator verwendet kurzlebige JSON Web Tokens (JWTs), um den Zugriff auf Ray-Cluster-Dashboards zu authentifizieren. Wenn Sie eine Dashboard-URL anfordern, überprüft der Operator Ihre Identität über den Amazon EKS-API-Server, bestätigt, dass Sie den Ray-Cluster erstellt haben, und gibt eine vorsignierte URL zurück. Wenn Sie diese URL öffnen, tauscht der Operator das Token gegen ein Sitzungscookie aus.

Das Token und das Sitzungscookie sind beide auf den öffentlichen Endpunkt eines einzelnen Ray-Clusters beschränkt. Sie können nicht verwendet werden, um über den authentifizierten Pfad des HyperPod Ray Endpoint Operators auf andere Cluster zuzugreifen.

JWTs sind mit Schlüsseln signiert, die alle 30 Minuten rotieren. Wenn ein AWS KMS Schlüssel konfiguriert ist, verwendet der Rotator ihn, um AWS KMS Signaturschlüsselmaterial zu generieren. Wenn kein AWS KMS Schlüssel konfiguriert ist, generiert der Rotator lokal Signaturschlüssel. Es wird empfohlen, einen AWS KMS Schlüssel zu konfigurieren, da er einen Out-of-Band-Sperrmechanismus und einen CloudTrail Prüfpfad für Ereignisse bei der Schlüsselgenerierung bietet.

Richten Sie die KMS-Signatur ein (empfohlen)

Der HyperPod Ray Endpoint Operator wechselt die Signaturschlüssel alle 30 Minuten. Wenn ein AWS KMS Schlüssel konfiguriert ist, verwendet der Rotator ihn, um neues Signaturschlüsselmaterial zu generieren. Dies bietet zwei zusätzliche Funktionen, die bei lokal generierten Schlüsseln nicht verfügbar sind:

  • Sie können den AWS KMS Schlüssel deaktivieren, um alle Sitzungen zu widerrufen, ohne dass ein Clusterzugriff erforderlich ist.

  • CloudTrail zeichnet jedes Schlüsselgenerierungsereignis zur Überprüfung auf.

Gehen Sie wie folgt vor, um die KMS-Signatur einzurichten.

  1. Erstellen Sie einen AWS KMS Schlüssel. Weitere Informationen finden Sie unter Erstellen von Schlüsseln im AWS KMS -Entwicklerhandbuch.

    aws kms create-key \ --key-spec SYMMETRIC_DEFAULT \ --key-usage ENCRYPT_DECRYPT \ --description "HyperPod Ray Endpoint Operator JWT signing"
  2. Erstellen Sie eine IAM-Rolle mit der folgenden Mindestberechtigungsrichtlinie. Weitere Informationen finden Sie unter Erstellen von IAM-Rollen im -IAM-Benutzerhandbuch.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "kms:GenerateDataKey", "Resource": "arn:aws:kms:region:account-id:key/key-id" } ] }
  3. Erstellen Sie die Pod Identity-Zuordnung. Weitere Informationen finden Sie im Amazon EKS-Benutzerhandbuch unter Konfiguration eines Kubernetes-Dienstkontos zur Übernahme einer IAM-Rolle bei EKS Pod Identity.

    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

Installieren Sie den Ray Endpoint Operator HyperPod

  1. Klonen Sie das sagemaker-hyperpod-cli Repository und schauen Sie sich das neueste Release-Tag an.

    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 mit KMS-based Signierung (empfohlen).

    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"

    So installieren Sie ohne KMS (Signaturschlüssel werden lokal generiert):

    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

    Wobei Folgendes gilt:

    • domainist die Route 53-Domäne, mit der das SageMaker Spaces-Add-on konfiguriert wurde.

    • manager.enableEndpointsByDefaultsteuert, ob authentifizierte Dashboard-Endpunkte automatisch für jede Ray-Ressource erstellt werden. Wenn auf gesetzttrue, erhalten alle Ray-Ressourcen (RayCluster,, RayJobRayService,RayCronJob) automatisch Endpunkte. Einzelne Ressourcen können sich abmelden, indem sie access.sagemaker.amazonaws.com/enabled: "false" zu ihren Metadaten Anmerkungen hinzufügen. Wenn diese Option auf gesetzt istfalse, werden keine Endpunkte erstellt, es sei denn, eine Ressource meldet sich ausdrücklich mit an. access.sagemaker.amazonaws.com/enabled: "true"

  3. Vergewissern Sie sich, dass die Operator-Pods ausgeführt werden.

    kubectl get pods -n hyperpod-ray

Generieren Sie eine vorsignierte URL

Nachdem Sie den HyperPod Ray Endpoint Operator installiert haben, generieren Sie mithilfe der CLI eine vorsignierte URL für ein Ray-Cluster-Dashboard: HyperPod

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

Dieser Befehl authentifiziert sich über Ihren aktuellen kubeconfig-Kontext, überprüft, ob Sie der Cluster-Besitzer sind, und gibt eine kurzlebige, vorsignierte URL zurück. Öffnen Sie die URL in einem Browser, um auf das Ray-Dashboard zuzugreifen.

Anmerkung

Um eine vorsignierte URL zu generieren, muss Ihr Kubernetes-Benutzer- oder Dienstkonto über Berechtigungen für create RayDashboardConnection Ressourcen in der connection.access.sagemaker.amazonaws.com API-Gruppe verfügen.

Verwenden Sie für die programmatische Auftragsübermittlung die Python-Bibliothek toolkit-for-ray-on-sagemaker-ai auf der PyPI-Website mit dem Adressschema, anstatt URLs manuell zu generieren: sagemaker_ray://

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

Das sagemaker_ray:// Adressschema verarbeitet die Authentifizierung, ohne dass eine URL in der Terminalausgabe oder in den Protokollen preisgegeben wird.

Deinstallieren

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

Nächste Schritte

Informieren Sie sich nach der Installation über bewährte Methoden Bewährte Sicherheitsmethoden für den HyperPod Ray Endpoint Operator zur Sicherung des Cluster-Zugriffs, zur Sitzungsverwaltung und zur Überwachung der Dashboard-Nutzung.