

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
<a name="endpoint-auto-scaling-zero-instances"></a>

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](realtime-endpoints-deploy-models.md)
+ Dalam konfigurasi endpoint, untuk `ManagedInstanceScaling` objek varian produksi, Anda telah mengatur `MinInstanceCount` parameternya. `0`

  Untuk informasi referensi tentang parameter ini, lihat [ProductionVariantManagedInstanceScaling](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ProductionVariantManagedInstanceScaling.html).

**Untuk mengaktifkan titik akhir untuk menskalakan ke nol instance ()AWS CLI**

Untuk setiap komponen inferensi yang dihosting endpoint, lakukan hal berikut:

1. 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-capacity n
   ```

   Dalam contoh ini, ganti *inference-component-name* dengan nama komponen inferensi Anda. Ganti *n* dengan jumlah maksimum salinan komponen inferensi untuk penyediaan saat penskalaan.

   Untuk informasi lebih lanjut tentang perintah ini dan masing-masing parameternya, lihat [register-scalable-target](https://docs.aws.amazon.com/cli/latest/reference/application-autoscaling/register-scalable-target.html)di *Referensi AWS CLI Perintah*.

1. 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.json
   ```

   Dalam 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 lainnya melacak konfigurasi kebijakan, lihat[Menentukan kebijakan penskalaan](endpoint-auto-scaling-add-code-define.md).

   Untuk informasi lebih lanjut tentang perintah ini dan masing-masing parameternya, lihat [put-scaling-policy](https://docs.aws.amazon.com/cli/latest/reference/application-autoscaling/put-scaling-policy.html)di *Referensi AWS CLI Perintah*.

**Untuk mengaktifkan titik akhir untuk skala keluar dari nol instance ()AWS CLI**

Untuk setiap komponen inferensi yang dihosting endpoint, lakukan hal berikut:

1. 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 \
     --step-scaling-policy-configuration file://config.json
   ```

   Dalam contoh ini, ganti *my-scaling-policy* dengan nama unik untuk kebijakan Anda. Ganti *inference-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 memerlukan ARN untuk CloudWatch alarm di langkah berikutnya.

   Untuk informasi selengkapnya tentang kebijakan penskalaan langkah, lihat [Kebijakan penskalaan langkah di Panduan](https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-step-scaling-policies.html) Pengguna *Application Auto Scaling*.

1. 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-name ic-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 1
   ```

   Dalam contoh ini, ganti *step-scaling-policy-arn* dengan ARN kebijakan penskalaan langkah Anda. Ganti *ic-step-scaling-alarm* dengan nama pilihan Anda. Ganti *inference-component-name* dengan nama komponen inferensi Anda. 

   Contoh ini menetapkan `--metric-name` parameter ke`NoCapacityInvocationFailures`. 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-alarm](https://docs.aws.amazon.com/cli/latest/reference/cloudwatch/put-metric-alarm.html)di *Referensi AWS CLI Perintah*.