View a markdown version of this page

Mengatur IDE Jarak Jauh - Amazon SageMaker AI

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Mengatur IDE Jarak Jauh

Setelah administrator menyelesaikan instruksiConnect Remote IDE Anda ke SageMaker spasi dengan akses jarak jauh, Anda dapat menghubungkan IDE Jarak Jauh Anda ke SageMaker ruang jarak jauh Anda.

Siapkan lingkungan lokal Anda

Instal Remote IDE pilihan Anda di mesin lokal Anda:

Untuk informasi tentang persyaratan versi, lihatPersyaratan versi IDE.

Connect ke Remote IDE Anda

Sebelum Anda dapat membuat koneksi dari Remote IDE Anda ke SageMaker ruang jarak jauh Anda, administrator Anda harusSiapkan akses jarak jauh. Administrator Anda menyiapkan metode khusus bagi Anda untuk membuat koneksi. Pilih metode yang disiapkan untuk Anda.

Gunakan prosedur berikut untuk membuat koneksi menggunakan deep link.

  1. Luncurkan Amazon SageMaker Studio.

  2. Di UI Studio, navigasikan ke ruang Anda.

  3. Pilih Buka di Kode VS, Buka di Kiro, atau Buka di tombol Kursor untuk IDE pilihan Anda. Pastikan bahwa IDE pilihan Anda sudah diinstal pada komputer lokal Anda.

  4. Saat diminta, konfirmasikan untuk membuka IDE Anda. IDE Anda terbuka dengan pop-up lain untuk mengonfirmasi. Setelah selesai, koneksi jarak jauh dibuat.

Metode 2: AWS Toolkit di Remote IDE

Gunakan prosedur berikut untuk membuat koneksi menggunakan AWS Toolkit for Visual Studio Code. Metode ini tersedia untuk VS Code, Kiro, dan Cursor.

  1. Buka IDE Jarak Jauh Anda (Kode VS, Kiro, atau Kursor).

  2. Buka ekstensi AWS Toolkit.

  3. Connect ke AWS.

  4. Di AWS Explorer, perluas SageMaker AI, lalu perluas Studio.

  5. Temukan ruang Studio Anda.

  6. Pilih ikon Connect di sebelah ruang Anda untuk memulainya.

    catatan
    • Hentikan dan restart ruang di Toolkit for Visual Studio untuk mengaktifkan akses jarak jauh, jika belum terhubung.

    • Jika ruang tidak menggunakan ukuran instans yang didukung, Anda akan diminta untuk mengubah instance.

Metode 3: Connect dari terminal melalui SSH CLI

Pilih salah satu opsi platform berikut untuk melihat prosedur untuk membuat koneksi menggunakan SSH CLI.

catatan
Linux/macOS

Buat skrip shell (misalnya,/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. Jadikan skrip dapat dieksekusi:

    chmod +x /home/user/sagemaker_connect.sh
  2. Konfigurasikan $HOME/.ssh/config untuk menambahkan entri berikut:

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

Misalnya, PARTITION bisaaws.

Jika Anda perlu menggunakan profil AWS kredensi bernama, ubah perintah proxy sebagai berikut:

ProxyCommand '/home/user/sagemaker_connect.sh' '%h' YOUR_CREDENTIAL_PROFILE_NAME
  • Connect melalui SSH atau jalankan perintah SCP:

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

Prasyarat untuk Windows:

  • PowerShell 5.1 atau yang lebih baru

  • Klien SSH (OpenSSH direkomendasikan)

Buat PowerShell skrip (misalnya,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 }
  • Konfigurasikan C:\Users\user-name\.ssh\config untuk menambahkan entri berikut:

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