

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

# Penskalaan otomatis jumlah replika di cluster DB Amazon Neptunus
<a name="manage-console-autoscaling"></a>

Anda dapat menggunakan auto-scaling Neptunus untuk secara otomatis menyesuaikan jumlah replika Neptunus dalam cluster DB untuk memenuhi persyaratan konektivitas dan beban kerja Anda. Penskalaan otomatis memungkinkan cluster DB Neptunus Anda menangani peningkatan beban kerja, dan kemudian, ketika beban kerja berkurang, auto-scaling menghapus replika yang tidak perlu sehingga Anda tidak membayar untuk kapasitas yang tidak digunakan.

Anda hanya dapat menggunakan auto-scaling dengan cluster DB Neptunus yang sudah memiliki satu instance penulis utama dan setidaknya satu instance read-replica (lihat). [Klaster dan Instans DB Amazon Neptune](feature-overview-db-clusters.md) Selain itu, semua instance read-replica di cluster harus dalam keadaan tersedia. Jika ada replika baca dalam keadaan selain tersedia, penskalaan otomatis Neptunus tidak melakukan apa pun sampai setiap replika baca di cluster tersedia.

Lihat [Buat cluster Neptunus](get-started-create-cluster.md) apakah Anda perlu membuat cluster baru.

Dengan menggunakan AWS CLI, Anda menentukan dan menerapkan [kebijakan penskalaan](#manage-console-autoscaling-define-policy) ke cluster DB. Anda juga dapat menggunakan AWS CLI untuk mengedit atau menghapus kebijakan auto-scaling Anda. Kebijakan menentukan parameter auto-scaling berikut:
+ Jumlah minimum dan maksimum replika yang ada di cluster.
+ `ScaleOutCooldown`Interval antara aktivitas penskalaan penambahan replika, dan `ScaleInCooldown` interval antara aktivitas penskalaan penghapusan replika.
+  CloudWatch Metrik dan nilai pemicu metrik untuk penskalaan naik atau turun.

Frekuensi tindakan auto-scaling Neptunus diredam dalam beberapa cara:
+ Awalnya, untuk auto-scaling untuk menambah atau menghapus pembaca, `CPUUtilization` alarm tinggi harus dilanggar setidaknya selama 3 menit atau alarm rendah harus dilanggar setidaknya selama 15 menit.
+ Setelah penambahan atau penghapusan pertama itu, frekuensi tindakan auto-scaling Neptunus berikutnya dibatasi oleh pengaturan dan dalam kebijakan penskalaan otomatis. `ScaleOutCooldown` `ScaleInCooldown`

Jika CloudWatch metrik yang Anda gunakan mencapai ambang batas tinggi yang Anda tentukan dalam kebijakan Anda, dan jika `ScaleOutCooldown` interval telah berlalu sejak tindakan auto-scaling terakhir, dan jika cluster DB Anda belum memiliki jumlah replika maksimum yang Anda tetapkan, Neptunus auto-scaling akan membuat replika baru menggunakan jenis instance yang sama dengan instance utama cluster DB.

Demikian pula, jika metrik mencapai ambang rendah yang Anda tentukan dan jika `ScaleInCooldown` interval telah berlalu sejak tindakan auto-scaling terakhir, dan jika cluster DB Anda memiliki lebih dari jumlah minimum replika yang Anda tentukan, auto-scaling Neptunus menghapus salah satu replika.

**catatan**  
Neptunus auto-scaling hanya menghapus replika yang dibuatnya. Itu tidak menghapus replika yang sudah ada sebelumnya.

Dengan menggunakan parameter cluster [neptune\$1autoscaling\$1config](parameters.md#parameters-db-cluster-parameters-neptune_autoscaling_config) DB, Anda juga dapat menentukan jenis instance replika baca baru yang dibuat oleh auto-scaling Neptunus, jendela pemeliharaan untuk replika baca tersebut, dan tag yang akan dikaitkan dengan masing-masing replika baca baru. Anda memberikan pengaturan konfigurasi ini dalam string JSON sebagai nilai `neptune_autoscaling_config` parameter, seperti ini:

```
"{
  \"tags\": [
    { \"key\" : \"reader tag-0 key\", \"value\" : \"reader tag-0 value\" },
    { \"key\" : \"reader tag-1 key\", \"value\" : \"reader tag-1 value\" },
  ],
  \"maintenanceWindow\" : \"wed:12:03-wed:12:33\",
  \"dbInstanceClass\" : \"db.r5.xlarge\"
}"
```

Perhatikan bahwa tanda kutip dalam string JSON semua harus lolos dengan karakter garis miring terbalik (). `\` Semua spasi dalam string adalah opsional, seperti biasa.

Salah satu dari tiga pengaturan konfigurasi yang tidak ditentukan dalam `neptune_autoscaling_config` parameter disalin dari konfigurasi instance penulis utama cluster DB.

Ketika [auto-scaling](https://docs.aws.amazon.com/autoscaling/plans/userguide/) menambahkan instance read-replica baru, itu akan mengawali ID instans DB dengan (misalnya,). `autoscaled-reader` `autoscaled-reader-7r7t7z3lbd-20210828` Ini juga menambahkan tag ke setiap replika baca yang dibuatnya dengan kunci `autoscaled-reader` dan nilai. `TRUE` Anda dapat melihat tag ini pada tab **Tag** pada halaman detail instans DB di Konsol Manajemen AWS.

```
 "key" : "autoscaled-reader",  "value" : "TRUE"
```

Tingkat promosi dari semua instance read-replica yang dibuat oleh auto-scaling adalah prioritas terendah, yang secara default. `15` Ini berarti bahwa selama failover, replika apa pun dengan prioritas yang lebih tinggi, seperti yang dibuat secara manual, akan dipromosikan terlebih dahulu. Lihat [Toleransi kesalahan untuk cluster DB Neptunus](backup-restore-overview-fault-tolerance.md).

Neptune auto-scaling diimplementasikan menggunakan Application Auto Scaling dengan kebijakan penskalaan [pelacakan target yang menggunakan metrik Neptunus sebagai](https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-target-tracking.html) metrik yang telah ditentukan sebelumnya. [`CPUUtilization`](cw-metrics.md#cw-metrics-available) CloudWatch 

## Menggunakan auto-scaling di cluster DB tanpa server Neptunus
<a name="autoscaling-with-serverless"></a>

Neptune Serverless merespons jauh lebih cepat daripada auto-scaling Neptunus ketika permintaan melebihi kapasitas instans, dan meningkatkan skala instance alih-alih menambahkan instance lain. Jika auto-scaling dirancang agar sesuai dengan kenaikan atau penurunan beban kerja yang relatif stabil, tanpa server unggul dalam menangani lonjakan cepat dan kegelisahan dalam permintaan.

Memahami kekuatan mereka, Anda dapat menggabungkan auto-scaling dan serverless untuk menciptakan infrastruktur fleksibel yang akan menangani perubahan beban kerja Anda secara efisien dan memenuhi permintaan sambil meminimalkan biaya.

Agar auto-scaling bekerja secara efektif bersama tanpa server, penting untuk [mengonfigurasi pengaturan klaster `maxNCU` tanpa server Anda yang cukup tinggi untuk mengakomodasi](neptune-serverless-capacity-scaling.md#neptune-serverless-capacity-range-max) lonjakan dan perubahan permintaan singkat. Jika tidak, perubahan transien tidak memicu penskalaan tanpa server, yang dapat menyebabkan auto-scaling memutar banyak instance tambahan yang tidak perlu. Jika `maxNCU` disetel cukup tinggi, penskalaan tanpa server dapat menangani perubahan tersebut lebih cepat dan lebih murah.

## Cara mengaktifkan auto-scaling untuk Amazon Neptunus
<a name="manage-console-autoscaling-enable"></a>

Penskalaan otomatis hanya dapat diaktifkan untuk cluster DB Neptunus menggunakan file. AWS CLI Anda tidak dapat mengaktifkan auto-scaling menggunakan file. Konsol Manajemen AWS

Selain itu, penskalaan otomatis tidak didukung di wilayah Amazon berikut:
+ Afrika (Cape Town): `af-south-1`
+ Timur Tengah (UEA): `me-central-1`
+ AWS GovCloud (AS-Timur): `us-gov-east-1`
+ AWS GovCloud (AS-Barat): `us-gov-west-1`

Mengaktifkan auto-scaling untuk cluster DB Neptunus melibatkan tiga langkah:

### 1. Daftarkan cluster DB Anda dengan Application Auto Scaling
<a name="manage-console-autoscaling-register"></a>

Langkah pertama dalam mengaktifkan auto-scaling untuk cluster Neptune DB adalah mendaftarkan cluster dengan Application Auto Scaling, menggunakan atau salah satu Application Auto Scaling. AWS CLI SDKs Cluster harus sudah memiliki satu instance utama dan setidaknya satu instance read-replica:

Misalnya, untuk mendaftarkan cluster yang akan diskalakan otomatis dengan dari satu hingga delapan replika tambahan, Anda dapat menggunakan AWS CLI [https://docs.aws.amazon.com/cli/latest/reference/application-autoscaling/register-scalable-target.html](https://docs.aws.amazon.com/cli/latest/reference/application-autoscaling/register-scalable-target.html)perintah sebagai berikut:

```
aws application-autoscaling register-scalable-target \
  --service-namespace neptune \
  --resource-id cluster:(your DB cluster name) \
  --scalable-dimension neptune:cluster:ReadReplicaCount \
  --min-capacity 1 \
  --max-capacity 8
```

Ini setara dengan menggunakan operasi [https://docs.aws.amazon.com/ApplicationAutoScaling/latest/APIReference/API_RegisterScalableTarget.html](https://docs.aws.amazon.com/ApplicationAutoScaling/latest/APIReference/API_RegisterScalableTarget.html)Application Auto Scaling API.

 AWS CLI `register-scalable-target`Perintah mengambil parameter berikut:
+ **`service-namespace`** – Atur ke `neptune`.

  Parameter ini setara dengan `ServiceNamespace` parameter di Application Auto Scaling API.
+ **`resource-id`**— Setel ini ke pengidentifikasi sumber daya untuk cluster DB Neptunus Anda. Jenis sumber daya adalah`cluster`, yang diikuti oleh titik dua ('`:`'), dan kemudian nama cluster DB Anda.

  Parameter ini setara dengan `ResourceID` parameter di Application Auto Scaling API.
+ **`scalable-dimension`**— Dimensi yang dapat diskalakan dalam hal ini adalah jumlah instance replika di cluster DB, jadi Anda mengatur parameter ini ke. `neptune:cluster:ReadReplicaCount`

  Parameter ini setara dengan `ScalableDimension` parameter di Application Auto Scaling API.
+ **`min-capacity`**— Jumlah minimum instance replika DB pembaca yang akan dikelola oleh Application Auto Scaling. Nilai ini harus diatur dalam kisaran dari 0 hingga 15, dan harus sama dengan atau kurang dari nilai yang ditentukan untuk jumlah maksimum Replika Neptunus di. `max-capacity` Harus ada setidaknya satu pembaca di cluster DB agar auto-scaling berfungsi.

  Parameter ini setara dengan `MinCapacity` parameter di Application Auto Scaling API.
+ **`max-capacity`**— Jumlah maksimum instans replika DB pembaca di cluster DB, termasuk instans yang sudah ada sebelumnya dan instans baru yang dikelola oleh Application Auto Scaling. Nilai ini harus diatur dalam kisaran dari 0 hingga 15, dan harus sama dengan atau lebih besar dari nilai yang ditentukan untuk jumlah minimum Replika Neptunus di. `min-capacity`

  `max-capacity` AWS CLI Parameter ini setara dengan `MaxCapacity` parameter di Application Auto Scaling API.

Saat Anda mendaftarkan cluster DB Anda, Application Auto Scaling membuat peran terkait `AWSServiceRoleForApplicationAutoScaling_NeptuneCluster` layanan. *Untuk informasi selengkapnya, lihat [Peran terkait layanan untuk auto-scaling Aplikasi di Panduan Pengguna Application Auto Scaling](https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-service-linked-roles.html).*

### 2. Tentukan kebijakan penskalaan otomatis untuk digunakan dengan cluster DB Anda
<a name="manage-console-autoscaling-define-policy"></a>

Kebijakan penskalaan pelacakan target didefinisikan sebagai objek teks JSON yang juga dapat disimpan dalam file teks. Untuk Neptunus kebijakan ini saat ini hanya dapat menggunakan metrik [`CPUUtilization`](cw-metrics.md#cw-metrics-available) CloudWatch Neptunus sebagai metrik yang telah ditentukan sebelumnya. `NeptuneReaderAverageCPUUtilization`

Berikut adalah contoh kebijakan konfigurasi penskalaan pelacakan target untuk Neptunus:

```
{
  "PredefinedMetricSpecification": { "PredefinedMetricType": "NeptuneReaderAverageCPUUtilization" },
  "TargetValue": 60.0,
  "ScaleOutCooldown" : 600,
  "ScaleInCooldown" : 600
}
```

**`TargetValue`**Elemen di sini berisi persentase pemanfaatan CPU di atas yang skala *auto-scaling* keluar (yaitu, menambahkan lebih banyak replika) dan di bawahnya *diskalakan (yaitu, menghapus* replika). Dalam hal ini, persentase target yang memicu penskalaan adalah%. `60.0`

**`ScaleInCooldown`**Elemen menentukan jumlah waktu, dalam detik, setelah aktivitas scale-in selesai sebelum scale-in lain dapat dimulai. Waktu default adalah 300 detik. Di sini, nilai 600 menentukan bahwa setidaknya sepuluh menit harus berlalu antara penyelesaian satu penghapusan replika dan awal yang lain.

**`ScaleOutCooldown`**Elemen menentukan jumlah waktu, dalam detik, setelah aktivitas scale-out selesai sebelum scale-out lainnya dapat dimulai. Waktu default adalah 300 detik. Di sini, nilai 600 menentukan bahwa setidaknya sepuluh menit harus berlalu antara penyelesaian satu penambahan replika dan awal yang lain.

**`DisableScaleIn`**Elemennya adalah Boolean yang jika ada dan disetel untuk `true` menonaktifkan scale-in sepenuhnya, yang berarti bahwa auto-scaling dapat menambahkan replika tetapi tidak akan pernah menghapusnya. Secara default, scale-in diaktifkan, dan `DisableScaleIn` sedang. `false`

### 
<a name="manage-console-autoscaling-apply-policy"></a>

Setelah mendaftarkan cluster DB Neptune Anda dengan Application Auto Scaling dan menentukan kebijakan penskalaan JSON dalam file teks, selanjutnya terapkan kebijakan penskalaan ke cluster DB terdaftar. Anda dapat menggunakan AWS CLI [https://docs.aws.amazon.com/cli/latest/reference/application-autoscaling/put-scaling-policy.html](https://docs.aws.amazon.com/cli/latest/reference/application-autoscaling/put-scaling-policy.html)perintah untuk melakukan ini, dengan parameter seperti berikut:

```
aws application-autoscaling put-scaling-policy \
  --policy-name (name of the scaling policy) \
  --policy-type TargetTrackingScaling \
  --resource-id cluster:(name of your Neptune DB cluster) \
  --service-namespace neptune \
  --scalable-dimension neptune:cluster:ReadReplicaCount \
  --target-tracking-scaling-policy-configuration file://(path to the JSON configuration file)
```

Bila Anda telah menerapkan kebijakan auto-scaling, auto-scaling diaktifkan pada cluster DB Anda.

Anda juga dapat menggunakan AWS CLI [https://docs.aws.amazon.com/cli/latest/reference/application-autoscaling/put-scaling-policy.html](https://docs.aws.amazon.com/cli/latest/reference/application-autoscaling/put-scaling-policy.html)perintah untuk memperbarui kebijakan auto-scaling yang ada.

Lihat juga [PutScalingPolicy](https://docs.aws.amazon.com/autoscaling/application/APIReference/API_PutScalingPolicy.html)di Referensi *API Application Auto Scaling*.

## Menghapus auto-scaling dari cluster DB Neptunus
<a name="manage-console-autoscaling-delete"></a>

Untuk menghapus auto-scaling dari cluster DB Neptunus, gunakan perintah and. AWS CLI [delete-scaling-policy[deregister-scalable-target](https://docs.aws.amazon.com/cli/latest/reference/application-autoscaling/deregister-scalable-target.html)](https://docs.aws.amazon.com/cli/latest/reference/application-autoscaling/delete-scaling-policy.html)