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
Yogesh Bhatia dan Afroz Khan, Amazon Web Services
Ringkasan
Amazon MQ adalah layanan broker pesan terkelola yang menyediakan kompatibilitas dengan banyak broker pesan populer. Menggunakan Amazon MQ dengan RabbitMQ menyediakan kluster RabbitMQ yang kuat yang dikelola di Amazon Web Services (AWS) Cloud dengan beberapa broker dan opsi konfigurasi. 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
Prasyarat
AWS Command Line Interface (AWS CLI) diinstal dan dikonfigurasi untuk menunjuk ke akun AWS Anda (untuk petunjuk, lihat dokumentasi AWS CLI)
Ansible diinstal, sehingga Anda dapat menjalankan pedoman untuk membuat konfigurasi
rabbitmqadmin diinstal (untuk petunjuk, lihat dokumentasi RabbitMQ)
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
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.

Alat
Alat
rabbitmqadmin
adalah alat baris perintah untuk API berbasis HTTP RabbitMQ. Ini digunakan untuk mengelola dan memantau node dan cluster RabbitMQ. Ansible
adalah alat sumber terbuka untuk mengotomatisasi aplikasi dan infrastruktur TI. AWS CLI memungkinkan Anda berinteraksi dengan layanan AWS dengan menggunakan perintah di shell baris perintah.
Layanan AWS
Amazon MQ adalah layanan broker pesan terkelola yang memudahkan untuk mengatur dan mengoperasikan broker pesan di cloud.
AWS CloudFormation membantu Anda mengatur infrastruktur AWS dan mempercepat penyediaan cloud dengan infrastruktur sebagai kode.
Kode
File konfigurasi JSON yang digunakan dalam pola ini dan contoh buku pedoman Ansible disediakan di lampiran.
Epik
| Tugas | Deskripsi | Keterampilan yang dibutuhkan |
|---|---|---|
Buat cluster RabbitMQ di AWS. | Jika Anda belum memiliki cluster RabbitMQ, Anda dapat menggunakan AWS CloudFormation untuk membuat tumpukan di AWS. Atau, Anda dapat menggunakan modul Cloudformation di Ansible | AWS CloudFormation, Ansible |
| Tugas | Deskripsi | Keterampilan yang dibutuhkan |
|---|---|---|
Buat file properti. | Unduh file konfigurasi JSON ( - Membuat dua antrian: dan - Menciptakan dua pertukaran: - Menerapkan pengikatan antara antrian dan pertukaran 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:
Anda dapat menggunakan AWS Management Console atau AWS CLI untuk mengambil informasi ini. Detail ini memungkinkan buku pedoman Ansible untuk terhubung ke akun AWS Anda dan menggunakan cluster RabbitMQ untuk menjalankan perintah. pentingKomputer yang menjalankan buku pedoman Ansible harus dapat mengakses akun AWS Anda, dan AWS CLI harus sudah dikonfigurasi, seperti yang dijelaskan di bagian Prasyarat. | AWS CLI, Amazon MQ |
Buat file hosts_var. | Buat
| Ansible |
Buat buku pedoman Ansible. | Untuk contoh buku pedoman, lihat 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 |
| Tugas | Deskripsi | Keterampilan yang dibutuhkan |
|---|---|---|
Jalankan buku pedoman. | Jalankan playbook Ansible yang Anda buat di epik sebelumnya.
Anda dapat memverifikasi konfigurasi baru di konsol RabbitMQ. | RabbitMQ, Amazon MQ, Ansible |
Sumber daya terkait
Bermigrasi dari RabbitMQ ke Amazon MQ
(postingan blog AWS) Alat Baris Perintah Manajemen
(dokumentasi RabbitMQ) Membuat atau menghapus CloudFormation tumpukan AWS
(dokumentasi Ansible) Memigrasi aplikasi berbasis pesan ke Amazon MQ untuk RabbitMQ (
posting blog AWS)
Lampiran
Untuk mengakses konten tambahan yang terkait dengan dokumen ini, unzip file berikut: attachment.zip