Pengimbangan dan Pengumpulan Beban Lanjutan dalam Perkhidmatan Web Amazon

DIPOS oleh Zevenet | 24 Julai 2020

Pengenalan

Artikel berikut menerangkan cara menyediakan perkhidmatan pengimbangan beban lanjutan dengan ZEVENET Load Balancer untuk ketersediaan tinggi di Infrastruktur EC2 Perkhidmatan Web Amazon. Kami akan menerangkan prosedur untuk mengkonfigurasi a Kluster ZEVENET dan konfigurasikan profil baki beban TCP untuk perkhidmatan HTTP keseimbangan beban dengan 3 pelayan backend web.

Infrastruktur AWS dan ZEVENET

Gambar rajah berikut menerangkan seni bina yang ingin kami laksanakan pengimbangan beban web dengan Pengawal Penghantaran Aplikasi ZEVENET di AWS.

Diperlukan untuk menggunakan dua Pengawal Penyampaian Aplikasi ZEVENET, templat ini tersedia di pasar Perkhidmatan Web Amazon, dan setiap Pengawal Penyampaian Aplikasi ZEVENET dikonfigurasi dalam VPC yang sama dengan pelayan backend web seperti yang ditunjukkan dalam rajah di atas dengan subnet 17.32.16.0./20.

Setiap instance ZEVENET ADC dikonfigurasi dengan satu Interface eth0, dan setiap contoh diberikan kepada satu IP elastik, juga satu IP elastik tambahan diberikan kepada satu IP tambahan melalui eth0 dalam ZLB1-prod contoh yang akan digunakan untuk tujuan pengimbangan beban, seperti yang dijelaskan di bawah:

ZLB1-prod ditugaskan untuk 172.31.20.89 dalam eth0, contoh ini akan diakses secara langsung oleh seseorang IP elastik 34.225.30.206
ZLB2-prod ditugaskan untuk 172.31.26.237 dalam eth0, contoh ini akan diakses secara langsung oleh seseorang IP elastik 54.161.240.226

Satu IP tambahan diberikan kepada ZLB1-prod dan dikonfigurasikan dalam load balancer dengan nama eth0: vip1 dan IP 172.31.26.47, IP ini digunakan untuk mengkonfigurasi di sini satu Load Balancing Service dan menjadi sebahagian dari perkhidmatan cluster, jadi IP ini akan berfungsi hanya dalam salah satu contoh ZEVENET pada satu masa, yang menguruskan AKTIF peranan dalam kelompok. IP dalaman ini diberikan kepada satu IP Elastik, yang diakses oleh pelanggan untuk menyambung ke perkhidmatan web sebenar yang diterbitkan.

Akhirnya backend01, backend02 dan backend03 adalah contoh EC2 dengan pelayan web berasaskan Linux, contoh tersebut adalah sebahagian dari perkhidmatan seimbang beban di mana pelanggan menghubungkan apabila diminta http://54.144.190.17/ .

Menggunakan dua Contoh ZEVENET di AWS Marketplace

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

Pergi ke bahagian contoh EC2 dan tekan masuk Contoh pelancaran.

1. Cari AME ZEVENET Load Balancer Enterprise Edition yang diperlukan. Ini AMI berdasarkan lesen BYOL model. Fasa penilaian adalah percuma dan bantuan selama satu bulan dimasukkan, setelah jangka masa ini diperlukan lesen pasti untuk berfungsi.

2. Pilih satu Jenis Instance. Pilih di sini contoh yang diperlukan berdasarkan sumber yang anda ingin memuatkan keseimbangan. Sebatang t2.small contoh bagus untuk mula bekerja Profil L4, tetapi jika anda mahu menggunakan Profil HTTP maka kami akan mengesyorkan sekurang-kurangnya a t2. menengah contoh. Tetapi, a t2.micro contoh cukup baik untuk tujuan ujian.

3. Konfigurasi Butiran Contoh. Pilih di sini VPC di mana menjalankan instance ZEVENET baru, dalam contoh konfigurasi ini kita akan memperkenalkan contoh ZEVENET EC2 dalam VPC yang sama daripada pelayan backend web yang sebenarnya sudah dikonfigurasi.

4. Tambah Storan. Secara lalai ZEVENET EC2 memerlukan sekurang-kurangnya 12Gb Penyimpanan, jika anda ingin mengaktifkan log secara lalai, kami mengesyorkan untuk meningkatkan ukuran ini sekurang-kurangnya menjadi 20Gb. ZEVENET tidak memerlukan akses ke Disk, hanya untuk menyimpan log, jadi Jenis Isipadu untuk tujuan umum adalah pilihan yang baik.

5. Tambah Tags. Konfigurasikan di sini beberapa label keterangan jika mahu.

6. Konfigurasi Kumpulan Keselamatan. ZEVENET secara lalai menggunakan port TCP 444 untuk tujuan pengurusan GUI web HTTPS dan port TCP 22 di SSH untuk tujuan pengurusan baris perintah dan pengelompokan. Di samping itu, masing-masing Port Maya digunakan dalam perkhidmatan maya pengimbang beban akan disertakan dalam kumpulan keselamatan anda. Kami telah mengkonfigurasi kumpulan keselamatan yang digunakan untuk contoh ZEVENET EC2 dalam mod yang kurang ketat seperti berikut:

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

Kumpulan keselamatan ini dibuat untuk tujuan pengujian, anda boleh memilih untuk menyekat semua port dan hanya membenarkan yang digunakan untuk pengimbangan dan pengurusan beban.

Setelah pembantu konfigurasi kembali ke Daftar Instance EC2, perkakas baru akan mula digunakan dan Memulakan keadaan akan ditunjukkan. Kemudian, konfigurasikan sekarang nama deskriptif di lapangan Nama, dalam kes kami, pengimbang beban yang digunakan kami di EC2 diberi nama ZLB1-prod dan ZLB2-prod.

Mengkonfigurasi rangkaian untuk Instance ZEVENET EC2

Sebaik sahaja peralatan maya ZEVENET telah dikerahkan dan Negeri Contoh sedang menunjukkan Berlari mod kita boleh meneruskan untuk mengkonfigurasi rangkaian.

Klik butang kanan di atas ZLB1-prod perkakas dan pilih Rangkaian> Urus Alamat IP, Dalam Urus Alamat IP tetingkap pop timbul muncul Tetapkan IP baru dan tekan butang Ya, Kemas kini, sistem akan memberikan IP baru untuk eth0 dalam VPC yang sama. Ingatlah IP baru ini, dalam contoh kita, IP baru ini akan ada 172.31.26.47. Sistem ini menetapkan IP baru yang akan digunakan untuk tujuan pengimbangan beban dalam layanan pengelompokan masa depan.

Pergi ke bahagian IP elastik dan berikan kepada setiap contoh ZEVENET yang baru IP elastik. Itu akan digunakan untuk tujuan pengurusan, bukan untuk pengimbangan beban.

Dalam yang sama IP elastik bahagian, tetapkan IP baru ke ZLB1-prod, tetapi dalam kes ini, pilih IP persendirian alamat 172.31.26.47. Selepas konfigurasi ini ZLB1-prod akan dapat diakses melalui web dan ssh dengan IP 34.225.30.206, Tetapi ZLB2-prod boleh diakses melalui perkhidmatan yang sama dengan IP 54.161.240.226 dan IP elastik 54.144.190.17 ditugaskan ke IP 172.31.26.47.

Mengaktifkan instance ZEVENET EC2 dengan lesen temporal

Setelah IP Elastik dikonfigurasi, Load Balancers maya akan dapat diakses seperti berikut:

ZLB1-prod akan dapat diakses melalui https://34.225.30.206:444 root pengguna dan kata laluan id instance.
ZLB1-prod akan dapat diakses melalui ssh di IP 34.225.30.226 dengan pentadbir pengguna dan fail sijil peribadi, ini dikonfigurasi pada waktu penggunaan EC2.
ZLB2-prod akan dapat diakses melalui https://54.161.240.226:444 root pengguna dan kata laluan id instance.
ZLB2-prod akan dapat diakses melalui ssh di IP 54.161.240.226 dengan pentadbir pengguna dan fail sijil peribadi, ini dikonfigurasi pada waktu penggunaan EC2.

Sekiranya anda mempertimbangkan untuk menukar nama host sebelum meneruskan, jika demikian, sila reboot instance EC2 untuk menerapkan perubahan.

Setelah akses ke GUI web berjaya dilakukan, anda akan melihat dua nilai penting, nama host, dan Kunci Sijil, kedua-dua maklumat adalah unik per Load Balancer dan berkaitan dengan lesen Pengaktifan, gunakan maklumat ini di URL berikut seperti yang dijelaskan: https://www.zevenet.com/activate-enterprise-edition-cloud-evaluation/

Setelah borang diisi sistem akan menghantar lesen ke e-mel yang ditunjukkan secara automatik. Sila muat naik lesen pengaktifan PEM yang diterima melalui GUI web di setiap penyeimbang beban, setelah ini dilakukan, web GUI tidak terkunci dan semua ciri diaktifkan dan beroperasi sepenuhnya.

Lakukan prosedur pengaktifan yang sama di kedua-dua nod ZLB1-prod dan ZLB2-prod.

Mengkonfigurasi IP Maya untuk Pengimbangan Beban

Pada titik sebelumnya, kami telah memberikan IP tambahan kepada eth0 172.31.26.47 dalam contoh ZLB1-pro, dan IP ini telah diberikan kepada satu IP Elastik 54.144.190.17, sekarang belum selesai melakukan konfigurasi ini di pengimbang beban ZBL1-pro.

Pergi ke pengimbang beban ZLB1-pro melalui antara muka web menggunakan IP Elastiknya https://34.225.30.206:444, setelah anda log masuk sila ke menu navigasi Rangkaian> Muka Maya> Buat Muka Maya, dan lakukan konfigurasi berikut:

Parent Interface = eth0 172.31.26.47

* Oleh kerana contoh EC2 tidak mengetahui apa-apa mengenai IP Elastik, kita perlu mengkonfigurasi di sini IP fizikal contoh EC2 yang dihubungkan dengan IP Elastik awam yang digunakan untuk tujuan keseimbangan beban 54.144.190.17

Virtual Interface name = vip1
IP Address = 172.31.26.47

Keratan Akhbar Buat butang untuk menggunakan 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 mana-mana EC2 dalam VPC ini.

Mengkonfigurasi perkhidmatan ZEVENET Cluster dalam Amazon Web Services

Kluster Load Balancer ZEVENET berfungsi aktif-pasif bernegara mod, ini bermaksud bahawa sumber kluster dikonfigurasi di kedua-dua node tetapi hanya tersedia di AKTIF simpul. Apabila simpul tersebut gagal dan peranan ini dimulakan di anggota yang lain, sumber kluster perlu diakses lagi. Oleh kerana IP Maya juga merupakan sumber kluster, Perkhidmatan Web Amazon perlu diumumkan dengan cara yang dikonfigurasi IP Maya untuk pengimbangan beban 172.31.26.47 akan berfungsi sekarang melalui ZLB2-prod.

Untuk ini, perkhidmatan ZEVENET Cluster menggunakan klien AWS yang perlu dikonfigurasi dengan izin dalam modul EC2 untuk menguruskan Antaramuka, jadi sebelum memulakan perkhidmatan Cluster ZEVENET, kita perlu menyiapkannya. Oleh itu, mari kita mengkonfigurasi KUNCI AWS dalam akaun anda dengan kebenaran untuk menguruskan IP di EC2 kerana digunakan dalam antara muka baris arahan AWS.

Pergi ke konsol Amazon https://console.aws.amazon.com/iam/ , kemudian pada menu navigasi pilih pengguna. Klik pada butang Tambah pengguna.

Configure a descriptive User name = aws-for-zlb

In Pilih jenis akses AWS memilih Akses terprogram dan tekan butang Seterusnya: Kebenaran. Sekarang di Tetapkan kebenaran bahagian tekan masuk Buat kumpulan dan kemudian di tetingkap baru isikan medan Nama kumpulan dengan nama deskriptif, misalnya, AmazonEC2, dan akhirnya, di lapangan Dasar penapis cari dan pilih polisi yang dinamakan AmazonEC2FullAccess yang memberikan kebenaran untuk menukar IP yang ditetapkan antara contoh EC2 antara lain.

Tekan masuk Seterusnya: teg dan Seterusnya: Ulasan. Akhirnya tekan masuk Buat pengguna, tetingkap akhir akan menunjukkan kepada anda ID kunci akses dan juga Kunci akses rahsia untuk pengguna ini, selamatkan mereka untuk penggunaan masa depan.

Sekarang kita sudah bersedia untuk mengkonfigurasi perkhidmatan ZEVENET Cluster, jadi pergi ke panel web di ZLB1-pro melalui IP awam yang ditetapkan https://34.225.30.206:444, bahagian Sistem> Kluster dan isi borang seperti contoh:

Kredensial AWS: Kekunci Akses dan Kekunci rahsia adalah nilai yang telah dihasilkan pada baris sebelumnya. Kawasan, pilih di sini kawasan di mana pengawal Penghantaran Aplikasi ZEVENET anda digunakan.

Konfigurasi kumpulan:

IP tempatan: pilih IP dan NIC eth0.
IP jauh: masukkan di sini IP eth0 di nod ZLB2-pro.
Kata Laluan Node Jauh dan Sahkan Kata Laluan: masukkan di sini kata laluan root untuk ssh di node lain, secara lalai ID instance ZLB2-pro.

Klik pada Menjana butang dan tunggu beberapa saat sementara simpul di mana anda menjalankan konfigurasi akan mengambil AKTIF peranan (ZLB1-pro) dan yang lain (ZLB2-pro) akan mengambil PASIF peranan.

Pada ketika ini, ZEVENET Cluster telah dikonfigurasikan dalam AWS dan ia siap untuk berfungsi, mari kita konfigurasikan perkhidmatan seimbang beban berkelompok pertama kami.

Mengkonfigurasi load balancing L4 yang mudah untuk perkhidmatan web

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

Pertimbangkan bahawa IP Maya yang digunakan 172.31.26.47 adalah IP Maya yang dikonfigurasi sebelumnya dan sumber kluster yang dapat dijangkau selalu dari AKTIF simpul. Tekan Buat dan teruskan.

Sekarang di tetingkap baru konfigurasikan Bahagian global seperti yang ditunjukkan di bawah:

Dan akhirnya, konfigurasikan bahagian tersebut Perkhidmatan Kami seperti yang dijelaskan:

Penggunaan Ketekunan IP dengan masa tamat 60 saat sekiranya anda perlu menjamin bahawa IP klien yang sama akan disambungkan ke backend yang sama sepanjang jangka masa tertentu. Konfigurasikan pemeriksaan kesihatan lanjutan dengan FarmGuardian. Penggunaan check_tcp sebagai pemeriksaan kesihatan yang mudah untuk mengesahkan bahawa port backend TCP 80 dibuka di setiap backend. Kemudian, tambahkan IP dalaman pelayan backend dan port tempat perkhidmatan web sebenar dijalankan.

Sekarang uji sambungan ke IP elastik 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 ada.

Sekarang kekuatan untuk mengubah AKTIF peranan dalam kluster, sebagai contoh, but semula node dengan peranan ini dan setelah beberapa saat, yang lain akan mengambil perkhidmatan maya dan menyambung semula ke IP awam. Sambungan pelanggan semasa dan baru akan dibuat berdasarkan backend yang sama tetapi kali ini melalui yang baru AKTIF simpul tanpa gangguan pelanggan.

Nikmati pengimbangan dan pengumpulan beban yang maju di AWS dengan ZEVENET!

Berkongsi pada:

Dokumentasi di bawah syarat-syarat Lesen Dokumentasi Bebas GNU.

Adakah artikel ini berguna?

Artikel yang berkaitan