View a markdown version of this page

Richten Sie Remote IDE ein - 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.

Richten Sie Remote IDE ein

Nachdem die Administratoren die Anweisungen unter abgeschlossen habenConnect Sie Ihre Remote-IDE mit SageMaker Räumen mit Fernzugriff, können Sie Ihre Remote-IDE mit Ihren SageMaker Remote-Spaces verbinden.

Einrichten Ihrer lokalen Umgebung

Installieren Sie Ihre bevorzugte Remote-IDE auf Ihrem lokalen Computer:

Informationen zu den Versionsanforderungen finden Sie unterAnforderungen an die IDE-Version.

Connect zu Ihrer Remote IDE her

Bevor Sie eine Verbindung von Ihrer Remote-IDE zu Ihren SageMaker Remote-Spaces herstellen können, muss Ihr Administrator dies tunEinrichten des Remotezugriffs. Ihr Administrator richtet eine bestimmte Methode ein, mit der Sie eine Verbindung herstellen können. Wählen Sie die Methode aus, die für Sie eingerichtet wurde.

Gehen Sie wie folgt vor, um per Deep-Link eine Verbindung herzustellen.

  1. Starten Sie Amazon SageMaker Studio.

  2. Navigieren Sie in der Studio-Benutzeroberfläche zu Ihrem Bereich.

  3. Wählen Sie „In VS Code öffnen“, „In Kiro öffnen“ oder „In Cursortaste öffnen“ für Ihre bevorzugte IDE. Stellen Sie sicher, dass Ihre bevorzugte IDE bereits auf Ihrem lokalen Computer installiert ist.

  4. Bestätigen Sie, dass Sie Ihre IDE öffnen möchten, wenn Sie dazu aufgefordert werden. Ihre IDE wird mit einem weiteren Popup-Fenster zur Bestätigung geöffnet. Sobald der Vorgang abgeschlossen ist, wird die Fernverbindung hergestellt.

Methode 2: AWS Toolkit in der Remote-IDE

Gehen Sie wie folgt vor, um eine Verbindung mithilfe des AWS Toolkit for Visual Studio Code herzustellen. Diese Methode ist für VS Code, Kiro und Cursor verfügbar.

  1. Öffnen Sie Ihre Remote-IDE (VS Code, Kiro oder Cursor).

  2. Öffnen Sie die AWS Toolkit-Erweiterung.

  3. Verbinden mit AWS.

  4. Erweitern Sie im AWS Explorer SageMaker AI und dann Studio.

  5. Suchen Sie Ihren Studio-Bereich.

  6. Wählen Sie das Symbol Verbinden neben Ihrem Bereich aus, um ihn zu starten.

    Anmerkung
    • Beenden Sie den Service und starten Sie ihn erneut im Toolkit für Visual Studio, um den Remotezugriff zu aktivieren, falls noch keine Verbindung besteht.

    • Wenn der Bereich keine unterstützte Instance-Größe verwendet, werden Sie aufgefordert, die Instance zu ändern.

Methode 3: Herstellen einer Verbindung vom Terminal über SSH-CLI

Wählen Sie eine der folgenden Plattformoptionen, um das Verfahren zum Herstellen einer Verbindung mithilfe der SSH-CLI anzuzeigen.

Anmerkung
Linux/macOS

Erstellen Sie ein Shell-Skript (zum Beispiel /home/user/sagemaker_connect.sh):

#!/bin/bash # Disable the -x option if printing each command is not needed. set -exuo pipefail SPACE_ARN="$1" AWS_PROFILE="${2:-}" # Validate ARN and extract region if [[ "$SPACE_ARN" =~ ^arn:aws[-a-z]*:sagemaker:([a-z0-9-]+):[0-9]{12}:space\/[^\/]+\/[^\/]+$ ]]; then AWS_REGION="${BASH_REMATCH[1]}" else echo "Error: Invalid SageMaker Studio Space ARN format." exit 1 fi # Optional profile flag PROFILE_ARG=() if [[ -n "$AWS_PROFILE" ]]; then PROFILE_ARG=(--profile "$AWS_PROFILE") fi # Start session START_SESSION_JSON=$(aws sagemaker start-session \ --resource-identifier "$SPACE_ARN" \ --region "${AWS_REGION}" \ "${PROFILE_ARG[@]}") # Extract fields using grep and sed SESSION_ID=$(echo "$START_SESSION_JSON" | grep -o '"SessionId": "[^"]*"' | sed 's/.*: "//;s/"$//') STREAM_URL=$(echo "$START_SESSION_JSON" | grep -o '"StreamUrl": "[^"]*"' | sed 's/.*: "//;s/"$//') TOKEN=$(echo "$START_SESSION_JSON" | grep -o '"TokenValue": "[^"]*"' | sed 's/.*: "//;s/"$//') # Validate extracted values if [[ -z "$SESSION_ID" || -z "$STREAM_URL" || -z "$TOKEN" ]]; then echo "Error: Failed to extract session information from sagemaker start session response." exit 1 fi # Call session-manager-plugin session-manager-plugin \ "{\"streamUrl\":\"$STREAM_URL\",\"tokenValue\":\"$TOKEN\",\"sessionId\":\"$SESSION_ID\"}" \ "$AWS_REGION" "StartSession"
  1. Machen Sie das Skript ausführbar:

    chmod +x /home/user/sagemaker_connect.sh
  2. Konfigurieren Sie $HOME/.ssh/config, um den folgenden Eintrag hinzuzufügen:

Host space-name HostName 'arn:PARTITION:sagemaker:us-east-1:111122223333:space/domain-id/space-name' ProxyCommand '/home/user/sagemaker_connect.sh' '%h' ForwardAgent yes AddKeysToAgent yes StrictHostKeyChecking accept-new

Die PARTITION kann beispielsweise aws sein.

Wenn Sie ein benanntes AWS Anmeldeinformationsprofil verwenden müssen, ändern Sie den Proxybefehl wie folgt:

ProxyCommand '/home/user/sagemaker_connect.sh' '%h' YOUR_CREDENTIAL_PROFILE_NAME
  • Verbinden Sie sich über SSH oder führen Sie den SCP-Befehl aus:

ssh space-name scp file_abc space-name:/tmp/
Windows

Voraussetzungen für Windows:

  • PowerShell 5.1 oder höher

  • SSH-Client (OpenSSH empfohlen)

Erstellen Sie ein PowerShell Skript (zum Beispiel): C:\Users\user-name\sagemaker_connect.ps1

# sagemaker_connect.ps1 param( [Parameter(Mandatory=$true)] [string]$SpaceArn, [Parameter(Mandatory=$false)] [string]$AwsProfile = "" ) # Enable error handling $ErrorActionPreference = "Stop" # Validate ARN and extract region if ($SpaceArn -match "^arn:aws[-a-z]*:sagemaker:([a-z0-9-]+):[0-9]{12}:space\/[^\/]+\/[^\/]+$") { $AwsRegion = $Matches[1] } else { Write-Error "Error: Invalid SageMaker Studio Space ARN format." exit 1 } # Build AWS CLI command $awsCommand = @("sagemaker", "start-session", "--resource-identifier", $SpaceArn, "--region", $AwsRegion) if ($AwsProfile) { $awsCommand += @("--profile", $AwsProfile) } try { # Start session and capture output Write-Host "Starting SageMaker session..." -ForegroundColor Green $startSessionOutput = & aws @awsCommand # Try to parse JSON response try { $sessionData = $startSessionOutput | ConvertFrom-Json } catch { Write-Error "Failed to parse JSON response: $_" Write-Host "Raw response was:" -ForegroundColor Yellow Write-Host $startSessionOutput exit 1 } $sessionId = $sessionData.SessionId $streamUrl = $sessionData.StreamUrl $token = $sessionData.TokenValue # Validate extracted values if (-not $sessionId -or -not $streamUrl -or -not $token) { Write-Error "Error: Failed to extract session information from sagemaker start session response." Write-Host "Parsed response was:" -ForegroundColor Yellow Write-Host ($sessionData | ConvertTo-Json) exit 1 } Write-Host "Session started successfully. Connecting..." -ForegroundColor Green # Create session manager plugin command $sessionJson = @{ streamUrl = $streamUrl tokenValue = $token sessionId = $sessionId } | ConvertTo-Json -Compress # Escape the JSON string $escapedJson = $sessionJson -replace '"', '\"' # Call session-manager-plugin & session-manager-plugin "$escapedJson" $AwsRegion "StartSession" } catch { Write-Error "Failed to start session: $_" exit 1 }
  • Konfigurieren Sie C:\Users\user-name\.ssh\config, um den folgenden Eintrag hinzuzufügen:

Host space-name HostName "arn:aws:sagemaker:us-east-1:111122223333:space/domain-id/space-name" ProxyCommand "C:\WINDOWS\System32\WindowsPowerShell\v1.0\powershell.exe" -ExecutionPolicy RemoteSigned -File "C:\\Users\\user-name\\sagemaker_connect.ps1" "%h" ForwardAgent yes AddKeysToAgent yes User sagemaker-user StrictHostKeyChecking accept-new