Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Siapkan Kode Visual Studio lokal
Setelah administrator menyelesaikan instruksiHubungkan Kode Visual Studio lokal Anda ke SageMaker spasi dengan akses jarak jauh, Anda dapat menghubungkan Kode Visual Studio lokal Anda ke SageMaker ruang jarak jauh Anda.
Siapkan lingkungan lokal Anda
Instal Visual Studio Code di mesin lokal Anda. Untuk informasi tentang persyaratan, lihatHubungkan Kode Visual Studio lokal Anda ke SageMaker spasi dengan akses jarak jauh.
Connect ke VS Code lokal
Sebelum Anda dapat membuat koneksi dari Kode Visual Studio lokal 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.
Metode 1: Tautan dalam dari Studio UI
Gunakan prosedur berikut untuk membuat koneksi menggunakan deep link.
-
Luncurkan Amazon SageMaker Studio.
-
Di UI Studio, navigasikan ke ruang Anda.
-
Pilih Ruang terbuka dengan.
-
Pilih Kode VS. Ketika Anda melakukannya, Anda mungkin diminta untuk Membuka Kode Visual Studio. Ketika Anda memilih untuk melakukannya, Kode VS lokal Anda terbuka dengan pop-up lain untuk mengonfirmasi. Setelah selesai, koneksi jarak jauh dibuat.
Gunakan prosedur berikut untuk membuat koneksi menggunakan AWS Toolkit for Visual Studio Code.
-
Buka Kode VS.
-
Buka ekstensi AWS Toolkit.
-
Connect ke AWS.
-
Di AWS Explorer, perluas SageMaker AI.
-
Temukan ruang Studio Anda.
-
Pilih ikon Connect di sebelah ruang Anda untuk memulainya.
-
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.
- 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"
-
Jadikan skrip dapat dieksekusi:
chmod +x /home/user/sagemaker_connect.sh
-
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
ssh space-name
scp file_abc space-name:/tmp/
- Windows
-
Prasyarat untuk Windows:
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
}
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