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 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
Prasyarat
AWS Command Line Interface (AWS CLI) diinstal dan dikonfigurasi untuk menunjuk ke Akun AWS
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
Layanan AWS
Amazon MQ adalah layanan broker pesan terkelola yang memudahkan untuk mengatur dan mengoperasikan broker pesan di cloud.
AWS CloudFormationmembantu Anda mengatur AWS infrastruktur dan mempercepat penyediaan cloud dengan infrastruktur sebagai kode.
AWS CLImemungkinkan Anda untuk berinteraksi Layanan AWS dengan menggunakan perintah dalam shell baris perintah.
Alat lainnya
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.
Repositori 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 menggunakannya AWS CloudFormationuntuk membuat tumpukan. AWS Atau, Anda dapat menggunakan CloudFormation modul di Ansible | AWS Umum, Ansible |
| Tugas | Deskripsi | Keterampilan yang dibutuhkan |
|---|---|---|
Buat file properti. | Unduh file konfigurasi JSON (
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 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. pentingKomputer 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 | 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. | AWS Umum, RabbitMQ, Ansible |
Sumber daya terkait
Alat Baris Perintah Manajemen
(dokumentasi RabbitMQ) Membuat atau menghapus AWS CloudFormation tumpukan
(dokumentasi Ansible) Memigrasi aplikasi berbasis pesan ke Amazon MQ untuk AWS RabbitMQ (
posting blog)
Lampiran
Untuk mengakses konten tambahan yang terkait dengan dokumen ini, unzip file berikut: attachment.zip