Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Menskalakan titik akhir ke nol instance
Saat menyiapkan penskalaan otomatis untuk titik akhir, Anda dapat mengizinkan proses penskalaan untuk mengurangi jumlah instans dalam layanan menjadi nol. Dengan demikian, Anda menghemat biaya selama periode ketika titik akhir Anda tidak melayani permintaan inferensi dan oleh karena itu tidak memerlukan instance aktif apa pun.
Namun, setelah menskalakan ke nol instans, titik akhir Anda tidak dapat menanggapi permintaan inferensi yang masuk hingga menyediakan setidaknya satu instance. Untuk mengotomatiskan proses penyediaan, Anda membuat kebijakan penskalaan langkah dengan Application Auto Scaling. Kemudian, Anda menetapkan kebijakan ke CloudWatch alarm Amazon.
Setelah menyiapkan kebijakan penskalaan langkah dan alarm, titik akhir Anda akan secara otomatis menyediakan instance segera setelah menerima permintaan inferensi yang tidak dapat ditanggapi. Ketahuilah bahwa proses penyediaan memakan waktu beberapa menit. Selama waktu itu, setiap upaya untuk memanggil titik akhir akan menghasilkan kesalahan.
Prosedur berikut menjelaskan cara mengatur penskalaan otomatis untuk titik akhir sehingga skalanya masuk ke, dan keluar dari, nol instance. Prosedur menggunakan perintah dengan AWS CLI.
Sebelum Anda mulai
Sebelum titik akhir Anda dapat menskalakan ke, dan keluar dari, nol instans, titik akhir harus memenuhi persyaratan berikut:
-
Itu dalam pelayanan.
-
Ini menampung satu atau lebih komponen inferensi. Titik akhir dapat menskalakan ke dan dari nol instance hanya jika ia menampung komponen inferensi.
Untuk informasi tentang komponen inferensi hosting di titik akhir SageMaker AI, lihat. Terapkan model untuk inferensi waktu nyata
-
Dalam konfigurasi endpoint, untuk
ManagedInstanceScaling
objek varian produksi, Anda telah mengaturMinInstanceCount
parameternya.0
Untuk informasi referensi tentang parameter ini, lihat ProductionVariantManagedInstanceScaling.
Untuk mengaktifkan titik akhir untuk menskalakan ke nol instance ()AWS CLI
Untuk setiap komponen inferensi yang dihosting endpoint, lakukan hal berikut:
-
Daftarkan komponen inferensi sebagai target yang dapat diskalakan. Saat Anda mendaftarkannya, atur kapasitas minimum ke
0
, seperti yang ditunjukkan oleh perintah berikut:aws application-autoscaling register-scalable-target \ --service-namespace sagemaker \ --resource-id inference-component/
inference-component-name
\ --scalable-dimension sagemaker:inference-component:DesiredCopyCount \ --min-capacity 0 \ --max-capacityn
Dalam contoh ini, ganti
inference-component-name
dengan nama komponen inferensi Anda. Gantin
dengan jumlah maksimum salinan komponen inferensi untuk penyediaan saat penskalaan.Untuk informasi lebih lanjut tentang perintah ini dan masing-masing parameternya, lihat register-scalable-targetdi Referensi AWS CLI Perintah.
-
Menerapkan kebijakan pelacakan target ke komponen inferensi, seperti yang ditunjukkan oleh perintah berikut:
aws application-autoscaling put-scaling-policy \ --policy-name my-scaling-policy \ --policy-type TargetTrackingScaling \ --resource-id inference-component/
inference-component-name
\ --service-namespace sagemaker \ --scalable-dimension sagemaker:inference-component:DesiredCopyCount \ --target-tracking-scaling-policy-configuration file://config.jsonDalam contoh ini, ganti
inference-component-name
dengan nama komponen inferensi Anda.Dalam contoh,
config.json
file berisi konfigurasi kebijakan pelacakan target, seperti berikut ini:{ "PredefinedMetricSpecification": { "PredefinedMetricType": "SageMakerInferenceComponentInvocationsPerCopy" }, "TargetValue": 1, "ScaleInCooldown": 300, "ScaleOutCooldown": 300 }
Untuk contoh selengkapnya melacak konfigurasi kebijakan, lihatMenentukan kebijakan penskalaan.
Untuk informasi lebih lanjut tentang perintah ini dan masing-masing parameternya, lihat put-scaling-policydi Referensi AWS CLI Perintah.
Untuk mengaktifkan titik akhir untuk menskalakan dari nol instance ()AWS CLI
Untuk setiap komponen inferensi yang dihosting endpoint, lakukan hal berikut:
-
Terapkan kebijakan penskalaan langkah ke komponen inferensi, seperti yang ditunjukkan oleh perintah berikut:
aws application-autoscaling put-scaling-policy \ --policy-name
my-scaling-policy
\ --policy-type StepScaling \ --resource-id inference-component/inference-component-name
\ --service-namespace sagemaker \ --scalable-dimension sagemaker:inference-component:DesiredCopyCount \ --target-tracking-scaling-policy-configuration file://config.jsonDalam contoh ini, ganti
my-scaling-policy
dengan nama unik untuk kebijakan Anda. Gantiinference-component-name
dengan nama komponen inferensi Anda.Dalam contoh,
config.json
file berisi konfigurasi kebijakan penskalaan langkah, seperti berikut ini:{ "AdjustmentType": "ChangeInCapacity", "MetricAggregationType": "Maximum", "Cooldown": 60, "StepAdjustments": [ { "MetricIntervalLowerBound": 0, "ScalingAdjustment": 1 } ] }
Ketika kebijakan penskalaan langkah ini dipicu, SageMaker AI menyediakan instance yang diperlukan untuk mendukung salinan komponen inferensi.
Setelah Anda membuat kebijakan penskalaan langkah, perhatikan Nama Sumber Daya Amazon (ARN). Anda membutuhkan CloudWatch alarm di langkah berikutnya. ARN
Untuk informasi selengkapnya tentang kebijakan penskalaan langkah, lihat Kebijakan penskalaan langkah di Panduan Pengguna Application Auto Scaling.
-
Buat CloudWatch alarm dan tetapkan kebijakan penskalaan langkah ke dalamnya, seperti yang ditunjukkan oleh contoh berikut:
aws cloudwatch put-metric-alarm \ --alarm-actions
step-scaling-policy-arn
\ --alarm-description "Alarm when SM IC endpoint invoked that has 0 instances." \ --alarm-nameic-step-scaling-alarm
\ --comparison-operator GreaterThanThreshold \ --datapoints-to-alarm 1 \ --dimensions "Name=InferenceComponentName,Value=inference-component-name
" \ --evaluation-periods 1 \ --metric-name NoCapacityInvocationFailures \ --namespace AWS/SageMaker \ --period 60 \ --statistic Sum \ --threshold 1Dalam contoh ini, ganti
step-scaling-policy-arn
dengan kebijakan penskalaan langkah Anda. ARN Gantiic-step-scaling-alarm
dengan nama pilihan Anda. Gantiinference-component-name
dengan nama komponen inferensi Anda.Contoh ini menetapkan
--metric-name
parameter keNoCapacityInvocationFailures
. SageMaker AI memancarkan metrik ini ketika titik akhir menerima permintaan inferensi, tetapi titik akhir tidak memiliki instance aktif untuk melayani permintaan. Ketika peristiwa itu terjadi, alarm memulai kebijakan penskalaan langkah di langkah sebelumnya.Untuk informasi lebih lanjut tentang perintah ini dan masing-masing parameternya, lihat put-metric-alarmdi Referensi AWS CLI Perintah.