Pelajari bagaimana Anda dapat menggunakan Cloudflare load balancer (LB) untuk mendistribusikan lalu lintas antara AWS (Amazon Web Services) dan GCP (Google Cloud Platform).
Sebagian besar aplikasi web memerlukan atau melakukan keseimbangan beban antara server/layanan di pusat data yang sama.
Namun, jika Anda menjalankan aplikasi mission-critical di mana uptime dibutuhkan sepanjang waktu di seluruh dunia, maka Anda memerlukan cloud load balancer.
Bukan hanya waktu aktif tetapi bisa banyak faktor lainnya.
Mantan:
- Persyaratan pusat data aktif-pasif atau aktif-aktif
- Rencana pemulihan bencana
- Memanfaatkan beberapa pusat data untuk melayani permintaan dari lokasi terdekat
- Kepatuhan
Cloudflare menawarkan opsi penyeimbangan beban lokal dan global, yang membantu mengarahkan lalu lintas ke beberapa pusat data.
Beberapa fitur Cloudflare LB adalah:
- Pemeriksaan kesehatan sudah terpasang, sehingga Anda dapat dengan cepat menghapus server yang rusak.
- Memicu failover saat pemeriksaan kesehatan gagal
- Kurangi latensi dengan merutekan lalu lintas ke server terdekat
- Tingkat DNS dan mendukung HTTP(S), TCP, dan UDP
- Kelengketan sesi untuk memastikan permintaan masuk ke server yang sama
Anda dapat mengonfigurasi semuanya baik melalui dasbor Cloudflare atau API.
Secara teknis, instruksi berikut berlaku untuk memuat keseimbangan pada platform cloud apa pun seperti Azure, DigitalOceanAlibaba, dll. Tapi saya telah memilih GCP dan AWS untuk demonstrasi.
Detail Penyiapan AWS & GCP
Saya telah menyediakan satu server di platform GCP dan AWS dengan yang berikut ini.
- Menginstal Nginx
- Menambahkan index.html dengan teks khusus untuk menunjukkan halaman sedang dilayani dari server masing-masing
- Mulai Nginx, dan halaman dapat diakses dari kedua server
Mari pindah ke Cloudflare untuk mengimplementasikan LB.
Mengaktifkan Penyeimbang Beban Cloudflare
Saya memiliki satu domain yang tersedia (bloggerflare.com), yang akan saya gunakan untuk lab ini.
Catatan: Load balancer oleh Cloudflare tidak GRATIS, dan harga mulai dari $5 per bulan.
Saya berasumsi Anda sudah memiliki akun dengan Cloudflare; jika belum, anda bisa membuat dan menambahkan domain tersebut, seperti yang sudah saya jelaskan di postingan saya sebelumnya.
- Masuk ke Cloudflare dan pilih domain tempat Anda ingin mengaktifkan penyeimbangan
- Buka tab lalu lintas dan aktifkan penyeimbangan beban.
- Konfigurasikan fitur berdasarkan kebutuhan. Saya melanjutkan dengan konfigurasi minimal.
Jika Anda ingin permintaan diarahkan ke lokasi terdekat, maka Anda harus mengaktifkan Geo Routing.
- Konfirmasikan langganan dan aktifkan.
Seperti yang Anda lihat, Anda bisa memulainya dari $5 per bulan dengan dua server asal dan interval pemeriksaan kesehatan satu menit.
Infrastruktur sekarang sangat terjangkau. 5 tahun yang lalu, dapatkah Anda bayangkan penyeimbang beban cloud seharga $5?
Ini menunjukkan Cloudflare LB diaktifkan dan siap untuk dikonfigurasi.
Membuat Cloudflare LB
Diperlukan beberapa detik untuk mengonfirmasi langganan dan membawa Anda kembali ke halaman Lalu Lintas.
- Klik Buat Penyeimbang Beban
- Masukkan domain tempat Anda ingin mengatur penyeimbangan.
- Perluas Afinitas Sesi dan pilih Dengan Cloudflare Cookie jika Anda perlu mengaktifkan kekakuan sesi
- Masukkan nama kumpulan, dan itu adalah Asal (server tempat lalu lintas harus diarahkan)
- Selanjutnya, Anda dapat mengonfigurasi pemeriksaan kesehatan.
Pemeriksaan kesehatan sangat penting. Cloudflare akan berhenti mengirimkan lalu lintas ke asal yang salah ketika pemeriksaan kesehatan gagal.
- Jika Asal Anda mendengarkan pada port 80, maka Anda dapat memilih HTTP atau https untuk port 443.
Cloudflare juga memungkinkan Anda mengonfigurasi pengaturan pemeriksaan kesehatan lanjutan seperti:
- GET atau HEAD metode
- Kode status HTTP yang diharapkan
- Validasi konten di badan tanggapan
- Jumlah upaya sebelum mereka menganggap sehat atau tidak sehat
- Validasi nama tajuk
Dan akhirnya, simpan konfigurasi dan terapkan
- LB akan melakukan pemeriksaan kesehatan, dan dalam beberapa detik, Anda akan melihat statusnya sehat.
Hebat, ini menyimpulkan penyeimbang beban Cloudflare siap menerima lalu lintas dari dunia dan meneruskannya ke server asal yang dikonfigurasi.
Menguji Penyeimbang Beban
Mari kita lakukan tes dasar untuk melihat apakah itu berhasil.
- Pertama, coba akses domain.
Luar biasa!
LB meneruskan permintaan ke Google Cloud VM dan mendapat tanggapan. Saya dapat melihat permintaan di Nginx.
162.158.167.174 - - [19/Dec/2017:10:25:41 +0000] "GET / HTTP/1.1" 304 0 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.84 Safari/537.36"
- Biarkan saya mematikan Nginx di GCP dan mengakses halaman lagi.
- Dan ini dia. Halaman yang diminta disajikan dari AWS.
Saya dapat melihat LB menurunkan anggota kumpulan GCP.
Secara default, IP Cloudflare akan ditampilkan di log akses Nginx, dan jika Anda perlu memulihkan IP klien, Anda dapat melihat panduan ini.
Kesimpulan
Menerapkan penyeimbang beban Cloudflare sangat mudah dan dapat dimulai dalam waktu kurang dari 15 menit. Jika Anda mencari ketersediaan tinggi antara beberapa pusat data atau server asal, cobalah untuk melihat cara kerjanya.
Senang membaca artikelnya? Bagaimana kalau berbagi dengan dunia?