Penyeimbangan Beban Lanjut dan Pengelompokan dalam Layanan Web Amazon

DIPOSTING OLEH Zevenet | 24 Juli 2020

pengantar

Artikel berikut menjelaskan cara mengatur layanan penyeimbangan beban tingkat lanjut dengan ZEVENET Load Balancer untuk ketersediaan tinggi di Infrastruktur Amazon Web Services EC2. Kami akan menjelaskan prosedur untuk mengonfigurasi a Cluster ZEVENET dan konfigurasikan profil keseimbangan beban TCP untuk layanan HTTP keseimbangan beban dengan 3 server backend web.

Infrastruktur AWS dan ZEVENET

Diagram berikut menjelaskan arsitektur yang kami ingin menerapkan penyeimbangan muatan web dengan ZEVENET Application Delivery Controller di AWS.

Diperlukan untuk menggunakan dua Pengontrol Pengiriman Aplikasi ZEVENET, templat ini tersedia di pasar Layanan Web Amazon, dan setiap Pengontrol Pengiriman Aplikasi ZEVENET dikonfigurasikan dalam VPC yang sama dengan server backend web seperti ditunjukkan pada diagram di atas dengan subnet 17.32.16.0./20.

Setiap instance ZEVENET ADC dikonfigurasi dengan satu Antarmuka eth0, dan setiap instance ditugaskan untuk satu IP elastis, juga satu IP elastis tambahan diberikan ke satu IP tambahan melalui eth0 dalam ZLB1-prod contoh yang akan digunakan untuk tujuan keseimbangan beban, seperti dijelaskan di bawah ini:

ZLB1-prod ditugaskan untuk 172.31.20.89 di eth0, instance ini akan diakses langsung oleh satu IP elastis 34.225.30.206
ZLB2-prod ditugaskan untuk 172.31.26.237 di eth0, instance ini akan diakses langsung oleh satu IP elastis 54.161.240.226

Satu IP tambahan ditugaskan untuk ZLB1-prod dan dikonfigurasi dalam penyeimbang beban dengan nama eth0: vip1 dan IP 172.31.26.47, IP ini digunakan untuk mengkonfigurasi di sini satu Load Balancing Service dan menjadi bagian dari layanan cluster, jadi IP ini hanya akan berfungsi di salah satu instance ZEVENET pada satu waktu, yang mengelola AKTIF peran dalam gugus. IP internal ini ditetapkan untuk satu IP Elastis, yang diakses oleh klien untuk terhubung ke layanan web nyata yang diterbitkan.

Akhirnya backend01, backend02 serta backend03 adalah instance EC2 dengan server web berbasis Linux, instance tersebut adalah bagian dari layanan beban-seimbang di mana klien terhubung saat diminta http://54.144.190.17/ .

Menyebarkan dua Mesin Virtual ZEVENET di AWS Marketplace

Mari kita gunakan dua Load Balancers ZEVENET dan konfigurasikan seperti yang dijelaskan sebelumnya.

Pergi ke bagian instance EC2 dan tekan Luncurkan instance.

1. Cari AME yang dibutuhkan dari ZEVENET Load Balancer Enterprise Edition. Ini AMI berbasis di lisensi BYOL model. Tahap evaluasi tidak dikenai biaya dan bantuan selama satu bulan sudah termasuk, setelah periode waktu ini diperlukan lisensi yang pasti untuk bekerja.

2. Pilih sebuah Jenis Mesin Virtual. Pilih di sini instance yang diperlukan berdasarkan sumber daya yang ingin Anda muat saldo. Tunggal t2.kecil contoh bagus untuk mulai bekerja Profil L4, tetapi jika Anda ingin menggunakan Profil HTTP maka kami akan merekomendasikan setidaknya a t2.medium contoh. Tapi, a t2.micro contoh cukup baik untuk tujuan pengujian.

3. Konfigurasi Rincian Instance. Pilih di sini VPC tempat menjalankan instance ZEVENET baru, dalam contoh konfigurasi ini kami akan memperkenalkan instance ZEVENET EC2 dalam VPC yang sama dari server backend web nyata yang telah dikonfigurasi.

4. Tambahkan Penyimpanan. Secara default, instance ZEVENET EC2 membutuhkan setidaknya 12Gb Penyimpanan, jika Anda ingin mengaktifkan log secara default, maka kami sarankan untuk meningkatkan ukuran ini setidaknya menjadi 20Gb. ZEVENET tidak memerlukan akses ke Disk, hanya untuk menyimpan log, jadi Jenis Volume untuk tujuan umum adalah pilihan yang baik.

5. Tambahkan tanda. Konfigurasikan di sini beberapa tag deskripsi jika diinginkan.

6. Konfigurasi Grup Keamanan. ZEVENET secara default menggunakan port TCP 444 untuk tujuan manajemen GUI web HTTPS dan port TCP 22 di SSH untuk tujuan manajemen baris perintah dan pengelompokan. Selain itu, masing-masing Port Virtual digunakan dalam layanan virtual penyeimbang beban akan diminta untuk dimasukkan dalam grup keamanan Anda. Kami telah mengonfigurasi grup keamanan yang digunakan untuk instance ZEVENET EC2 dalam mode yang tidak terlalu ketat sebagai berikut:

TYPE = All traffic
Protocol = ALL 
Port Range = All
Source = 0.0.0.0/0
Description = Allow all from all to all

Grup keamanan ini dibuat untuk tujuan pengujian, Anda dapat memilih untuk memblokir semua port dan hanya mengizinkan yang digunakan untuk penyeimbangan dan manajemen beban.

Setelah asisten konfigurasi kembali ke Daftar Instance EC2, alat baru akan mulai digunakan dan Memulai negara akan ditampilkan. Kemudian, konfigurasikan sekarang nama deskriptif di bidang Nama, dalam kasus kami, penyeimbang muatan yang digunakan di EC2 diberi nama ZLB1-prod serta ZLB2-prod.

Mengkonfigurasi jaringan untuk Mesin Virtual ZEVENET EC2

Setelah peralatan virtual ZEVENET telah digunakan dan Status Instance ditampilkan Running mode kita dapat melanjutkan untuk mengkonfigurasi jaringan.

Klik tombol kanan di atas ZLB1-prod alat dan pilih Jaringan> Kelola Alamat IP, Dalam Kelola Alamat IP jendela pop-up tekan Tetapkan IP baru dan tekan tombol Ya, Perbarui, sistem akan menetapkan IP baru untuk eth0 dalam VPC yang sama. Ingat IP baru ini, dalam contoh kita, IP baru ini akan 172.31.26.47. Sistem menetapkan IP baru yang akan digunakan untuk tujuan penyeimbangan beban di layanan pengelompokan di masa mendatang.

Pergi ke bagian IP elastis dan menetapkan untuk setiap instance ZEVENET yang baru IP elastis. Itu akan digunakan untuk tujuan manajemen, bukan untuk penyeimbangan beban.

Pada bagian yang sama IP elastis bagian, tetapkan IP baru untuk ZLB1-prod, tetapi dalam hal ini, pilih IP pribadi alamat 172.31.26.47. Setelah konfigurasi ini ZLB1-prod akan dapat diakses melalui web dan ssh dengan IP 34.225.30.206, tapi ZLB2-prod dapat diakses melalui layanan yang sama dengan IP 54.161.240.226 serta IP elastis 54.144.190.17 ditugaskan ke IP 172.31.26.47.

Mengaktifkan instance ZEVENET EC2 dengan lisensi temporal

Setelah IP Elastis telah dikonfigurasi, Load Balancers virtual akan dapat diakses sebagai berikut:

ZLB1-prod akan dapat diakses melalui https://34.225.30.206:444 root pengguna dan kata sandi id instan.
ZLB1-prod akan dapat diakses melalui ssh di IP 34.225.30.226 dengan admin pengguna dan file sertifikat pribadi, ini dikonfigurasi pada waktu penyebaran EC2.
ZLB2-prod akan dapat diakses melalui https://54.161.240.226:444 root pengguna dan kata sandi id instan.
ZLB2-prod akan dapat diakses melalui ssh di IP 54.161.240.226 dengan admin pengguna dan file sertifikat pribadi, ini dikonfigurasi pada waktu penyebaran EC2.

Jika Anda mempertimbangkan untuk mengubah nama host sebelum melanjutkan, jika demikian, silakan reboot instance EC2 untuk menerapkan perubahan.

Setelah akses ke GUI web berhasil dilakukan, Anda akan melihat dua nilai penting, nama host, dan Kunci Sertifikat, kedua informasi tersebut unik per Load Balancer dan terkait dengan lisensi Aktivasi, gunakan informasi ini dalam URL berikut seperti yang dijelaskan: https://www.zevenet.com/activate-enterprise-edition-cloud-evaluation/

Setelah formulir diisi, sistem mengirim lisensi ke email yang ditunjukkan secara otomatis. Harap unggah lisensi aktivasi PEM yang diterima melalui GUI web di setiap penyeimbang beban, setelah ini selesai, GUI web tidak terkunci dan semua fitur diaktifkan sepenuhnya dan operasional.

Lakukan prosedur aktivasi yang sama di kedua node ZLB1-prod dan ZLB2-prod.

Mengkonfigurasi IP Virtual untuk Penyeimbangan Beban

Pada poin sebelumnya, kami telah menetapkan IP tambahan untuk eth0 172.31.26.47 dalam contoh ZLB1-pro, dan IP ini telah ditetapkan untuk satu IP Elastis 54.144.190.17, sekarang sedang menunggu untuk melakukan konfigurasi ini di penyeimbang beban ZBL1-pro.

Pergi ke penyeimbang beban ZLB1-pro melalui antarmuka web menggunakan IP Elastisnya https://34.225.30.206:444, begitu Anda masuk silakan masuk ke menu navigasi Jaringan> Antarmuka Virtual> Buat Antarmuka Virtual, dan lakukan konfigurasi berikut:

Parent Interface = eth0 172.31.26.47

* Karena instance EC2 tidak tahu apa-apa tentang IP Elastis, kami perlu mengonfigurasi di sini IP fisik instance EC2 yang ditautkan ke IP elastis publik yang digunakan untuk tujuan keseimbangan beban 54.144.190.17

Virtual Interface name = vip1
IP Address = 172.31.26.47

Siaran membuat tombol untuk menerapkan konfigurasi.

Sekarang IP baru 172.31.26.47 dengan nama eth0: vip1 telah dikonfigurasi dalam ZLB1-pro EC2 ZEVENET Load Balancer dan dapat di-ping dari instance EC2 apa pun di VPC ini.

Mengkonfigurasi layanan Cluster ZEVENET di Amazon Web Services

Cluster Load Balancer ZEVENET berfungsi di menyatakan aktif-pasif mode, itu berarti bahwa sumber daya cluster dikonfigurasikan di kedua node tetapi hanya tersedia di AKTIF simpul Ketika simpul tersebut gagal dan peran ini dimulai di anggota lain, sumber daya gugus perlu diakses lagi. Karena IP Virtual juga merupakan sumber daya cluster, Amazon Web Service perlu diumumkan dalam beberapa cara bahwa IP Virtual dikonfigurasikan untuk load balancing 172.31.26.47 akan bekerja sekarang melalui ZLB2-prod.

Untuk ini, layanan Cluster ZEVENET menggunakan klien AWS yang perlu dikonfigurasi dengan izin dalam modul EC2 untuk mengelola Antarmuka, jadi sebelum memulai layanan Cluster ZEVENET kita perlu menyiapkannya. Jadi mari kita mengkonfigurasi KUNCI AWS di akun Anda dengan izin untuk mengelola IP di EC2 untuk digunakan di antarmuka baris perintah AWS.

Pergi ke konsol Amazon https://console.aws.amazon.com/iam/ , lalu pada menu navigasi pilih pemakai. Klik pada tombol Tambahkan pengguna.

Configure a descriptive User name = aws-for-zlb

In Pilih jenis akses AWS memilih Akses terprogram dan tekan tombol Berikutnya: Izin. Sekarang di Tetapkan izin bagian tekan Membuat grup dan kemudian di jendela baru isi bidang Nama grup dengan nama deskriptif, misalnya, AmazonEC2, dan akhirnya, di lapangan Kebijakan filter cari dan pilih kebijakan bernama AmazonEC2Akses Penuh yang memberikan izin untuk mengubah IP yang ditugaskan antara instance EC2 antara lain.

Tekan Berikutnya: tag serta Berikutnya: Ulasan. Akhirnya tekan Buat pengguna, jendela terakhir akan menunjukkan ID kunci akses dan Kunci akses rahasia untuk pengguna ini, harap simpan untuk penggunaan di masa mendatang.

Sekarang kita siap untuk mengkonfigurasi layanan ZEVENET Cluster, jadi buka panel web di ZLB1-pro melalui IP publik yang ditetapkan https://34.225.30.206:444, bagian Sistem> Cluster dan isi formulir berikut contohnya:

Kredensial AWS: Kunci Akses dan kunci Rahasia adalah nilai yang sudah dibuat di baris sebelumnya. Wilayah, pilih di sini wilayah tempat pengontrol Pengiriman Aplikasi ZEVENET Anda digunakan.

Konfigurasikan kluster:

IP lokal: pilih IP dan NIC dari eth0.
IP jarak jauh: masukkan di sini IP eth0 di node ZLB2-pro.
Kata Sandi Node Jarak Jauh serta Konfirmasi Sandi: masukkan di sini kata sandi root untuk ssh di node lain, secara default ID instance dari ZLB2-pro.

Klik pada Menghasilkan tombol dan tunggu beberapa detik sementara simpul di mana Anda menjalankan konfigurasi akan mengambil AKTIF peran (ZLB1-pro) dan yang lainnya (ZLB2-pro) akan mengambil PASIF peran.

Pada titik ini, ZEVENET Cluster telah dikonfigurasi di AWS dan siap untuk bekerja, mari kita konfigurasikan layanan keseimbangan beban berkerumun pertama kami.

Mengkonfigurasi L4 Load balancing sederhana untuk layanan web

Pergi ke LSLB> Pertanian> Buat Pertanian dengan parameter berikut.

Mempertimbangkan bahwa Virtual IP yang digunakan 172.31.26.47 adalah IP Virtual yang dikonfigurasi sebelumnya dan sumber daya dari cluster yang akan selalu dapat dijangkau dari AKTIF simpul tekan membuat dan lanjutkan.

Sekarang di jendela baru konfigurasikan Bagian global seperti yang ditunjukkan di bawah ini:

Dan akhirnya, konfigurasikan bagian tersebut Layanan seperti yang dijelaskan:

penggunaan Kegigihan IP dengan batas waktu 60 detik untuk berjaga-jaga jika Anda perlu menjamin bahwa IP klien yang sama akan terhubung ke backend yang sama sepanjang periode waktu tertentu. Konfigurasikan pemeriksaan kesehatan tingkat lanjut dengan FarmGuardian. Menggunakan check_tcp sebagai pemeriksaan kesehatan sederhana untuk memverifikasi bahwa port TCP backend 80 dibuka di setiap backend. Dan kemudian, tambahkan backend server IP internal dan port tempat layanan web nyata berjalan.

Sekarang coba koneksi ke IP elastis http://54.144.190.17/ assigned to the internal IP 172.31.26.47, the connection will pass through the load balancer using the eth0: vip1 dan diteruskan ke salah satu backend yang tersedia.

Sekarang kekuatan untuk mengubah AKTIF peran dalam gugus, misalnya, reboot node dengan peran ini dan setelah beberapa detik, yang lain akan mengambil layanan virtual dan terhubung lagi ke IP publik. Koneksi klien saat ini dan baru akan dibuat melawan backend yang sama tetapi kali ini melalui yang baru AKTIF simpul tanpa gangguan klien.

Nikmati penyeimbangan dan pengelompokan beban tingkat lanjut di AWS dengan ZEVENET!

Bagikan ke:

Dokumentasi di bawah ketentuan Lisensi Dokumentasi Bebas GNU.

Apakah artikel ini berguna?

Artikel terkait