

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

# Menerapkan kebijakan ke Amazon MQ untuk RabbitMQ
<a name="rabbitmq-defaults-applying-policies"></a>

 Anda dapat menerapkan kebijakan dan batasan khusus dengan nilai default yang direkomendasikan Amazon MQ. Jika Anda telah menghapus kebijakan default dan batas yang direkomendasikan, lalu ingin membuat ulang kebijkan dan batas, atau Anda telah membuat vhost tambahan dan ingin menerapkan kebijakan default dan batas ke vhosts baru, Anda dapat menggunakan langkah-langkah berikut. 

**penting**  
 Di Amazon MQ untuk mesin RabbitMQ versi 3.13 dan di bawahnya, kebijakan operator default saat ini adalah:   

```
vhost name pattern apply-to definition priority/ default_operator_policy_AWS_managed .* classic_queues {"ha-mode":"all","ha-sync-mode":"automatic","queue-version":2} 0
```
 Pada versi 4.0 dan di atasnya, kebijakan operator default telah berubah menjadi:   

```
vhost name pattern apply-to definition priority/ default_operator_policy_AWS_managed .* classic_queues {"queue-version":2} 0
```
 Perubahan ini diperlukan karena pencerminan antrian klasik dan pengaturan kebijakan HA tidak didukung di RabbitMQ 4.   
 Anda tidak dapat membuat kebijakan yang berlaku untuk antrian cermin klasik dan antrian kuorum. Jika Anda ingin kebijakan Anda hanya berlaku untuk antrian kuorum, Anda harus menyetel ke. `--apply-to` `quorum_queues` Jika Anda menggunakan antrian cermin klasik dan antrian kuorum, Anda harus membuat kebijakan terpisah dengan `--apply-to:classic_queues` serta kebijakan antrian kuorum. 

**penting**  
 Untuk melakukan langkah-langkah berikut, Anda harus memiliki pengguna broker Amazon MQ for RabbitMQ dengan izin administrator. Anda dapat menggunakan pengguna administrator yang dibuat ketika pertama kali membuat broker, atau pengguna lain yang mungkin telah Anda buat sesudahnya. Tabel berikut menyediakan tanda pengguna administrator yang diperlukan dan izin sebagai pola ekspresi reguler (regexp).   


| Tanda | Baca regexp | Konfigurasikan regexp | Tulis regexp | 
| --- | --- | --- | --- | 
| administrator | .\* | .\* | .\* | 
Untuk informasi selengkapnya tentang cara membuat pengguna RabbitMQ serta mengelola tanda dan izin pengguna, lihat [Amazon MQ untuk pengguna broker RabbitMQ](rabbitmq-simple-auth-broker-users.md#rabbitmq-basic-elements-user).

**Untuk menerapkan kebijakan default dan batas host virtual menggunakan konsol web RabbitMQ**

1. Masuk ke [konsol Amazon MQ](https://console.aws.amazon.com/amazon-mq/).

1. Di panel navigasi kiri, pilih **Broker**.

1. Dari daftar broker, pilih nama broker yang ingin Anda terapkan kebijakan baru.

1. Di halaman detail broker, pada bagian **Koneksi**, pilih URL **konsol web RabbitMQ**. Konsol web RabbitMQ terbuka di tab browser atau jendela baru.

1. Login ke konsol web RabbitMQ dengan nama pengguna dan kata sandi administrator broker Anda.

1. Di konsol web RabbitMQ, di bagian atas halaman, pilih **Admin**.

1. Di halaman **Admin**, di panel navigasi kanan, pilih **Kebijakan**.

1. Di halaman **Kebijakan**, Anda dapat melihat daftar **Kebijakan pengguna** broker saat ini. Di bawah **Kebijakan pengguna**, perluas **Tambahkan / perbarui kebijakan**.

1. Untuk membuat kebijakan broker baru, di bawah **Tambahkan / perbarui kebijakan**, lakukan hal berikut:

   1. Untuk **Host virtual**, pilih nama vhost yang ingin dilampirkan kebijakan dari daftar dropdown. Untuk memilih vhost default, pilih **/**.
**catatan**  
Jika Anda belum membuat vhost tambahan, opsi **Host virtual** tidak ditampilkan pada konsol RabbitMQ, dan kebijakan diterapkan hanya untuk vhost default.

   1. Untuk **Nama**, masukkan nama kebijakan Anda, misalnya **policy-defaults**.

   1. Untuk **Pola**, masukkan pola regexp **.\*** sehingga kebijakan cocok dengan semua antrean pada broker.

   1. Untuk **Terapkan ke**, pilih **Pertukaran dan antrean** dari daftar dropdown.

   1. Untuk **Prioritas**, masukkan bilangan bulat yang lebih besar dari semua kebijakan lain yang diterapkan ke vhost. Anda dapat menerapkan satu set definisi kebijakan ke antrean dan pertukaran RabbitMQ pada waktu tertentu. RabbitMQ memilih kebijakan yang cocok dengan nilai prioritas tertinggi. Untuk informasi selengkapnya tentang prioritas kebijakan dan cara menggabungkan kebijakan, lihat [Kebijakan](https://www.rabbitmq.com/parameters.html#policies) dalam Dokumentasi Server RabbitMQ.

   1. Untuk **Definisi**, tambahkan pasangan nilai kunci berikut:
      + **queue-mode**=**lazy**. Pilih **String** dari daftar dropdown.
      + **overflow**=**reject-publish**. Pilih **String** dari daftar dropdown.
**catatan**  
Tidak berlaku untuk broker instans tunggal.
      + **max-length**=**{{number-of-messages}}**. Ganti {{number-of-messages}} dengan [nilai yang direkomendasikan Amazon MQ](rabbitmq-defaults.md#rabbitmq-defaults-values) sesuai dengan ukuran instans dan mode penerapan broker, misalnya, **8000000** untuk klaster. `mq.m7g.large` Pilih **Nomor** dari daftar dropdown.
**catatan**  
Tidak berlaku untuk broker instans tunggal.

   1. Pilih **Buat / perbarui kebijakan**.

1. Konfirmasi bahwa kebijakan baru muncul dalam daftar **Kebijakan pengguna**.
**catatan**  
Untuk broker klaster, Amazon MQ secara otomatis menerapkan definisi kebijakan `ha-mode: all` dan `ha-sync-mode: automatic`.

1. Dari panel navigasi kanan, pilih **Batas**.

1. Di halaman **Batas**, Anda dapat melihat daftar **Batas host virtual** broker saat ini. Di bawah **Batas host virtual**, perluas **Atur / perbarui batas host virtual**.

1. Untuk membuat batas vhost baru, di bawah **Atur / perbarui batas host virtual**, lakukan hal berikut:

   1. Untuk **Host virtual**, pilih nama vhost yang ingin dilampirkan kebijakan dari daftar dropdown. Untuk memilih vhost default, pilih **/**.

   1. Untuk **Batas**, pilih **max-connections** dari opsi dropdown.

   1. Untuk **Nilai**, masukkan [nilai yang direkomendasikan Amazon MQ](rabbitmq-defaults.md#rabbitmq-defaults-values) sesuai dengan ukuran instans broker dan mode deployment, misalnya, **15000** untuk klaster `mq.m5.large`.

   1. Pilih **Atur / perbarui batas**.

   1. Ulangi langkah di atas, dan untuk **Batas**, pilih **max-queues** dari opsi dropdown.

1. Konfirmasikan bahwa batas baru muncul dalam daftar **Batas host virtual**.

**Untuk menerapkan kebijakan default dan batas host virtual menggunakan API manajemen RabbitMQ**

1. Masuk ke [konsol Amazon MQ](https://console.aws.amazon.com/amazon-mq/).

1. Di panel navigasi kiri, pilih **Broker**.

1. Dari daftar broker, pilih nama broker yang ingin Anda terapkan kebijakan baru.

1. Di halaman broker, pada bagian **Koneksi**, catat URL **konsol web RabbitMQ**. Ini adalah titik akhir broker yang Anda gunakan dalam permintaan HTTP.

1. Buka terminal atau jendela baris perintah baru pilihan Anda.

1. Untuk membuat kebijakan broker baru, masukkan perintah `curl` baru. Perintah ini mengasumsikan antrean pada vhost `/` default, yang dienkode sebagai `%2F`. Untuk menerapkan kebijakan ke vhost lain, ganti `%2F` dengan nama vhost.
**catatan**  
Ganti {{username}} dan {{password}} dengan kredenal masuk administrator Anda. Ganti {{number-of-messages}} dengan [nilai yang direkomendasikan Amazon MQ](rabbitmq-defaults.md#rabbitmq-defaults-values) sesuai dengan ukuran instans dan mode penerapan broker. Ganti {{policy-name}} dengan nama untuk kebijakan Anda. Ganti {{broker-endpoint}} dengan URL yang Anda catat sebelumnya.

   ```
   curl -i -u {{username}}:{{password}} -H "content-type:application/json" -XPUT \
   -d '{"pattern":".*", "priority":1, "definition":{"queue-mode":lazy, "overflow":"reject-publish", "max-length":"{{number-of-messages}}"}}' \
   {{broker-endpoint}}/api/policies/%2F/{{policy-name}}
   ```

1. Untuk mengonfirmasi bahwa kebijakan baru ditambahkan ke kebijakan pengguna broker, masukkan perintah `curl` berikut untuk daftar seluruh kebijakan broker.

   ```
   curl -i -u {{username}}:{{password}} {{broker-endpoint}}/api/policies
   ```

1. Untuk membuat batas host virtual `max-connections` yang baru, masukkan perintah `curl` berikut. Perintah ini mengasumsikan antrean pada vhost `/` default, yang dienkode sebagai `%2F`. Untuk menerapkan kebijakan ke vhost lain, ganti `%2F` dengan nama vhost.
**catatan**  
Ganti {{username}} dan {{password}} dengan kredenal masuk administrator Anda. Ganti {{max-connections}} dengan [nilai yang direkomendasikan Amazon MQ](rabbitmq-defaults.md#rabbitmq-defaults-values) sesuai dengan ukuran instans dan mode penerapan broker. Mengganti titik akhir broker dengan URL yang Anda catat sebelumnya.

   ```
   curl -i -u {{username}}:{{password}} -H "content-type:application/json" -XPUT \
   -d '{"value":"{{number-of-connections}}"}' \
   {{broker-endpoint}}/api/vhost-limits/%2F/max-connections
   ```

1. Untuk membuat batas host virtual `max-queues`, ulangi langkah sebelumnya, tetapi modifikasi perintah curl seperti yang ditampilkan berikut ini.

   ```
   curl -i -u {{username}}:{{password}} -H "content-type:application/json" -XPUT \
   -d '{"value":"{{number-of-queues}}"}' \
   {{broker-endpoint}}/api/vhost-limits/%2F/max-queues
   ```

1. Untuk mengonfirmasi bahwa batas baru ditambahkan ke batas host virtual broker Anda, masukkan perintah `curl` berikut untuk memuat daftar semua batas host virtual broker.

   ```
   curl -i -u {{username}}:{{password}} {{broker-endpoint}}/api/vhost-limits
   ```