翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
VPC 内のインターネットアクセスのないサブネットで実行するように Studio を設定する
このガイドでは、Amazon SageMaker AI ドメインがインターネットアクセスのないプライベートサブネットで実行されている場合に、Visual Studio Code から Amazon SageMaker Studio スペースに接続する方法について説明します。分離されたネットワーク環境で安全なリモート接続を確立するための接続要件とセットアップオプションについて説明します。
Amazon SageMaker Studio は、インターネットアクセスのないサブネットで VPC 専用モードで実行するように設定できます。この設定は、すべてのトラフィックが VPC を通過する隔離されたネットワーク環境で動作することで、機械学習ワークロードのセキュリティを強化します。セキュリティを維持しながら外部通信を有効にするには、 AWS サービスに VPC エンドポイントを使用し、必要な AWS 依存関係に VPC PrivateLink を設定します。
Studio リモートアクセスネットワークの要件
VPC モードの制限 Studio の VPC モードはプライベートサブネットのみをサポートします。Studio は、インターネットゲートウェイ (IGW) に直接アタッチされたサブネットを使用できません。リモート VS Code 接続は、SageMaker AI と同じ制限を共有します。詳細については、「VPC 内の Studio ノートブックを外部リソースに接続する」を参照してください。
VPC PrivateLink の要件 SageMaker AI がプライベートサブネットで実行される場合は、SageMaker に必要な標準 VPC エンドポイントに加えて、これらの SSM VPC エンドポイントを設定します。詳細については、「VPC エンドポイント経由で Studio を接続する」を参照してください。
-
com.amazonaws.
REGION
.ssm -
com.amazonaws.
REGION
.ssmmessages
VS Code 固有のネットワーク要件
リモート VS Code 接続には VS Code リモート開発が必要です。これには、リモートサーバーと拡張機能をインストールするための特定のネットワークアクセスが必要です。ネットワーク要件の詳細については、Visual Studio Code ドキュメントのリモート開発に関するよくある質問
-
VS Code リモートサーバーをインストールおよび更新するには、Microsoft の VS Code サーバーエンドポイントへのアクセスが必要です。
-
拡張機能パネルを使用して VS Code 拡張機能をインストールするには、Visual Studio Marketplace および関連する CDN エンドポイントへのアクセスが必要です (または、拡張機能はインターネット接続なしで VSIX ファイルを使用して手動でインストールすることもできます)。
-
一部の拡張機能では、特定の依存関係をダウンロードするために追加のエンドポイントへのアクセスが必要になる場合があります。特定の接続要件については、拡張機能のドキュメントを参照してください。
Studio リモートアクセスネットワークのセットアップ
ローカル Visual Studio コードをプライベートサブネットの Studio スペースに接続するには、次の 2 つのオプションがあります。
-
HTTP プロキシ
-
パッケージ化された VS Code リモートサーバーと拡張機能
制御された許可リストを使用して HTTP Proxy を設定する
Studio スペースがファイアウォールまたはプロキシの内側にある場合は、VS Code サーバーおよび拡張機能関連の CDNsとエンドポイントへのアクセスを許可します。
-
パブリックサブネットを設定して HTTP プロキシ (Squid など) を実行し、許可するウェブサイトを設定できます。SageMaker スペースから HTTP プロキシにアクセスできることを確認します。
-
パブリックサブネットは、Studio で使用されるのと同じ VPC 内、または Amazon SageMaker AI ドメインで使用されるすべての VPC とピア接続された個別の VPCs 内に配置できます。
パッケージ済みの Visual Studio Code リモートサーバーと拡張機能を設定する
Studio スペースが外部エンドポイントにアクセスして VS Code リモートサーバーと拡張機能をダウンロードできない場合は、事前にパッケージ化できます。この方法では、特定のバージョンの VS Code の .VS Code-server
ディレクトリを含む tarball をエクスポートします。次に、SageMaker AI ライフサイクル設定 (LCC) スクリプトを使用して、tarball をコピーして Studio スペースのホームディレクトリ (/home/sagemaker-user
) に抽出します。この LCC ベースのソリューションは、 AWS提供されているイメージとカスタムイメージの両方で動作します。プライベートサブネットを使用していない場合でも、このアプローチにより VS Code リモートサーバーとプリインストールされた拡張機能のセットアップが高速化されます。
VS Code リモートサーバーと拡張機能を事前にパッケージ化する手順
-
VS Code をローカルマシンにインストールします。
-
SSH が有効になっている Linux ベースの (x64) Docker コンテナをローカルで起動するか、インターネットアクセスのある Studio スペース経由で起動します。簡単にするために、リモートアクセスとインターネットを有効にした一時的な Studio スペースを使用することをお勧めします。
-
インストールした VS Code をリモート SSH 経由でローカル Docker コンテナに接続するか、Studio リモート VS Code 機能経由で Studio スペースに接続します。VS Code は、接続中にリモートコンテナ
.VS Code-server
のホームディレクトリの にリモートサーバーをインストールします。詳細については「VS Code リモートサーバーと拡張機能を事前パッケージ化するための Dockerfile の使用例」を参照してください。 -
リモート接続後、VS Code Default プロファイルを使用していることを確認します。
-
必要な VS Code 拡張機能をインストールし、その機能を検証します。たとえば、ノートブックを作成して実行し、VS Code リモートサーバーに Jupyter ノートブック関連の拡張機能をインストールします。
リモートコンテナに接続したら、必ず AWS Toolkit for Visual Studio Code 拡張機能をインストールしてください。
-
$HOME/.VS Code-server
ディレクトリ ( などVS Code-server-with-extensions-for-1.100.2.tar.gz
) をローカル Docker コンテナまたはリモート接続された Studio スペースのターミナルにアーカイブします。 -
tarball を Amazon S3 にアップロードします。
-
次の LCC スクリプト (LCC スクリプトの例 (LCC-install-VS Code-server-v1.100.2)) を作成します。
-
Amazon S3 から特定のアーカイブをダウンロードします。
-
プライベートサブネット内の Studio スペースが起動すると、ホームディレクトリに抽出されます。
-
-
(オプション) LCC スクリプトを拡張して、ユーザー固有の Amazon S3 フォルダに保存されているユーザーごとの VS Code サーバー tarball をサポートします。
-
(オプション) スペースにアタッチできるバージョン固有の LCC スクリプト (LCC スクリプトの例 (LCC-install-VS Code-server-v1.100.2)) を維持し、ローカル VS Code クライアントとリモートサーバー間の互換性を確保します。