기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
인터넷 액세스 없이 서브넷을 사용하여 VPC에 연결
인터넷에 액세스할 수 없는 프라이빗 서브넷의 Studio 공간에 원격 IDE를 연결하기 전에 관리자에게이 있는지 확인합니다VPC 내에서 인터넷 액세스 없이 서브넷에서 실행되도록 Studio 설정.
원격 IDE를 프라이빗 서브넷의 Studio 공간에 연결하는 옵션은 다음과 같습니다.
-
HTTP 프록시 설정(VS Code 및 Kiro에서 지원됨)
-
사전 패키징된 원격 서버 및 확장(VS Code만 해당)
중요
커서는 아웃바운드 인터넷 액세스 없이 프라이빗 서브넷의 Studio 공간에 연결하는 데 지원되지 않습니다.
제어된 허용 목록이 있는 HTTP 프록시
Studio 공간이 방화벽 또는 프록시 뒤에 있는 경우 관리자에게 IDE 서버 및 확장 관련 CDNs 및 엔드포인트에 대한 액세스를 허용하도록 요청합니다. 자세한 내용은 제어된 허용 목록으로 HTTP 프록시 설정 단원을 참조하십시오.
이 옵션은 HTTP 프록시를 설정할 수 있는 경우 작동하며 일부 확장에는 퍼블릭 엔드포인트가 필요하므로 추가 확장을 유연하게 설치할 수 있도록 합니다.
사전 패키징된 원격 서버 및 확장(VS Code만 해당)
참고
이 옵션은 Visual Studio Code에만 사용할 수 있습니다. Kiro 및 Cursor는 사전 패키징된 원격 서버 설정을 지원하지 않습니다.
Studio 스페이스가 외부 VS Code 원격 서버 및 확장 프로그램을 다운로드하기 위해 엔드포인트에 액세스할 수 없는 경우 사전 패키징할 수 있습니다. 이 접근 방식을 사용하면 관리자가 특정 버전의 VS Code에 대한 .VS
Code-server 디렉터리가 포함된 tarball을 내보낼 수 있습니다. 그런 다음, 관리자가 SageMaker AI 수명 주기 구성(LCC) 스크립트를 사용하여 사용자의 홈 디렉터리(/home/sagemaker-user)에 tarball을 복사하고 추출합니다. 자세한 내용은 사전 패키징된 원격 서버 및 확장 설정(VS Code만 해당) 단원을 참조하십시오.
VS Code 원격 서버 및 확장에 사전 패키징을 사용하기 위한 지침
-
로컬 머신에 VS Code를 설치합니다.
-
SageMaker 스페이스에 연결하는 경우:
-
기본 프로필을 사용하여 사전 패키징된 확장과의 호환성을 보장합니다. 아니면 Studio 스페이스에 연결한 후 다운로드한 VSIX 파일을 사용하여 확장 프로그램을 설치해야 합니다.
-
스페이스를 시작할 때 스페이스에 연결할 VS Code 버전에 해당하는 LCC 스크립트를 선택합니다.
-
VS Code 원격 서버 및 확장 사전 패키징을 위한 Dockerfile 사용 예시
다음은 원격 액세스가 가능하고 인터넷이 활성화된 스페이스를 생성할 수 없는 경우 SSH 서버가 사전 설치된 로컬 컨테이너를 시작하기 위한 샘플 Dockerfile입니다.
참고
-
이 예시에서 SSH 서버는 인증이 필요하지 않으며 VS Code 원격 서버를 내보내는 데만 사용됩니다.
-
컨테이너는 x64 아키텍처에서 구축되고 실행되어야 합니다.
FROM amazonlinux:2023 # Install OpenSSH server and required tools RUN dnf install -y \ openssh-server \ shadow-utils \ passwd \ sudo \ tar \ gzip \ && dnf clean all # Create a user with no password RUN useradd -m -s /bin/bash sagemaker-user && \ passwd -d sagemaker-user # Add sagemaker-user to sudoers via wheel group RUN usermod -aG wheel sagemaker-user && \ echo 'sagemaker-user ALL=(ALL) NOPASSWD:ALL' > /etc/sudoers.d/sagemaker-user && \ chmod 440 /etc/sudoers.d/sagemaker-user # Configure SSH to allow empty passwords and password auth RUN sed -i 's/^#\?PermitEmptyPasswords .*/PermitEmptyPasswords yes/' /etc/ssh/sshd_config && \ sed -i 's/^#\?PasswordAuthentication .*/PasswordAuthentication yes/' /etc/ssh/sshd_config # Generate SSH host keys RUN ssh-keygen -A # Expose SSH port EXPOSE 22 WORKDIR /home/sagemaker-user USER sagemaker-user # Start SSH server CMD ["bash"]
다음 명령을 사용하여 컨테이너를 구축하고 실행합니다.
# Build the image docker build . -t remote_server_export # Run the container docker run --rm -it -d \ -v /tmp/remote_access/.VS Code-server:/home/sagemaker-user/.VS Code-server \ -p 2222:22 \ --name remote_server_export \ remote_server_export # change the permisson for the mounted folder docker exec -i remote_server_export \ bash -c 'sudo chown sagemaker-user:sagemaker-user ~/.VS Code-server' # start the ssh server in the container docker exec -i remote_server_export bash -c 'sudo /usr/sbin/sshd -D &'
다음 명령을 사용하여 연결합니다.
ssh sagemaker-user@localhost -p 2222
이 컨테이너를 연결하려면 먼저 .ssh/config 파일에서 다음을 구성합니다. 그런 다음, 연결 시 원격 SSH 사이드 패널에서 remote_access_export가 호스트 이름인 것을 볼 수 있습니다. 예제:
Host remote_access_export HostName localhost User=sagemaker-user Port 2222 ForwardAgent yes
/tmp/remote_access/.VS Code-server를 아카이브하고 사전 패키징된 VS Code 원격 서버 및 확장의 단계를 수행하여 확장을 연결하고 설치합니다. 압축을 푼 후 .VS
Code-server 폴더가 상위 폴더로 표시되는지 확인합니다.
cd /tmp/remote_access/ sudo tar -czvf VS Code-server-with-extensions-for-1.100.2.tar.gz .VS Code-server
예시 LCC 스크립트(LCC-install-VS Code-server-v1.100.2)
다음은 특정 버전의 VS Code 원격 서버를 설치하는 방법의 예입니다.
#!/bin/bash set -x remote_server_file=VS Code-server-with-extensions-for-1.100.2.tar.gz if [ ! -d "${HOME}/.VS Code-server" ]; then cd /tmp aws s3 cp s3://S3_BUCKET/remote_access/${remote_server_file} . tar -xzvf ${remote_server_file} mv .VS Code-server "${HOME}" rm ${remote_server_file} else echo "${HOME}/.VS Code-server already exists, skipping download and install." fi