View a markdown version of this page

Configura IDE remoto - Amazon SageMaker AI

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Configura IDE remoto

Dopo che gli amministratori hanno completato le istruzioni riportate inConnect il tuo IDE remoto a SageMaker spazi con accesso remoto, puoi connettere l'IDE remoto agli SageMaker spazi remoti.

Configurazione dell’ambiente locale

Installa il tuo IDE remoto preferito sul tuo computer locale:

Per informazioni sui requisiti di versione, vedereRequisiti della versione IDE.

Connect al tuo IDE remoto

Prima di poter stabilire una connessione dall'IDE remoto agli SageMaker spazi remoti, l'amministratore deve farloConfigurazione dell’accesso remoto. L’amministratore configura un metodo specifico per stabilire una connessione. Scegli il metodo che è stato configurato per te.

Utilizza la procedura seguente per stabilire una connessione tramite link diretto.

  1. Avvia Amazon SageMaker Studio.

  2. Nell’interfaccia utente di Studio, accedi al tuo spazio.

  3. Scegli il pulsante Apri in VS Code, Apri in Kiro o Apri in cursore per il tuo IDE preferito. Assicurati che il tuo IDE preferito sia già installato sul tuo computer locale.

  4. Quando richiesto, conferma l'apertura dell'IDE. L'IDE si apre con un altro pop-up di conferma. Una volta completata, viene stabilita la connessione remota.

Metodo 2: AWS Toolkit nell'IDE remoto

Utilizza la procedura seguente per stabilire una connessione con il AWS Toolkit for Visual Studio Code. Questo metodo è disponibile per VS Code, Kiro e Cursor.

  1. Apri il tuo IDE remoto (VS Code, Kiro o Cursor).

  2. Apri l'estensione AWS Toolkit.

  3. Connettiti ad AWS.

  4. In AWS Explorer, espandi SageMaker AI, quindi espandi Studio.

  5. Trova il tuo spazio Studio.

  6. Scegli l’icona Connetti accanto al tuo spazio per avviarlo.

    Nota
    • Arresta e riavvia lo spazio nel Kit di strumenti per Visual Studio per abilitare l’accesso remoto, se non è già connesso.

    • Se lo spazio non utilizza una dimensione dell’istanza supportata, ti verrà chiesto di modificare l’istanza.

Metodo 3: connettersi dal terminale tramite la CLI SSH

Scegli una delle seguenti opzioni di piattaforma per visualizzare la procedura per stabilire una connessione utilizzando la CLI SSH.

Nota
Linux/macOS

Crea uno script shell (ad esempio, /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. Rendi eseguibile lo script:

    chmod +x /home/user/sagemaker_connect.sh
  2. Configura $HOME/.ssh/config per aggiungere la voce seguente:

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

Ad esempio, PARTITION può essere aws.

Se è necessario utilizzare un profilo di AWS credenziali denominato, modificare il comando proxy come segue:

ProxyCommand '/home/user/sagemaker_connect.sh' '%h' YOUR_CREDENTIAL_PROFILE_NAME
  • Connettiti tramite SSH o esegui il comando SCP:

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

Prerequisiti per Windows:

  • PowerShell 5.1 o versione successiva

  • Client SSH (OpenSSH consigliato)

Crea uno PowerShell script (ad esempio,): 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 }
  • Configura C:\Users\user-name\.ssh\config per aggiungere la voce seguente:

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