

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

# Otomatiskan konfigurasi RabbitMQ di Amazon MQ
<a name="automate-rabbitmq-configuration-in-amazon-mq"></a>

*Yogesh Bhatia dan Afroz Khan, Amazon Web Services*

## Ringkasan
<a name="automate-rabbitmq-configuration-in-amazon-mq-summary"></a>

[Amazon MQ](https://docs.aws.amazon.com/amazon-mq/) adalah layanan broker pesan terkelola yang menyediakan kompatibilitas dengan banyak broker pesan populer. Menggunakan Amazon MQ dengan RabbitMQ menyediakan cluster RabbitMQ yang kuat yang dikelola dengan beberapa broker dan opsi konfigurasi. AWS Cloud Amazon MQ menyediakan infrastruktur yang sangat tersedia, aman, dan dapat diskalakan, dan dapat memproses sejumlah besar pesan per detik dengan mudah. Beberapa aplikasi dapat menggunakan infrastruktur dengan host virtual, antrian, dan pertukaran yang berbeda. Namun, mengelola opsi konfigurasi ini atau membuat infrastruktur secara manual dapat memerlukan waktu dan usaha. Pola ini menjelaskan cara untuk mengelola konfigurasi untuk RabbitMQ dalam satu langkah, melalui satu file. Anda dapat menyematkan kode yang disediakan dengan pola ini dalam alat integrasi berkelanjutan (CI) seperti Jenkins atau Bamboo. 

Anda dapat menggunakan pola ini untuk mengonfigurasi cluster RabbitMQ apa pun. Yang dibutuhkan hanyalah konektivitas ke cluster. Meskipun ada banyak cara lain untuk mengelola konfigurasi RabbitMQ, solusi ini membuat seluruh konfigurasi aplikasi dalam satu langkah, sehingga Anda dapat mengelola antrian dan detail lainnya dengan mudah.

## Prasyarat dan batasan
<a name="automate-rabbitmq-configuration-in-amazon-mq-prereqs"></a>

**Prasyarat**
+ AWS Command Line Interface (AWS CLI) [diinstal dan dikonfigurasi](https://docs.aws.amazon.com/cli/latest/userguide/install-cliv2-linux.html) untuk menunjuk ke Akun AWS
+ Ansible diinstal, sehingga Anda dapat menjalankan pedoman untuk membuat konfigurasi
+ **rabbitmqadmin** [diinstal (untuk petunjuk, lihat dokumentasi RabbitMQ)](https://www.rabbitmq.com/management-cli.html)
+ Cluster RabbitMQ di Amazon MQ, dibuat dengan metrik Amazon yang sehat CloudWatch 

**Persyaratan tambahan**
+ Pastikan untuk membuat konfigurasi untuk host virtual dan pengguna secara terpisah dan bukan sebagai bagian dari JSON.
+ Pastikan bahwa konfigurasi JSON adalah bagian dari repositori dan dikontrol versi.
+ Versi CLI **rabbitmqadmin** harus sama dengan versi server RabbitMQ, jadi opsi terbaik adalah mengunduh CLI dari konsol RabbitMQ.
+ Sebagai bagian dari pipeline, pastikan sintaks JSON divalidasi sebelum setiap proses dijalankan.

**Versi produk**
+ AWS CLI versi 2.0
+ Ansible versi 2.9.13
+ **rabbitmqadmin** versi 3.9.13 (harus sama dengan versi server RabbitMQ)

## Arsitektur
<a name="automate-rabbitmq-configuration-in-amazon-mq-architecture"></a>

**Tumpukan teknologi sumber**
+ Kluster RabbitMQ yang berjalan di mesin virtual (VM) lokal yang sudah ada atau klaster Kubernetes (di tempat atau di cloud)

**Tumpukan teknologi target**
+ Konfigurasi RabbitMQ otomatis di Amazon MQ untuk RabbitMQ

**Arsitektur target**

Ada banyak cara untuk mengkonfigurasi RabbitMQ. Pola ini menggunakan fungsionalitas konfigurasi impor, di mana satu file JSON berisi semua konfigurasi. File ini menerapkan semua pengaturan dan dapat dikelola oleh sistem kontrol versi seperti Bitbucket atau Git. Pola ini menggunakan Ansible untuk mengimplementasikan konfigurasi melalui CLI **rabbitmqadmin**.

![Mengotomatiskan konfigurasi RabbitMQ di Amazon MQ](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/images/pattern-img/294120b6-c95f-4cc5-bf85-5ad7e2abdad5/images/292e1284-5c9e-4c82-bb41-010fa84d8d74.png)


## Alat
<a name="automate-rabbitmq-configuration-in-amazon-mq-tools"></a>

**Layanan AWS**
+ [Amazon MQ](https://docs.aws.amazon.com/amazon-mq/) adalah layanan broker pesan terkelola yang memudahkan untuk mengatur dan mengoperasikan broker pesan di cloud.
+ [AWS CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html)membantu Anda mengatur AWS infrastruktur dan mempercepat penyediaan cloud dengan infrastruktur sebagai kode.
+ [AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html)memungkinkan Anda untuk berinteraksi Layanan AWS dengan menggunakan perintah dalam shell baris perintah. 

**Alat lainnya**
+ [rabbitmqadmin](https://www.rabbitmq.com/management-cli.html) adalah alat baris perintah untuk API berbasis HTTP RabbitMQ. Ini digunakan untuk mengelola dan memantau node dan cluster RabbitMQ.
+ [Ansible](https://www.ansible.com/) adalah alat sumber terbuka untuk mengotomatisasi aplikasi dan infrastruktur TI.

**Repositori kode**

File konfigurasi JSON yang digunakan dalam pola ini dan contoh buku pedoman Ansible disediakan di lampiran.

## Epik
<a name="automate-rabbitmq-configuration-in-amazon-mq-epics"></a>

### Buat AWS infrastruktur Anda
<a name="create-your-aws-infrastructure"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Buat cluster RabbitMQ di. AWS | Jika Anda belum memiliki cluster RabbitMQ, Anda dapat menggunakannya [AWS CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html)untuk membuat tumpukan. AWS Atau, Anda dapat menggunakan [CloudFormation modul di Ansible](https://docs.ansible.com/projects/ansible/latest/collections/amazon/aws/cloudformation_module.html) untuk membuat tumpukan. Dengan pendekatan yang terakhir, Anda dapat menggunakan Ansible untuk kedua tugas: untuk membuat infrastruktur RabbitMQ dan mengelola konfigurasi.  | AWS Umum, Ansible | 

### Buat Amazon MQ untuk konfigurasi RabbitMQ
<a name="create-the-amqlong-for-rabbitmq-configuration"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Buat file properti. | Unduh file konfigurasi JSON (`rabbitmqconfig.json`) di lampiran, atau ekspor dari konsol RabbitMQ.  Ubah untuk mengonfigurasi antrian, pertukaran, dan binding. File konfigurasi ini menunjukkan hal berikut:[See the AWS documentation website for more details](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/automate-rabbitmq-configuration-in-amazon-mq.html)<br />Konfigurasi ini dilakukan di bawah host virtual root (/), seperti yang dipersyaratkan oleh **rabbitmqadmin**.  | JSON | 
| Ambil detail Amazon MQ untuk infrastruktur RabbitMQ. | Ambil detail berikut untuk infrastruktur RabbitMQ di: AWS[See the AWS documentation website for more details](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/automate-rabbitmq-configuration-in-amazon-mq.html)<br />Anda dapat menggunakan Konsol Manajemen AWS atau AWS CLI untuk mengambil informasi ini. Detail ini memungkinkan buku pedoman Ansible untuk terhubung ke Anda Akun AWS dan menggunakan cluster RabbitMQ untuk menjalankan perintah.Komputer yang menjalankan buku pedoman Ansible harus dapat mengakses buku Anda Akun AWS, dan AWS CLI harus sudah dikonfigurasi, seperti yang dijelaskan di bagian *Prasyarat*. | AWS Umum | 
| Buat file `hosts_var`. | Buat `hosts_var` file untuk Ansible dan pastikan bahwa semua variabel didefinisikan dalam file. Pertimbangkan untuk menggunakan Ansible Vault untuk menyimpan kata sandi. Anda dapat mengonfigurasi `hosts_var` file sebagai berikut (ganti tanda bintang dengan informasi Anda):<pre>RABBITMQ_HOST: "***********.mq.us-east-2.amazonaws.com"<br />RABBITMQ_VHOST: "/"<br />RABBITMQ_USERNAME: "admin"<br />RABBITMQ_PASSWORD: "*******"</pre> | Ansible | 
| Buat buku pedoman Ansible. | Untuk contoh buku pedoman, lihat `ansible-rabbit-config.yaml` di lampiran. Unduh dan simpan file ini. Buku pedoman Ansible mengimpor dan mengelola semua konfigurasi RabbitMQ, seperti antrian, pertukaran, dan binding, yang diperlukan aplikasi. <br />Ikuti praktik terbaik untuk buku pedoman Ansible, seperti mengamankan kata sandi. Gunakan Ansible Vault untuk enkripsi kata sandi, dan ambil kata sandi RabbitMQ dari file terenkripsi. | Ansible | 

### Deploy konfigurasi
<a name="deploy-the-configuration"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Jalankan buku pedoman. | Jalankan playbook Ansible yang Anda buat di epik sebelumnya.<pre>ansible-playbook ansible-rabbit-config.yaml</pre><br />Anda dapat memverifikasi konfigurasi baru di konsol RabbitMQ. | AWS Umum, RabbitMQ, Ansible | 

## Sumber daya terkait
<a name="automate-rabbitmq-configuration-in-amazon-mq-resources"></a>
+ [Bermigrasi dari RabbitMQ ke Amazon MQ (posting blog)](https://aws.amazon.com/blogs/compute/migrating-from-rabbitmq-to-amazon-mq/)AWS 
+ [Alat Baris Perintah Manajemen](https://www.rabbitmq.com/management-cli.html) (dokumentasi RabbitMQ)
+ [Membuat atau menghapus AWS CloudFormation tumpukan](https://docs.ansible.com/ansible/latest/collections/amazon/aws/cloudformation_module.html) (dokumentasi Ansible)
+ [Memigrasi aplikasi berbasis pesan ke Amazon MQ untuk AWS RabbitMQ (](https://aws.amazon.com/blogs/compute/migrating-message-driven-applications-to-amazon-mq-for-rabbitmq/)posting blog)

## Lampiran
<a name="attachments-294120b6-c95f-4cc5-bf85-5ad7e2abdad5"></a>

[Untuk mengakses konten tambahan yang terkait dengan dokumen ini, unzip file berikut: attachment.zip](samples/p-attach/294120b6-c95f-4cc5-bf85-5ad7e2abdad5/attachments/attachment.zip)