VPC 내에서 인터넷 액세스 없이 서브넷으로 실행되도록 Studio 설정 - Amazon SageMaker AI

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

VPC 내에서 인터넷 액세스 없이 서브넷으로 실행되도록 Studio 설정

이 가이드는 Amazon SageMaker AI 도메인이 인터넷 액세스 없이 프라이빗 서브넷에서 실행될 때 Visual Studio Code에서 Amazon SageMaker Studio 스페이스에 연결하는 방법을 보여줍니다. 격리된 네트워크 환경에서 보안 원격 연결을 설정하기 위한 연결 요구 사항 및 설정 옵션에 대해 알아봅니다.

인터넷에 액세스할 수 없는 서브넷이 있는 VPC 전용 모드에서 실행되도록 Amazon SageMaker Studio를 구성할 수 있습니다. 이 설정은 모든 트래픽이 VPC를 통해 흐르는 격리된 네트워크 환경에서 작동하여 기계 학습 워크로드의 보안을 강화합니다. 보안을 유지하면서 외부 통신을 활성화하려면 AWS 서비스에 VPC 엔드포인트를 사용하고 필요한 AWS 종속성에 대해 VPC PrivateLink를 구성합니다.

Studio 원격 액세스 네트워크 요구 사항

VPC 모드 제한 VPC 모드의 Studio는 프라이빗 서브넷만 지원합니다. Studio는 인터넷 게이트웨이(IGW)와 직접 연결된 서브넷에서는 작동할 수 없습니다. 원격 VS Code 연결은 SageMaker AI와 동일한 제한 사항을 공유합니다. 자세한 내용은 VPC의 Studio 노트북을 외부 리소스에 연결을 참조하세요.

VPC PrivateLink 요구 사항 SageMaker AI가 프라이빗 서브넷에서 실행되는 경우 SageMaker VPC 엔드포인트를 구성합니다. 자세한 내용은 VPC 엔드포인트를 통해 Studio 연결을 참조하세요.

  • com.amazonaws.REGION.ssm

  • com.amazonaws.REGION.ssmmessages

VS 코드별 네트워크 요구 사항

원격 VS Code 연결에는 원격 서버 및 확장을 설치하기 위해 특정 네트워크 액세스가 필요한 VS Code 원격 개발이 필요합니다. 전체 네트워크 요구 사항은 Visual Studio Code 설명서의 원격 개발 FAQ를 참조하세요. 다음은 요구 사항의 요약입니다.

  • VS Code 원격 서버를 설치 및 업데이트하려면 Microsoft의 VS Code 서버 엔드포인트에 대한 액세스 권한이 필요합니다.

  • 확장 패널을 통해 VS Code 확장을 설치하려면 Visual Studio Marketplace 및 관련 CDN 엔드포인트에 대한 액세스가 필요합니다(또는 인터넷 연결 없이 VSIX 파일을 사용하여 확장을 수동으로 설치할 수 있음).

  • 일부 확장에서는 특정 종속성을 다운로드하기 위해 추가 엔드포인트에 액세스해야 할 수 있습니다. 특정 연결 요구 사항은 확장 프로그램 설명서를 참조하세요.

Studio 원격 액세스 네트워크 설정

에는 로컬 Visual Studio 코드를 프라이빗 서브넷의 Studio 공간에 연결하는 두 가지 옵션이 있습니다.

  • HTTP 프록시

  • 사전 패키징된 VS Code 원격 서버 및 확장

제어된 허용 목록으로 HTTP 프록시 설정

Studio 공간이 방화벽 또는 프록시 뒤에 있는 경우 VS Code 서버 및 확장 관련 CDNs 및 엔드포인트에 대한 액세스를 허용합니다.

  1. HTTP 프록시(예: Squid)를 실행하도록 퍼블릭 서브넷을 설정합니다. 여기에서 허용할 웹 사이트를 구성할 수 있습니다. SageMaker 스페이스에서 HTTP 프록시에 액세스할 수 있는지 확인합니다.

  2. 퍼블릭 서브넷은 Studio에서 사용하는 것과 동일한 VPC 또는 Amazon SageMaker AI 도메인에서 사용하는 모든 VPC와 피어링된 별도의 VPCs

사전 패키징된 Visual Studio Code 원격 서버 및 확장 설정

Studio 스페이스가 외부 엔드포인트에 액세스하여 VS Code 원격 서버 및 확장 프로그램을 다운로드할 수 없는 경우 사전 패키징할 수 있습니다. 이 접근 방식을 사용하면 특정 버전의 VS Code에 대한 .VS Code-server 디렉터리가 포함된 tarball을 내보냅니다. 그런 다음 SageMaker AI 수명 주기 구성(LCC) 스크립트를 사용하여 Studio 공간의 홈 디렉터리(/home/sagemaker-user)에 tarball을 복사하고 추출합니다. 이 LCC 기반 솔루션은 AWS제공 이미지와 사용자 지정 이미지 모두에서 작동합니다. 프라이빗 서브넷을 사용하지 않는 경우에도이 접근 방식은 VS Code 원격 서버 및 사전 설치된 확장의 설정을 가속화합니다.

VS Code 원격 서버 및 확장 프로그램 사전 패키징 지침

  1. 로컬 시스템에 VS Code를 설치합니다.

  2. 로컬에서 또는 인터넷에 액세스할 수 있는 Studio 스페이스를 통해 SSH가 활성화된 Linux 기반 (x64) Docker 컨테이너를 시작합니다. 간소화를 위해 원격 액세스 및 인터넷이 활성화된 임시 Studio 공간을 사용하는 것이 좋습니다.

  3. 설치된 VS Code를 원격 SSH를 통해 로컬 Docker 컨테이너에 연결하거나 Studio 원격 VS Code 기능을 통해 Studio 스페이스에 연결합니다. VS Code는 연결 중에 원격 컨테이너의 .VS Code-server 홈 디렉터리에 있는에 원격 서버를 설치합니다. 자세한 정보는 VS Code 원격 서버 및 확장 프로그램 사전 패키징을 위한 Dockerfile 사용 예제을 참조하세요.

  4. 원격으로 연결한 후 VS 코드 기본 프로필을 사용해야 합니다.

  5. 필요한 VS Code 확장을 설치하고 기능을 검증합니다. 예를 들어 노트북을 생성하고 실행하여 VS Code 원격 서버에 Jupyter 노트북 관련 확장을 설치합니다.

    원격 컨테이너에 연결한 후 AWS Toolkit for Visual Studio Code 확장 프로그램을 설치해야 합니다.

  6. $HOME/.VS Code-server 디렉터리(예: VS Code-server-with-extensions-for-1.100.2.tar.gz)를 로컬 Docker 컨테이너 또는 원격으로 연결된 Studio 공간의 터미널에 보관합니다.

  7. Amazon S3에 tarball을 업로드합니다.

  8. 다음과 같은 LCC 스크립트(예제 LCC 스크립트(LCC-install-VS Code-server-v1.100.2))를 생성합니다.

    • Amazon S3에서 특정 아카이브를 다운로드합니다.

    • 프라이빗 서브넷의 Studio 공간이 시작될 때 홈 디렉터리로 압축을 풉니다.

  9. (선택 사항) 사용자별 Amazon S3 폴더에 저장된 사용자별 VS Code 서버 tarball을 지원하도록 LCC 스크립트를 확장합니다.

  10. (선택 사항) 스페이스에 연결할 수 있는 버전별 LCC 스크립트(예제 LCC 스크립트(LCC-install-VS Code-server-v1.100.2))를 유지 관리하여 로컬 VS Code 클라이언트와 원격 서버 간의 호환성을 보장합니다.