Domain Amazon SageMaker dalam mode VPC saja untuk mendukung SageMaker Studio dengan Konfigurasi Siklus Hidup mati otomatis dan SageMaker Canvas dengan Terraform | Layanan Web Amazon

Domain Amazon SageMaker dalam mode VPC saja untuk mendukung SageMaker Studio dengan Konfigurasi Siklus Hidup mati otomatis dan SageMaker Canvas dengan Terraform | Layanan Web Amazon

Domain Amazon SageMaker mendukung lingkungan pembelajaran mesin (ML) SageMaker, termasuk SageMaker Studio dan SageMaker Canvas. Studio SageMaker adalah lingkungan pengembangan terintegrasi (IDE) yang menyediakan antarmuka visual berbasis web tunggal tempat Anda dapat mengakses alat yang dibuat khusus untuk melakukan semua langkah pengembangan ML, mulai dari menyiapkan data hingga membangun, melatih, dan menerapkan model ML Anda, meningkatkan ilmu data produktivitas tim hingga 10x. Kanvas SageMaker memperluas akses ke pembelajaran mesin dengan menyediakan antarmuka visual kepada analis bisnis yang memungkinkan mereka menghasilkan prediksi ML yang akuratโ€”tanpa memerlukan pengalaman ML atau harus menulis satu baris kode pun.

Terraform HashiCorp adalah alat infrastruktur sebagai kode (IaC) yang memungkinkan Anda mengatur infrastruktur dalam modul kode yang dapat digunakan kembali. Pelanggan AWS mengandalkan IaC untuk merancang, mengembangkan, dan mengelola infrastruktur cloud mereka, seperti Domain SageMaker. IaC memastikan bahwa infrastruktur dan layanan pelanggan konsisten, terukur, dan dapat direproduksi sambil mengikuti praktik terbaik di bidang operasi pengembangan (DevOps). Dengan menggunakan Terraform, Anda dapat mengembangkan dan mengelola Domain SageMaker dan infrastruktur pendukungnya secara konsisten dan berulang.

Dalam postingan ini, kami mendemonstrasikan implementasi Terraform untuk menerapkan Domain SageMaker dan Cloud Pribadi Virtual Amazon (Amazon VPC) yang terkait dengannya. Solusinya akan menggunakan Terraform untuk membuat:

  • VPC dengan subnet, grup keamanan, serta titik akhir VPC untuk mendukung mode VPC saja untuk Domain SageMaker.
  • Domain SageMaker dalam mode VPC saja dengan profil pengguna.
  • Kunci AWS Key Management Service (AWS KMS) untuk mengenkripsi volume Amazon Elastic File System (Amazon EFS) SageMaker Studio.
  • Konfigurasi Siklus Hidup yang dilampirkan ke Domain SageMaker untuk secara otomatis mematikan instans notebook Studio yang menganggur.
  • Peran eksekusi Domain SageMaker dan kebijakan IAM untuk mengaktifkan fungsi SageMaker Studio dan Canvas.

Solusi yang dijelaskan dalam posting ini tersedia di sini GitHub repo.

Ikhtisar solusi

Gambar berikut menunjukkan Domain SageMaker dalam mode VPC saja.

sagemaker_domain_vpc_only

Dengan meluncurkan Domain SageMaker di VPC, Anda dapat mengontrol aliran data dari lingkungan SageMaker Studio dan Canvas Anda. Hal ini memungkinkan Anda membatasi akses internet, memantau dan memeriksa lalu lintas menggunakan jaringan AWS standar dan kemampuan keamanan, serta terhubung ke sumber daya AWS lainnya melalui titik akhir VPC.

Persyaratan VPC untuk menggunakan mode VPC saja

Membuat Domain SageMaker dalam mode VPC saja memerlukan VPC dengan konfigurasi berikut:

  1. Setidaknya dua subnet privat, masing-masing di Availability Zone berbeda, untuk memastikan ketersediaan tinggi.
  2. Pastikan subnet Anda memiliki jumlah alamat IP yang diperlukan. Kami merekomendasikan antara dua dan empat alamat IP per pengguna. Total kapasitas alamat IP untuk domain Studio adalah jumlah alamat IP yang tersedia untuk setiap subnet yang disediakan saat domain dibuat.
  3. Siapkan satu atau beberapa grup keamanan dengan aturan masuk dan keluar yang bersama-sama mengizinkan lalu lintas berikut:
    • Lalu lintas NFS melalui TCP pada port 2049 antara domain dan volume Amazon EFS.
    • Lalu lintas TCP dalam grup keamanan. Ini diperlukan untuk konektivitas antara aplikasi JupyterServer dan aplikasi KernelGateway. Anda harus mengizinkan akses ke setidaknya port dalam rentang 8192โ€“65535.
  4. Buat titik akhir gateway untuk Amazon Simple Storage Service (Amazon S3). SageMaker Studio perlu mengakses Amazon S3 dari VPC Anda menggunakan titik akhir VPC Gateway. Setelah Anda membuat titik akhir gateway, Anda perlu menambahkannya sebagai target di tabel rute untuk lalu lintas yang ditujukan dari VPC Anda ke Amazon S3.
  5. Buat antarmuka VPC endpoint (AWS PrivateLink) untuk mengizinkan Studio mengakses layanan berikut dengan nama layanan yang sesuai. Anda juga harus mengaitkan grup keamanan untuk VPC Anda dengan titik akhir ini untuk mengizinkan semua lalu lintas masuk dari port 443:
    • API SageMaker: com.amazonaws.region.sagemaker.api. Ini diperlukan untuk berkomunikasi dengan SageMaker API.
    • Waktu proses SageMaker: com.amazonaws.region.sagemaker.runtime. Ini diperlukan untuk menjalankan notebook Studio dan untuk melatih serta menghosting model.
    • Toko Fitur SageMaker: com.amazonaws.region.sagemaker.featurestore-runtime. Ini diperlukan untuk menggunakan SageMaker Feature Store.
    • Proyek SageMaker: com.amazonaws.region.servicecatalog. Ini diperlukan untuk menggunakan Proyek SageMaker.

Titik akhir VPC tambahan untuk menggunakan SageMaker Canvas

Selain titik akhir VPC yang disebutkan sebelumnya, untuk menggunakan SageMaker Canvas, Anda juga perlu membuat titik akhir VPC antarmuka berikut:

  • Perkiraan Amazon dan Kueri Perkiraan Amazon: com.amazonaws.region.forecast dan com.amazonaws.region.forecastquery. Ini diperlukan untuk menggunakan Amazon Forecast.
  • Pengakuan Amazon: com.amazonaws.region.rekognition. Ini diperlukan untuk menggunakan Amazon Recognition.
  • Teks Amazon: com.amazonaws.region.textract. Ini diperlukan untuk menggunakan Amazon Textract.
  • Pemahaman Amazon: com.amazonaws.region.comprehend. Ini diperlukan untuk menggunakan Amazon Comprehend.
  • Layanan Token Keamanan AWS (AWS STS): com.amazonaws.region.sts. Hal ini diperlukan karena SageMaker Canvas menggunakan AWS STS untuk terhubung ke sumber data.
  • Amazon Athena dan AWS Glue: com.amazonaws.region.athena dan com.amazonaws.region.glue. Ini diperlukan untuk terhubung ke Katalog Data AWS Glue melalui Amazon Athena.
  • Pergeseran Merah Amazon: com.amazonaws.region.redshift-data. Ini diperlukan untuk terhubung ke sumber data Amazon Redshift.

Untuk melihat semua titik akhir VPC untuk setiap layanan yang dapat Anda gunakan dengan SageMaker Canvas, silakan kunjungi Konfigurasikan Amazon SageMaker Canvas di VPC tanpa akses internet.

Enkripsi AWS KMS untuk volume EFS SageMaker Studio

Saat pertama kali pengguna di tim Anda melakukan orientasi ke SageMaker Studio, SageMaker membuat volume EFS untuk tim. Direktori beranda dibuat dalam volume untuk setiap pengguna yang masuk ke Studio sebagai bagian dari tim Anda. File buku catatan dan file data disimpan di direktori ini.

Anda dapat mengenkripsi volume EFS SageMaker Studio Anda dengan kunci KMS sehingga data direktori home Anda dienkripsi saat istirahat. Solusi Terraform ini membuat kunci KMS dan menggunakannya untuk mengenkripsi volume EFS SageMaker Studio.

Konfigurasi Siklus Hidup Domain SageMaker untuk mematikan notebook Studio yang menganggur secara otomatis

sagemaker_auto_shutdown

Konfigurasi Siklus Hidup adalah skrip shell yang dipicu oleh peristiwa siklus hidup Amazon SageMaker Studio, seperti memulai notebook Studio baru. Anda dapat menggunakan Konfigurasi Siklus Hidup untuk mengotomatiskan penyesuaian untuk lingkungan Studio Anda.

Solusi Terraform ini membuat Konfigurasi Siklus Hidup SageMaker untuk mendeteksi dan menghentikan sumber daya menganggur yang menimbulkan biaya dalam Studio menggunakan ekstensi Jupyter yang dimatikan secara otomatis. Di balik terpal, sumber daya berikut dibuat atau dikonfigurasi untuk mencapai hasil yang diinginkan:

  1. Buat bucket S3 dan unggah versi terbaru ekstensi mati otomatis sagemaker_studio_autoshutdown-0.1.5.tar.gz. Nantinya script auto-shutdown akan menjalankan file tersebut s3 cp perintah untuk mengunduh file ekstensi dari bucket S3 pada start-up Server Jupyter. Silakan merujuk ke repo GitHub berikut untuk informasi lebih lanjut mengenai ekstensi mati otomatis dan skrip mati otomatis.
  2. Buat aws_sagemaker_studio_lifecycle_config sumber daya โ€œauto_shutdownโ€. Sumber daya ini akan mengkodekan autoshutdown-script.sh dengan basis 64 dan buat Konfigurasi Siklus Hidup untuk Domain SageMaker.
  3. Untuk pengaturan pengguna default Domain SageMaker, tentukan konfigurasi Siklus Hidup dan atur sebagai default.

Izin IAM peran eksekusi SageMaker

Sebagai layanan terkelola, SageMaker melakukan operasi atas nama Anda pada perangkat keras AWS yang dikelola oleh SageMaker. SageMaker hanya dapat melakukan operasi yang diizinkan oleh pengguna.

Pengguna SageMaker dapat memberikan izin ini dengan IAM role (disebut sebagai peran eksekusi). Saat Anda membuat domain SageMaker Studio, SageMaker memungkinkan Anda membuat peran eksekusi secara default. Anda dapat membatasi akses ke profil pengguna dengan mengubah peran profil pengguna SageMaker. Solusi Terraform ini melampirkan kebijakan IAM berikut ke peran eksekusi SageMaker:

  • SageMaker berhasil AmazonSageMakerFullAccess kebijakan. Kebijakan ini memberikan akses penuh kepada peran eksekusi untuk menggunakan SageMaker Studio.
  • Kebijakan IAM yang dikelola pelanggan untuk mengakses kunci KMS yang digunakan untuk mengenkripsi volume EFS SageMaker Studio.
  • SageMaker berhasil AmazonSageMakerCanvasFullAccess dan AmazonSageMakerCanvasAIServicesAccess kebijakan. Kebijakan ini memberikan akses penuh kepada peran eksekusi untuk menggunakan SageMaker Canvas.
  • Untuk mengaktifkan analisis deret waktu di SageMaker Canvas, Anda juga perlu menambahkan kebijakan kepercayaan IAM untuk Amazon Forecast.

Panduan solusi

Dalam postingan blog ini, kami mendemonstrasikan cara menerapkan solusi Terraform. Sebelum melakukan penerapan, pastikan untuk memenuhi prasyarat berikut:

Prasyarat

  • Akun AWS
  • Pengguna IAM dengan akses administratif

Langkah-langkah penerapan

Untuk memberikan pengalaman penerapan terpadu kepada pengguna yang mengikuti panduan ini, kami mendemonstrasikan proses penerapan dengan AWS CloudShell. Dengan menggunakan CloudShell, shell berbasis browser, Anda dapat dengan cepat menjalankan skrip dengan AWS Command Line Interface (AWS CLI), bereksperimen dengan API layanan menggunakan AWS CLI, dan menggunakan alat lain untuk meningkatkan produktivitas Anda.

Untuk menerapkan solusi Terraform, selesaikan langkah-langkah berikut:

Pengaturan peluncuran CloudShell

  • Masuk ke AWS Management Console dan pilih layanan CloudShell.
  • Di bilah navigasi, di pemilih Wilayah, pilih AS Timur (N. Virginia).

Browser Anda akan membuka terminal CloudShell.

Instal Terraform

Langkah selanjutnya harus dijalankan di terminal CloudShell.

Memeriksa panduan Hashicorp ini untuk instruksi terkini untuk menginstal Terraform untuk Amazon Linux:

  • Install yum-config-manager untuk mengelola repositori Anda.
sudo yum install -y yum-utils

  • penggunaan yum-config-manager untuk menambahkan repositori resmi HashiCorp Linux.
sudo yum-config-manager --add-repo https://rpm.releases.hashicorp.com/AmazonLinux/hashicorp.repo

  • Instal Terraform dari repositori baru.
sudo yum -y install terraform

  • Verifikasi bahwa instalasi berhasil dengan mencantumkan sub-perintah Terraform yang tersedia.
terraform -help

Keluaran yang diharapkan:

Usage: terraform [-version] [-help] <command> [args] The available commands for execution are listed below. The most common, useful commands are shown first, followed by less common or more advanced commands. If youโ€™re just getting started with Terraform, stick with the common commands. For the other commands, please read the help and docs before usage. โ€ฆ

Kloning repo kode

Lakukan langkah-langkah berikut di terminal CloudShell.

  • Kloning repo dan arahkan ke folder sagemaker-domain-vpconly-canvas-with-terraform:
git clone https://github.com/aws-samples/sagemaker-domain-vpconly-canvas-with-terraform.git cd sagemaker-domain-vpconly-canvas-with-terraform

  • Unduh ekstensi mati otomatis dan letakkan di assets/auto_shutdown_template folder:
wget https://github.com/aws-samples/sagemaker-studio-auto-shutdown-extension/raw/main/sagemaker_studio_autoshutdown-0.1.5.tar.gz -P assets/auto_shutdown_template

Terapkan solusi Terraform

Di terminal CloudShell, jalankan perintah Terraform berikut:

terraform init

Anda akan melihat pesan sukses seperti:

Terraform has been successfully initialized! You may now begin working with Terraform. Try running "terraform plan" to see any changes that are required for your infrastructure. All Terraform commands should now work...

Sekarang Anda dapat menjalankan:

terraform plan

Setelah Anda puas dengan sumber daya yang diuraikan dalam rencana yang akan dibuat, Anda dapat menjalankan:

terraform apply

Masukkan "iya nihโ€œ ketika diminta untuk mengonfirmasi penerapan.

Jika berhasil diterapkan, Anda akan melihat keluaran seperti ini:

Apply complete! Resources: X added, 0 changed, 0 destroyed.

Mengakses SageMaker Studio dan Canvas

Kami sekarang memiliki domain Studio yang dikaitkan dengan VPC kami dan profil pengguna di domain ini.

sagemaker_domain

Untuk menggunakan konsol SageMaker Studio, di Panel Kontrol Studio, temukan nama pengguna Anda (seharusnya defaultuser) dan pilih Buka Studio.

Kita berhasil! Sekarang Anda dapat menggunakan browser Anda untuk terhubung ke lingkungan SageMaker Studio. Setelah beberapa menit, Studio selesai membuat lingkungan Anda, dan Anda akan disambut dengan layar peluncur.

studio_landing_page

Untuk menggunakan konsol SageMaker Canvas, pada Panel Kontrol Canvas, temukan nama pengguna Anda (seharusnya defaultuser) dan pilih Buka Kanvas.

Sekarang Anda dapat menggunakan browser Anda untuk terhubung ke lingkungan SageMaker Canvas. Setelah beberapa menit, Canvas selesai membuat lingkungan Anda, dan Anda akan disambut dengan layar peluncur.

canvas_landing_page

Jangan ragu untuk menjelajahi fungsionalitas penuh yang ditawarkan SageMaker Studio dan Canvas! Silakan merujuk ke bagian Kesimpulan untuk lokakarya dan tutorial tambahan yang dapat Anda gunakan untuk mempelajari lebih lanjut tentang SageMaker.

Membersihkan

Jalankan perintah berikut untuk membersihkan sumber daya Anda:

terraform destroy

jenis: Jika Anda menetapkan kebijakan penyimpanan Amazon EFS sebagai โ€œRetainโ€ (default), Anda akan mengalami masalah selama โ€œterraform destroyโ€ karena Terraform mencoba menghapus subnet dan VPC ketika volume EFS serta grup keamanan terkait (yang dibuat oleh SageMaker) masih ada. Untuk memperbaikinya, pertama-tama hapus volume EFS secara manual lalu hapus subnet dan VPC secara manual di konsol AWS.

Kesimpulan

Solusi dalam postingan ini memberi Anda kemampuan untuk membuat Domain SageMaker untuk mendukung lingkungan ML, termasuk SageMaker Studio dan SageMaker Canvas dengan Terraform. SageMaker Studio menyediakan IDE yang terkelola sepenuhnya yang menghilangkan beban berat dalam proses ML. Dengan SageMaker Canvas, pengguna bisnis kami dapat dengan mudah menjelajahi dan membuat model ML untuk membuat prediksi akurat tanpa menulis kode apa pun. Dengan kemampuan meluncurkan Studio dan Canvas di dalam VPC dan penggunaan kunci KMS untuk mengenkripsi volume EFS, pelanggan dapat menggunakan lingkungan SageMaker ML dengan keamanan yang ditingkatkan. Konfigurasi Siklus Hidup mati otomatis membantu pelanggan menghemat biaya pada instans notebook Studio yang menganggur.

Uji solusi ini dan beri tahu kami pendapat Anda. Untuk informasi selengkapnya tentang cara menggunakan SageMaker Studio dan Sagemaker Canvas, lihat yang berikut ini:


tentang Penulis

chen_yang_awsChen Yang adalah Insinyur Pembelajaran Mesin di Amazon Web Services. Dia adalah bagian dari tim Layanan Profesional AWS, dan telah berfokus pada pembangunan lingkungan pembelajaran mesin yang aman bagi pelanggan. Di waktu luangnya, dia menikmati berlari dan mendaki di Pacific Northwest.

Stempel Waktu:

Lebih dari Pembelajaran Mesin AWS