Akses kontainer melalui SSM - Amazon SageMaker

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

Akses kontainer melalui SSM

Amazon SageMaker memungkinkan Anda terhubung dengan aman ke container Docker tempat model Anda digunakan untuk Inference menggunakan AWS Systems Manager (SSM). Ini memberi Anda akses tingkat shell ke wadah sehingga Anda dapat men-debug proses yang berjalan di dalam wadah dan mencatat perintah dan tanggapan dengan Amazon CloudWatch. Anda juga dapat mengatur AWS PrivateLink koneksi ke instance ML yang meng-host kontainer Anda untuk mengakses kontainer melalui SSM secara pribadi.

Awas

Mengaktifkan akses SSM dapat memengaruhi kinerja titik akhir Anda. Kami merekomendasikan penggunaan fitur ini dengan titik akhir dev atau pengujian Anda dan bukan dengan titik akhir dalam produksi. Selain itu, SageMaker secara otomatis menerapkan patch keamanan, dan mengganti atau menghentikan instans endpoint yang salah dalam waktu 10 menit. Namun untuk titik akhir dengan varian produksi yang diaktifkan SSM, SageMaker menunda penambalan keamanan dan mengganti atau menghentikan instans titik akhir yang salah dalam sehari, untuk memungkinkan Anda melakukan debug.

Bagian berikut merinci bagaimana Anda dapat menggunakan fitur ini.

Daftar Izinkan

Anda harus menghubungi dukungan pelanggan, dan daftar akun Anda diizinkan, untuk menggunakan fitur ini. Anda tidak dapat membuat titik akhir dengan akses SSM diaktifkan, jika akun Anda tidak diizinkan terdaftar untuk akses ini.

Aktifkan akses SSM

Untuk mengaktifkan akses SSM untuk kontainer yang ada pada titik akhir, perbarui titik akhir dengan konfigurasi titik akhir baru, dengan EnableSSMAccess parameter disetel ke true Contoh berikut menyediakan konfigurasi titik akhir sampel.

{ "EndpointConfigName": "endpoint-config-name", "ProductionVariants": [ { "InitialInstanceCount": 1, "InitialVariantWeight": 1.0, "InstanceType": "ml.t2.medium", "ModelName": model-name, "VariantName": variant-name, "EnableSSMAccess": true, }, ] }

Untuk informasi selengkapnya tentang mengaktifkan akses SSM, lihat EnablesSmAccess.

Konfigurasi IAM

Izin IAM titik akhir

Jika Anda telah mengaktifkan akses SSM untuk instance endpoint, SageMaker mulai dan mengelola agen SSM saat memulai instance endpoint. Untuk memungkinkan agen SSM berkomunikasi dengan layanan SSM, tambahkan kebijakan berikut ke peran eksekusi yang dijalankan endpoint.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ssmmessages:CreateControlChannel", "ssmmessages:CreateDataChannel", "ssmmessages:OpenControlChannel", "ssmmessages:OpenDataChannel" ], "Resource": "*" } ] }

Izin IAM pengguna

Tambahkan kebijakan berikut untuk memberikan izin sesi SSM pengguna IAM untuk terhubung ke target SSM.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ssm:StartSession", "ssm:TerminateSession" ], "Resource": "*" } ] }

Anda dapat membatasi titik akhir yang dapat dihubungkan oleh pengguna IAM, dengan kebijakan berikut. Ganti teks placeholder yang dicetak miring dengan informasi Anda sendiri.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ssm:StartSession", ], "Resource": [ "sagemaker-endpoint-arn" ] } ] }

Jika endpoint Anda berjalan dalam virtual private cloud (VPC) yang tidak terhubung ke internet publik, Anda dapat AWS PrivateLink menggunakannya untuk mengaktifkan SSM. AWS PrivateLink membatasi semua lalu lintas jaringan antara instans titik akhir Anda, SSM, dan Amazon EC2 ke jaringan Amazon. Untuk informasi selengkapnya tentang cara mengatur akses SSM AWS PrivateLink, lihat Mengatur titik akhir VPC untuk Pengelola Sesi.

Logging dengan Amazon CloudWatch Logs

Untuk titik akhir yang diaktifkan akses SSM, Anda dapat mencatat kesalahan dari agen SSM dengan Amazon Logs. CloudWatch Untuk informasi selengkapnya tentang cara mencatat kesalahan dengan CloudWatch Log, lihat Aktivitas sesi logging. Log tersedia di aliran log SSM,variant-name/ec2-instance-id/ssm, di bawah grup log titik akhir. /aws/sagemaker/endpoints/endpoint-name Untuk informasi selengkapnya tentang cara melihat log, lihat Melihat data log yang dikirim ke CloudWatch Log.

Varian produksi di belakang titik akhir Anda dapat memiliki beberapa wadah model. Log untuk setiap wadah model dicatat dalam aliran log. Setiap log didahului oleh[sagemaker ssm logs][container-name], di container-name mana nama yang Anda berikan ke wadah, atau nama default, seperticontainer_0, dan. container_1

Mengakses wadah model

Untuk mengakses wadah model pada instance endpoint Anda, Anda memerlukan ID targetnya. ID target ada dalam salah satu format berikut:

  • sagemaker-endpoint:endpoint-name_variant-name_ec2-instance-iduntuk wadah pada titik akhir kontainer tunggal

  • sagemaker-endpoint:endpoint-name_variant-name_ec2-instance-id_container-nameuntuk wadah pada titik akhir multi-kontainer

Contoh berikut menunjukkan bagaimana Anda dapat menggunakan AWS CLI untuk mengakses wadah model menggunakan ID target.

aws ssm start-session --target sagemaker-endpoint:prod-image-classifier_variant1_i-003a121c1b21a90a9_container_1

Jika Anda mengaktifkan logging, seperti yang disebutkan dalamLogging dengan Amazon CloudWatch Logs, Anda dapat menemukan ID target untuk semua kontainer yang terdaftar di awal aliran log SSM.

catatan
  • Anda tidak dapat terhubung ke wadah algoritma 1P atau wadah model yang diperoleh dari SageMaker MarketPlace SSM. Namun Anda dapat terhubung ke wadah pembelajaran mendalam (DLC) yang disediakan oleh AWS atau wadah khusus apa pun yang Anda miliki.

  • Jika Anda telah mengaktifkan isolasi jaringan untuk wadah model yang mencegahnya melakukan panggilan jaringan keluar, Anda tidak dapat memulai sesi SSM untuk wadah tersebut.

  • Anda hanya dapat mengakses satu kontainer dari satu sesi SSM. Untuk mengakses wadah lain, meskipun berada di belakang titik akhir yang sama, mulailah sesi SSM baru dengan ID target titik akhir tersebut.