Secara otomatis menskalakan Konkurensi yang Disediakan untuk titik akhir tanpa server - Amazon SageMaker

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

Secara otomatis menskalakan Konkurensi yang Disediakan untuk titik akhir tanpa server

Amazon SageMaker secara otomatis menskalakan atau keluar titik akhir tanpa server sesuai permintaan. Untuk endpoint tanpa server dengan Provisioned Concurrency, Anda dapat menggunakan Application Auto Scaling untuk meningkatkan atau menurunkan Provisioned Concurrency berdasarkan profil lalu lintas Anda, sehingga mengoptimalkan biaya.

Berikut ini adalah prasyarat untuk skala otomatis Provisioned Concurrency pada titik akhir tanpa server:

Sebelum Anda dapat menggunakan penskalaan otomatis, Anda harus telah menerapkan model ke titik akhir tanpa server dengan Provisioned Concurrency. Model yang digunakan disebut sebagai varian produksi. Lihat Buat konfigurasi titik akhir dan Buat titik akhir untuk informasi selengkapnya tentang penerapan model ke titik akhir tanpa server dengan Provisioned Concurrency. Untuk menentukan metrik dan nilai target untuk kebijakan penskalaan, Anda harus mengonfigurasi kebijakan penskalaan. Untuk informasi selengkapnya tentang cara menentukan kebijakan penskalaan, lihatMenentukan kebijakan penskalaan. Setelah mendaftarkan model Anda dan menentukan kebijakan penskalaan, terapkan kebijakan penskalaan ke model terdaftar. Untuk informasi tentang cara menerapkan kebijakan penskalaan, lihatMenerapkan kebijakan penskalaan.

Untuk detail tentang prasyarat dan komponen lain yang digunakan dengan penskalaan otomatis, lihat bagian dalam dokumentasi penskalaan otomatis. Ikhtisar penskalaan otomatis SageMaker

Daftarkan model

Untuk menambahkan penskalaan otomatis ke titik akhir tanpa server dengan Provisioned Concurrency, Anda harus terlebih dahulu mendaftarkan model Anda (varian produksi) menggunakan Application Auto Scaling API. AWS CLI

Daftarkan model (AWS CLI)

Untuk mendaftarkan model Anda, gunakan register-scalable-target AWS CLI perintah dengan parameter berikut:

  • --service-namespace – Atur nilai ini ke sagemaker.

  • --resource-id— Pengidentifikasi sumber daya untuk model (khususnya varian produksi). Untuk parameter ini, tipe sumber daya adalah endpoint dan pengidentifikasi unik adalah nama varian produksi. Sebagai contoh, endpoint/MyEndpoint/variant/MyVariant.

  • --scalable-dimension – Atur nilai ini ke sagemaker:variant:DesiredProvisionedConcurrency.

  • --min-capacity— Jumlah minimum Provisioned Concurrency untuk model. Setel --min-capacity ke setidaknya 1. Itu harus sama dengan atau kurang dari nilai yang ditentukan untuk--max-capacity.

  • --max-capacity— Jumlah maksimum Provisioned Concurrency yang harus diaktifkan melalui Application Auto Scaling. Setel --max-capacity ke minimal 1. Itu harus lebih besar dari atau sama dengan nilai yang ditentukan untuk--min-capacity.

Contoh berikut menunjukkan cara mendaftarkan model bernama MyVariant yang diskalakan secara dinamis untuk memiliki 1 hingga 10 nilai Konkurensi yang Disediakan:

aws application-autoscaling register-scalable-target \ --service-namespace sagemaker \ --scalable-dimension sagemaker:variant:DesiredProvisionedConcurrency \ --resource-id endpoint/MyEndpoint/variant/MyVariant \ --min-capacity 1 \ --max-capacity 10

Daftarkan model (Application Auto Scaling API)

Untuk mendaftarkan model Anda, gunakan aksi RegisterScalableTarget Application Auto Scaling API dengan parameter berikut:

  • ServiceNamespace – Atur nilai ini ke sagemaker.

  • ResourceId— Pengidentifikasi sumber daya untuk model (khususnya varian produksi). Untuk parameter ini, tipe sumber daya adalah endpoint dan pengidentifikasi unik adalah nama varian produksi. Sebagai contoh, endpoint/MyEndpoint/variant/MyVariant.

  • ScalableDimension – Atur nilai ini ke sagemaker:variant:DesiredProvisionedConcurrency.

  • MinCapacity— Jumlah minimum Provisioned Concurrency untuk model. Setel MinCapacity ke setidaknya 1. Itu harus sama dengan atau kurang dari nilai yang ditentukan untukMaxCapacity.

  • MaxCapacity— Jumlah maksimum Provisioned Concurrency yang harus diaktifkan melalui Application Auto Scaling. Setel MaxCapacity ke minimal 1. Itu harus lebih besar dari atau sama dengan nilai yang ditentukan untukMinCapacity.

Contoh berikut menunjukkan cara mendaftarkan model bernama MyVariant yang diskalakan secara dinamis untuk memiliki 1 hingga 10 nilai Konkurensi yang Disediakan:

POST / HTTP/1.1 Host: autoscaling.us-east-2.amazonaws.com Accept-Encoding: identity X-Amz-Target: AnyScaleFrontendService.RegisterScalableTarget X-Amz-Date: 20160506T182145Z User-Agent: aws-cli/1.10.23 Python/2.7.11 Darwin/15.4.0 botocore/1.4.8 Content-Type: application/x-amz-json-1.1 Authorization: AUTHPARAMS { "ServiceNamespace": "sagemaker", "ResourceId": "endpoint/MyEndPoint/variant/MyVariant", "ScalableDimension": "sagemaker:variant:DesiredProvisionedConcurrency", "MinCapacity": 1, "MaxCapacity": 10 }

Menentukan kebijakan penskalaan

Untuk menentukan metrik dan nilai target untuk kebijakan penskalaan, Anda dapat mengonfigurasi kebijakan penskalaan pelacakan target. Tentukan kebijakan penskalaan sebagai blok JSON dalam file teks. Anda kemudian dapat menggunakan file teks tersebut saat menjalankan AWS CLI atau Application Auto Scaling API. Untuk menentukan kebijakan penskalaan pelacakan target dengan cepat untuk titik akhir tanpa server, gunakan metrik yang telah ditentukan sebelumnya. SageMakerVariantProvisionedConcurrencyUtilization

{ "TargetValue": 0.5, "PredefinedMetricSpecification": { "PredefinedMetricType": "SageMakerVariantProvisionedConcurrencyUtilization" }, "ScaleOutCooldown": 1, "ScaleInCooldown": 1 }

Menerapkan kebijakan penskalaan

Setelah mendaftarkan model, Anda dapat menerapkan kebijakan penskalaan ke titik akhir tanpa server dengan Provisioned Concurrency. Lihat Menerapkan kebijakan penskalaan pelacakan target untuk menerapkan kebijakan penskalaan pelacakan target yang telah Anda tetapkan. Jika arus lalu lintas ke titik akhir tanpa server Anda memiliki rutinitas yang dapat diprediksi, alih-alih menerapkan kebijakan penskalaan pelacakan target, Anda mungkin ingin menjadwalkan tindakan penskalaan pada waktu tertentu. Untuk informasi selengkapnya tentang penjadwalan tindakan penskalaan, lihat. Penskalaan terjadwal

Menerapkan kebijakan penskalaan pelacakan target

Anda dapat menggunakan Application Auto Scaling API AWS CLI atau Application Auto Scaling untuk menerapkan kebijakan penskalaan pelacakan target ke titik akhir tanpa server Anda dengan Provisioned Concurrency. AWS Management Console

Menerapkan kebijakan penskalaan pelacakan target ()AWS CLI

Untuk menerapkan kebijakan penskalaan pada model Anda, gunakan perintah put-scaling-policy AWS CLI; dengan parameter berikut:

  • --policy-name – Nama kebijakan penskalaan.

  • --policy-type – Atur nilai ini ke TargetTrackingScaling.

  • --resource-id— Pengidentifikasi sumber daya untuk varian. Untuk parameter ini, tipe sumber daya adalah endpoint dan pengidentifikasi unik adalah nama varian. Sebagai contoh, endpoint/MyEndpoint/variant/MyVariant.

  • --service-namespace – Atur nilai ini ke sagemaker.

  • --scalable-dimension – Atur nilai ini ke sagemaker:variant:DesiredProvisionedConcurrency.

  • --target-tracking-scaling-policy-configuration— Konfigurasi kebijakan penskalaan pelacakan target yang akan digunakan untuk model.

Contoh berikut menunjukkan cara menerapkan kebijakan penskalaan pelacakan target yang diberi nama MyScalingPolicy ke model bernama. MyVariant Konfigurasi kebijakan disimpan dalam file bernamascaling-policy.json.

aws application-autoscaling put-scaling-policy \ --policy-name MyScalingPolicy \ --policy-type TargetTrackingScaling \ --service-namespace sagemaker \ --scalable-dimension sagemaker:variant:DesiredProvisionedConcurrency \ --resource-id endpoint/MyEndpoint/variant/MyVariant \ --target-tracking-scaling-policy-configuration file://[file-localtion]/scaling-policy.json

Menerapkan kebijakan penskalaan pelacakan target (Application Auto Scaling API)

Untuk menerapkan kebijakan penskalaan pada model Anda, gunakan tindakan PutScalingPolicy Application Auto Scaling API dengan parameter berikut:

  • PolicyName – Nama kebijakan penskalaan.

  • PolicyType – Atur nilai ini ke TargetTrackingScaling.

  • ResourceId— Pengidentifikasi sumber daya untuk varian. Untuk parameter ini, tipe sumber daya adalah endpoint dan pengidentifikasi unik adalah nama varian. Sebagai contoh, endpoint/MyEndpoint/variant/MyVariant.

  • ServiceNamespace – Atur nilai ini ke sagemaker.

  • ScalableDimension – Atur nilai ini ke sagemaker:variant:DesiredProvisionedConcurrency.

  • TargetTrackingScalingPolicyConfiguration— Konfigurasi kebijakan penskalaan pelacakan target yang akan digunakan untuk model.

Contoh berikut menunjukkan cara menerapkan kebijakan penskalaan pelacakan target yang diberi nama MyScalingPolicy ke model bernama. MyVariant Konfigurasi kebijakan disimpan dalam file bernamascaling-policy.json.

POST / HTTP/1.1 Host: autoscaling.us-east-2.amazonaws.com Accept-Encoding: identity X-Amz-Target: AnyScaleFrontendService.PutScalingPolicy X-Amz-Date: 20160506T182145Z User-Agent: aws-cli/1.10.23 Python/2.7.11 Darwin/15.4.0 botocore/1.4.8 Content-Type: application/x-amz-json-1.1 Authorization: AUTHPARAMS { "PolicyName": "MyScalingPolicy", "ServiceNamespace": "sagemaker", "ResourceId": "endpoint/MyEndpoint/variant/MyVariant", "ScalableDimension": "sagemaker:variant:DesiredProvisionedConcurrency", "PolicyType": "TargetTrackingScaling", "TargetTrackingScalingPolicyConfiguration": { "TargetValue": 0.5, "PredefinedMetricSpecification": { "PredefinedMetricType": "SageMakerVariantProvisionedConcurrencyUtilization" } } }

Menerapkan kebijakan penskalaan pelacakan target ()AWS Management Console

Untuk menerapkan kebijakan penskalaan pelacakan target dengan: AWS Management Console

  1. Masuk ke SageMakerkonsol Amazon.

  2. Di panel navigasi, pilih Inferensi.

  3. Pilih Endpoint untuk melihat daftar semua titik akhir Anda.

  4. Pilih titik akhir yang ingin Anda terapkan kebijakan penskalaan. Halaman dengan pengaturan titik akhir akan muncul, dengan model (varian produksi) yang tercantum di bawah bagian Pengaturan runtime endpoint.

  5. Pilih varian produksi yang ingin Anda terapkan kebijakan penskalaan, dan pilih Konfigurasi penskalaan otomatis. Kotak dialog penskalaan otomatis varian Konfigurasi muncul.

    Tangkapan layar dari kotak dialog penskalaan otomatis varian konfigurasi di konsol.
  6. Masukkan nilai Konkurensi Terketentuan minimum dan maksimum di bidang konkurensi minimum yang disediakan dan konkurensi yang disediakan maksimum, masing-masing, di bagian penskalaan otomatis Variant. Minimum Provisioned Concurrency harus kurang dari atau sama dengan maksimum Provisioned Concurrency.

  7. Masukkan nilai target di bidang Nilai target untuk metrik target,SageMakerVariantProvisionedConcurrencyUtilization.

  8. (Opsional) Masukkan skala dalam pendinginan dan skala nilai pendinginan (dalam detik) di Skala dalam pendinginan dan Skalakan bidang pendinginan masing-masing.

  9. (Opsional) Pilih Nonaktifkan skala jika Anda tidak ingin penskalaan otomatis menghapus instance saat lalu lintas menurun.

  10. Pilih Simpan.

Penskalaan terjadwal

Jika lalu lintas ke titik akhir tanpa server Anda dengan Provisioned Concurrency mengikuti pola rutin, Anda mungkin ingin menjadwalkan tindakan penskalaan pada waktu tertentu, untuk menskalakan atau memperkecil Provisioned Concurrency. Anda dapat menggunakan Application Auto Scaling AWS CLI atau Application Auto Scaling untuk menjadwalkan tindakan penskalaan.

Penskalaan terjadwal ()AWS CLI

Untuk menerapkan kebijakan penskalaan pada model Anda, gunakan perintah put-scheduled-action AWS CLI; dengan parameter berikut:

  • --schedule-action-name— Nama tindakan penskalaan.

  • --schedule— Ekspresi cron yang menentukan waktu mulai dan akhir dari tindakan penskalaan dengan jadwal berulang.

  • --resource-id— Pengidentifikasi sumber daya untuk varian. Untuk parameter ini, tipe sumber daya adalah endpoint dan pengidentifikasi unik adalah nama varian. Sebagai contoh, endpoint/MyEndpoint/variant/MyVariant.

  • --service-namespace – Atur nilai ini ke sagemaker.

  • --scalable-dimension – Atur nilai ini ke sagemaker:variant:DesiredProvisionedConcurrency.

  • --scalable-target-action— Target tindakan penskalaan.

Contoh berikut menunjukkan cara menambahkan tindakan penskalaan bernama MyScalingAction ke model bernama MyVariant pada jadwal berulang. Pada jadwal yang ditentukan (setiap hari pukul 12:15 WIB), jika Konkurensi yang Disediakan saat ini di bawah nilai yang ditentukan untuk. MinCapacity Application Auto Scaling menskalakan Provisioned Concurrency ke nilai yang ditentukan oleh. MinCapacity

aws application-autoscaling put-scheduled-action \ --scheduled-action-name 'MyScalingAction' \ --schedule 'cron(15 12 * * ? *)' \ --service-namespace sagemaker \ --resource-id endpoint/MyEndpoint/variant/MyVariant \ --scalable-dimension sagemaker:variant:DesiredProvisionedConcurrency \ --scalable-target-action 'MinCapacity=10'

Penskalaan terjadwal (Application Auto Scaling API)

Untuk menerapkan kebijakan penskalaan pada model Anda, gunakan tindakan PutScheduledAction Application Auto Scaling API dengan parameter berikut:

  • ScheduleActionName— Nama tindakan penskalaan.

  • Schedule— Ekspresi cron yang menentukan waktu mulai dan akhir dari tindakan penskalaan dengan jadwal berulang.

  • ResourceId— Pengidentifikasi sumber daya untuk varian. Untuk parameter ini, tipe sumber daya adalah endpoint dan pengidentifikasi unik adalah nama varian. Sebagai contoh, endpoint/MyEndpoint/variant/MyVariant.

  • ServiceNamespace – Atur nilai ini ke sagemaker.

  • ScalableDimension – Atur nilai ini ke sagemaker:variant:DesiredProvisionedConcurrency.

  • ScalableTargetAction— Target tindakan penskalaan.

Contoh berikut menunjukkan cara menambahkan tindakan penskalaan bernama MyScalingAction ke model bernama MyVariant pada jadwal berulang. Pada jadwal yang ditentukan (setiap hari pukul 12:15 WIB), jika Konkurensi yang Disediakan saat ini di bawah nilai yang ditentukan untuk. MinCapacity Application Auto Scaling menskalakan Provisioned Concurrency ke nilai yang ditentukan oleh. MinCapacity

POST / HTTP/1.1 Host: autoscaling.us-east-2.amazonaws.com Accept-Encoding: identity X-Amz-Target: AnyScaleFrontendService.PutScheduledAction X-Amz-Date: 20160506T182145Z User-Agent: aws-cli/1.10.23 Python/2.7.11 Darwin/15.4.0 botocore/1.4.8 Content-Type: application/x-amz-json-1.1 Authorization: AUTHPARAMS { "ScheduledActionName": "MyScalingAction", "Schedule": "cron(15 12 * * ? *)", "ServiceNamespace": "sagemaker", "ResourceId": "endpoint/MyEndpoint/variant/MyVariant", "ScalableDimension": "sagemaker:variant:DesiredProvisionedConcurrency", "ScalableTargetAction": "MinCapacity=10" } } }

Menghapus kebijakan penskalaan

Anda dapat menghapus kebijakan penskalaan dengan AWS Management Console, Application Auto Scaling AWS CLI API, atau Application Auto Scaling. Untuk informasi selengkapnya tentang menghapus kebijakan penskalaan dengan AWS Management Console, lihat Menghapus kebijakan penskalaan di dokumentasi penskalaan SageMaker otomatis.

Menghapus kebijakan penskalaan ()AWS CLI

Untuk menerapkan kebijakan penskalaan pada model Anda, gunakan perintah delete-scaling-policy AWS CLI; dengan parameter berikut:

  • --policy-name – Nama kebijakan penskalaan.

  • --resource-id— Pengidentifikasi sumber daya untuk varian. Untuk parameter ini, tipe sumber daya adalah endpoint dan pengidentifikasi unik adalah nama varian. Sebagai contoh, endpoint/MyEndpoint/variant/MyVariant.

  • --service-namespace – Atur nilai ini ke sagemaker.

  • --scalable-dimension – Atur nilai ini ke sagemaker:variant:DesiredProvisionedConcurrency.

Contoh berikut menghapus kebijakan penskalaan bernama MyScalingPolicy dari model bernama. MyVariant

aws application-autoscaling delete-scaling-policy \ --policy-name MyScalingPolicy \ --service-namespace sagemaker \ --scalable-dimension sagemaker:variant:DesiredProvisionedConcurrency \ --resource-id endpoint/MyEndpoint/variant/MyVariant

Menghapus kebijakan penskalaan (Application Auto Scaling API)

Untuk menghapus kebijakan penskalaan ke model Anda, gunakan tindakan DeleteScalingPolicy Application Auto Scaling API dengan parameter berikut:

  • PolicyName – Nama kebijakan penskalaan.

  • ResourceId— Pengidentifikasi sumber daya untuk varian. Untuk parameter ini, tipe sumber daya adalah endpoint dan pengidentifikasi unik adalah nama varian. Sebagai contoh, endpoint/MyEndpoint/variant/MyVariant.

  • ServiceNamespace – Atur nilai ini ke sagemaker.

  • ScalableDimension – Atur nilai ini ke sagemaker:variant:DesiredProvisionedConcurrency.

Contoh berikut menggunakan Application Auto Scaling API untuk menghapus kebijakan penskalaan bernama MyScalingPolicy dari model bernama. MyVariant

POST / HTTP/1.1 Host: autoscaling.us-east-2.amazonaws.com Accept-Encoding: identity X-Amz-Target: AnyScaleFrontendService.DeleteScalingPolicy X-Amz-Date: 20160506T182145Z User-Agent: aws-cli/1.10.23 Python/2.7.11 Darwin/15.4.0 botocore/1.4.8 Content-Type: application/x-amz-json-1.1 Authorization: AUTHPARAMS { "PolicyName": "MyScalingPolicy", "ServiceNamespace": "sagemaker", "ResourceId": "endpoint/MyEndpoint/variant/MyVariant", "ScalableDimension": "sagemaker:variant:DesiredProvisionedConcurrency", }

Deregister model

Anda dapat membatalkan pendaftaran model dengan, Application Auto Scaling API AWS Management Console AWS CLI, atau Application Auto Scaling.

Deregister model ()AWS CLI

Untuk membatalkan pendaftaran model dari Application Auto Scaling, gunakan perintah; deregister-scalable-target AWS CLI dengan parameter berikut:

  • --resource-id— Pengidentifikasi sumber daya untuk varian. Untuk parameter ini, tipe sumber daya adalah endpoint dan pengidentifikasi unik adalah nama varian. Sebagai contoh, endpoint/MyEndpoint/variant/MyVariant.

  • --service-namespace – Atur nilai ini ke sagemaker.

  • --scalable-dimension – Atur nilai ini ke sagemaker:variant:DesiredProvisionedConcurrency.

Contoh berikut membatalkan pendaftaran model bernama MyVariant dari Application Auto Scaling.

aws application-autoscaling deregister-scalable-target \ --service-namespace sagemaker \ --scalable-dimension sagemaker:variant:DesiredProvisionedConcurrency \ --resource-id endpoint/MyEndpoint/variant/MyVariant

Membatalkan pendaftaran model (Application Auto Scaling API)

Untuk membatalkan pendaftaran model dari Application Auto Scaling, gunakan aksi Application Auto DeregisterScalableTarget Scaling API dengan parameter berikut:

  • ResourceId— Pengidentifikasi sumber daya untuk varian. Untuk parameter ini, tipe sumber daya adalah endpoint dan pengidentifikasi unik adalah nama varian. Sebagai contoh, endpoint/MyEndpoint/variant/MyVariant.

  • ServiceNamespace – Atur nilai ini ke sagemaker.

  • ScalableDimension – Atur nilai ini ke sagemaker:variant:DesiredProvisionedConcurrency.

Contoh berikut menggunakan Application Auto Scaling API untuk membatalkan pendaftaran model bernama dari Application Auto MyVariant Scaling.

POST / HTTP/1.1 Host: autoscaling.us-east-2.amazonaws.com Accept-Encoding: identity X-Amz-Target: AnyScaleFrontendService.DeregisterScalableTarget X-Amz-Date: 20160506T182145Z User-Agent: aws-cli/1.10.23 Python/2.7.11 Darwin/15.4.0 botocore/1.4.8 Content-Type: application/x-amz-json-1.1 Authorization: AUTHPARAMS { "ServiceNamespace": "sagemaker", "ResourceId": "endpoint/MyEndpoint/variant/MyVariant", "ScalableDimension": "sagemaker:variant:DesiredProvisionedConcurrency", }

Deregister model ()AWS Management Console

Untuk membatalkan pendaftaran model (varian produksi) dengan: AWS Management Console

  1. Buka SageMaker konsol Amazon.

  2. Di panel navigasi, pilih Inferensi.

  3. Pilih Endpoints untuk melihat daftar endpoint Anda.

  4. Pilih endpoint tanpa server yang menghosting varian produksi. Halaman dengan pengaturan titik akhir akan muncul, dengan varian produksi tercantum di bawah bagian Pengaturan runtime Endpoint.

  5. Pilih varian produksi yang ingin Anda deregister, dan pilih Configure auto scaling. Kotak dialog penskalaan otomatis varian Konfigurasi muncul.

  6. Pilih Deregister auto scaling.