ローカル Visual Studio コードを設定する - Amazon SageMaker AI

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

ローカル Visual Studio コードを設定する

管理者が の手順を完了したらローカル Visual Studio コードを SageMaker スペースに接続する、ローカルの Visual Studio コードをリモートの SageMaker スペースに接続できます。

スペースのリモートアクセスを有効にする

注記

この設定は 1 回だけ行う必要があります。

既存のスペースの場合

SageMaker スペースのリモートアクセスをアクティブ化します。

  1. SageMaker AI UI を開きます。

  2. 自分のスペースに移動します。

  3. スペースの詳細で、リモートアクセスをオンにします。

  4. スペースを起動します。

ローカル環境をセットアップする

ローカルマシンに Visual Studio Code をインストールします。要件の詳細については、「」を参照してくださいローカル Visual Studio コードを SageMaker スペースに接続する

ローカル VS Code に接続する

ローカルの Visual Studio コードからリモートの SageMaker スペースへの接続を確立する前に、管理者が である必要がありますリモートアクセスを設定する。管理者は、接続を確立するための特定の方法を設定します。設定した方法を選択します。

  1. SageMaker AI UI で、スペースに移動します。

  2. でオープンスペースを選択する

  3. VS Code を選択します。これを行うと、Visual Studio Code を開くように求められる場合があります。これを選択すると、ローカル VS Code が開き、確認のための別のポップアップが表示されます。完了すると、リモート接続が確立されます。

方法 2: AWS Toolkit for Visual Studio Code

Toolkit for VS Code ユーザーガイドの「 に接続する AWS」の情報と手順を使用します。

  1. VS Code を開きます。

  2. AWS Toolkit 拡張機能を開きます。

  3. AWS Explorer で、SageMaker AI を展開します。

  4. Studio スペースを見つけます。

  5. スペースの横にある接続アイコンを選択します。

方法 3: SSH CLI 経由でターミナルから接続する

シェルスクリプトを作成します (例: /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. スクリプトを実行可能にします。

    chmod +x /home/user/sagemaker_connect.sh
  2. 次のエントリを追加する$HOME/.ssh/configように を設定します。

Host my_space_name_abc HostName 'arn:PARTITION:sagemaker:REGION:ACCOUNT:space/DOMAIN_ID/space_name_abc' ProxyCommand '/home/user/sagemaker_connect.sh' '%h' ForwardAgent yes AddKeysToAgent yes StrictHostKeyChecking accept-new

たとえば、 は PARTITIONにすることができますaws

名前付き AWS 認証情報プロファイルを使用する必要がある場合は、次のようにプロキシコマンドを変更します。

ProxyCommand '/home/user/sagemaker_connect.sh' '%h' YOUR_CREDENTIAL_PROFILE_NAME
  • SSH 経由で接続するか、SCP コマンドを実行します。

ssh my_space_name_abc scp file_abc my_space_name_abc:/tmp/