Connect ke VPC dengan subnet tanpa akses internet - Amazon SageMaker AI

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Connect ke VPC dengan subnet tanpa akses internet

Sebelum menghubungkan Visual Studio Code ke ruang Studio di subnet pribadi tanpa akses internet, pastikan administrator Anda memilikinyaSiapkan Studio untuk dijalankan dengan subnet tanpa akses internet dalam VPC.

Anda memiliki dua opsi untuk menghubungkan Kode Visual Studio lokal Anda ke ruang Studio di subnet pribadi:

  • Mengatur HTTP Proxy

  • Server dan ekstensi jarak jauh VS Code yang telah dikemas sebelumnya

Proxy HTTP dengan daftar izin terkontrol

Saat ruang Studio Anda berada di belakang firewall atau proxy, minta administrator Anda untuk mengizinkan akses ke server VS Code serta titik akhir yang terkait dengan ekstensi CDNs . Untuk informasi selengkapnya, lihat Siapkan Proxy HTTP dengan daftar izin terkontrol.

Setelah diatur, Anda dapat mengonfigurasi proxy HTTP untuk pengembangan jarak jauh VS Code dengan menyediakan URL proxy dengan remote.SSH.httpsProxy pengaturan remote.SSH.httpProxy atau.

catatan

Pertimbangkan untuk mengaktifkan “Remote.ssh: Gunakan File Konfigurasi Curl Dan Wget” untuk menggunakan konfigurasi dari lingkungan dan file jarak jauh. curlrc wgetrc Ini agar wgetrc file curlrc dan, ditempatkan di lokasi default masing-masing di SageMaker ruang, dapat digunakan untuk mengaktifkan kasus-kasus tertentu.

Opsi ini berfungsi ketika Anda diizinkan untuk mengatur proxy HTTP dan memungkinkan Anda menginstal ekstensi tambahan secara fleksibel, karena beberapa ekstensi memerlukan titik akhir publik.

Server dan ekstensi jarak jauh VS Code yang telah dikemas sebelumnya

Jika ruang Studio Anda tidak dapat mengakses titik akhir eksternal untuk mengunduh server dan ekstensi jarak jauh VS Code, Anda dapat mengemasnya terlebih dahulu. Dengan pendekatan ini, administrator Anda dapat mengekspor tarball yang berisi .VS Code-server direktori untuk versi VS Code tertentu. Kemudian, administrator menggunakan skrip SageMaker AI Lifecycle Configuration (LCC) untuk menyalin dan mengekstrak tarball ke direktori home Anda (). /home/sagemaker-user Untuk informasi selengkapnya, lihat Siapkan server dan ekstensi jarak jauh Kode Visual Studio yang sudah dikemas sebelumnya.

Petunjuk untuk menggunakan pra-pengemasan untuk server dan ekstensi jarak jauh VS Code Anda

  1. Instal VS Code di mesin lokal Anda

  2. Saat Anda terhubung ke SageMaker ruang:

    • Gunakan profil Default untuk memastikan kompatibilitas dengan ekstensi pra-paket. Jika tidak, Anda harus menginstal ekstensi menggunakan file VSIX yang diunduh setelah terhubung ke ruang Studio.

    • Pilih skrip LCC khusus versi VS Code untuk dilampirkan ke spasi saat Anda meluncurkan spasi.

Contoh penggunaan Dockerfile untuk pra-pengemasan server dan ekstensi jarak jauh VS Code Anda

Berikut ini adalah contoh Dockerfile untuk meluncurkan wadah lokal dengan server SSH pra-instal, jika tidak mungkin untuk membuat ruang dengan akses jarak jauh dan internet diaktifkan.

catatan
  • Dalam contoh ini server SSH tidak memerlukan otentikasi dan hanya digunakan untuk mengekspor server jarak jauh VS Code.

  • Wadah harus dibangun dan dijalankan pada arsitektur 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"]

Gunakan perintah berikut untuk membangun dan menjalankan wadah:

# 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 &'

Connect menggunakan perintah berikut:

ssh sagemaker-user@localhost -p 2222

Sebelum wadah ini dapat dihubungkan, konfigurasikan yang berikut ini dalam .ssh/config file. Setelah itu Anda akan dapat melihat remote_access_export sebagai nama host di panel samping SSH jarak jauh saat menghubungkan. Misalnya:

Host remote_access_export HostName localhost User=sagemaker-user Port 2222 ForwardAgent yes

Arsipkan /tmp/remote_access/.VS Code-server dan ikuti langkah-langkah di Server dan ekstensi jarak jauh VS Code yang sudah dikemas sebelumnya untuk menghubungkan dan menginstal ekstensi. Setelah membuka ritsleting, pastikan .VS Code-server folder ditampilkan sebagai folder induk.

cd /tmp/remote_access/ sudo tar -czvf VS Code-server-with-extensions-for-1.100.2.tar.gz .VS Code-server

Contoh skrip LCC (LCC-install-VS C ode-server-v 1.100.2)

Berikut ini adalah contoh cara menginstal versi tertentu dari server jarak jauh 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