VMware NSX untuk si kecil. Bagian 5: Mengonfigurasi Load Balancer

VMware NSX untuk si kecil. Bagian 5: Mengonfigurasi Load Balancer

Bagian satu. pengantar
Bagian kedua. Mengonfigurasi Aturan Firewall dan NAT
Bagian ketiga. Konfigurasi DHCP
Bagian empat. Pengaturan perutean

Terakhir kali kita berbicara tentang kemampuan NSX Edge dalam hal perutean statis dan dinamis, dan hari ini kita akan membahas tentang penyeimbang beban.
Sebelum kita mulai melakukan pengaturan, saya ingin mengingatkan Anda secara singkat tentang jenis-jenis utama penyeimbangan.

Teori

Semua solusi penyeimbangan muatan saat ini paling sering dibagi menjadi dua kategori: penyeimbangan pada tingkat model keempat (transportasi) dan ketujuh (aplikasi). ATAU JIKA. Model OSI bukanlah titik referensi terbaik ketika menjelaskan metode penyeimbangan. Misalnya, jika penyeimbang L4 juga mendukung penghentian TLS, apakah penyeimbang tersebut akan menjadi penyeimbang L7? Tapi memang begitulah adanya.

  • Penyeimbang L4 paling sering ini adalah proxy tengah yang berdiri di antara klien dan sekumpulan backend yang tersedia, yang mengakhiri koneksi TCP (yaitu, merespons SYN secara independen), memilih backend dan memulai sesi TCP baru ke arahnya, mengirimkan SYN secara independen. Tipe ini adalah salah satu tipe dasar, opsi lain juga dimungkinkan.
  • Penyeimbang L7 mendistribusikan lalu lintas ke seluruh backend yang tersedia β€œlebih canggih” daripada penyeimbang L4. Itu dapat memutuskan backend mana yang akan dipilih berdasarkan, misalnya, konten pesan HTTP (URL, cookie, dll.).

Apa pun jenisnya, penyeimbang dapat mendukung fungsi berikut:

  • Penemuan layanan adalah proses menentukan kumpulan backend yang tersedia (Statis, DNS, Konsul, Dll, dll.).
  • Memeriksa fungsionalitas backend yang terdeteksi ("ping" aktif dari backend menggunakan permintaan HTTP, deteksi pasif masalah dalam koneksi TCP, adanya beberapa kode HTTP 503 dalam respons, dll.).
  • Penyeimbangannya sendiri (round robin, pemilihan acak, hash IP sumber, URI).
  • Penghentian TLS dan verifikasi sertifikat.
  • Opsi terkait keamanan (otentikasi, pencegahan serangan DoS, pembatasan kecepatan) dan banyak lagi.

NSX Edge menawarkan dukungan untuk dua mode penerapan penyeimbang beban:

Mode proxy, atau satu tangan. Dalam mode ini, NSX Edge menggunakan alamat IP-nya sebagai alamat sumber saat mengirimkan permintaan ke salah satu backend. Dengan demikian, penyeimbang secara bersamaan menjalankan fungsi NAT Sumber dan Tujuan. Backend melihat semua lalu lintas yang dikirim dari penyeimbang dan langsung meresponsnya. Dalam skema seperti itu, penyeimbang harus berada di segmen jaringan yang sama dengan server internal.

Begini caranya:
1. Pengguna mengirimkan permintaan ke alamat VIP (alamat penyeimbang) yang dikonfigurasi di Edge.
2. Edge memilih salah satu backend dan melakukan NAT tujuan, mengganti alamat VIP dengan alamat backend yang dipilih.
3. Edge melakukan NAT sumber, mengganti alamat pengguna yang mengirim permintaan dengan alamatnya sendiri.
4. Paket dikirim ke backend yang dipilih.
5. Backend tidak merespons langsung ke pengguna, tetapi ke Edge, karena alamat asli pengguna telah diubah menjadi alamat penyeimbang.
6. Edge mengirimkan respon server kepada pengguna.
Diagramnya ada di bawah.
VMware NSX untuk si kecil. Bagian 5: Mengonfigurasi Load Balancer

Mode transparan atau sebaris. Dalam skenario ini, penyeimbang memiliki antarmuka pada jaringan internal dan eksternal. Pada saat yang sama, tidak ada akses langsung ke jaringan internal dari jaringan eksternal. Penyeimbang beban bawaan bertindak sebagai gateway NAT untuk mesin virtual di jaringan internal.

Mekanismenya adalah sebagai berikut:
1. Pengguna mengirimkan permintaan ke alamat VIP (alamat penyeimbang) yang dikonfigurasi di Edge.
2. Edge memilih salah satu backend dan melakukan NAT tujuan, mengganti alamat VIP dengan alamat backend yang dipilih.
3. Paket dikirim ke backend yang dipilih.
4. Backend menerima permintaan dengan alamat asli pengguna (NAT sumber tidak dilakukan) dan meresponsnya secara langsung.
5. Lalu lintas diterima kembali oleh penyeimbang beban, karena dalam skema inline biasanya bertindak sebagai gateway default untuk server farm.
6. Edge melakukan NAT sumber untuk mengirimkan lalu lintas ke pengguna, menggunakan VIP-nya sebagai alamat IP sumber.
Diagramnya ada di bawah.
VMware NSX untuk si kecil. Bagian 5: Mengonfigurasi Load Balancer

Praktek

Bangku pengujian saya memiliki 3 server yang menjalankan Apache, yang dikonfigurasi untuk bekerja melalui HTTPS. Edge akan melakukan penyeimbangan permintaan HTTPS secara round robin, mem-proxy setiap permintaan baru ke server baru.
Mari kita mulai.

Menghasilkan sertifikat SSL yang akan digunakan oleh NSX Edge
Anda dapat mengimpor sertifikat CA yang valid atau menggunakan sertifikat yang ditandatangani sendiri. Untuk tes ini saya akan menggunakan tanda tangan sendiri.

  1. Di antarmuka vCloud Director, buka pengaturan layanan Edge.
    VMware NSX untuk si kecil. Bagian 5: Mengonfigurasi Load Balancer
  2. Buka tab Sertifikat. Dari daftar tindakan, pilih menambahkan CSR baru.
    VMware NSX untuk si kecil. Bagian 5: Mengonfigurasi Load Balancer
  3. Isi bidang yang wajib diisi dan klik Simpan.
    VMware NSX untuk si kecil. Bagian 5: Mengonfigurasi Load Balancer
  4. Pilih CSR yang baru dibuat dan pilih opsi CSR yang ditandatangani sendiri.
    VMware NSX untuk si kecil. Bagian 5: Mengonfigurasi Load Balancer
  5. Pilih masa berlaku sertifikat dan klik Simpan
    VMware NSX untuk si kecil. Bagian 5: Mengonfigurasi Load Balancer
  6. Sertifikat yang ditandatangani sendiri muncul di daftar sertifikat yang tersedia.
    VMware NSX untuk si kecil. Bagian 5: Mengonfigurasi Load Balancer

Menyiapkan Profil Aplikasi
Profil aplikasi memberi Anda kontrol lebih penuh atas lalu lintas jaringan dan menjadikan pengelolaannya sederhana dan efektif. Mereka dapat digunakan untuk menentukan perilaku jenis lalu lintas tertentu.

  1. Buka tab Load Balancer dan aktifkan penyeimbang. Opsi Akselerasi diaktifkan di sini memungkinkan penyeimbang menggunakan penyeimbangan L4 yang lebih cepat daripada L7.
    VMware NSX untuk si kecil. Bagian 5: Mengonfigurasi Load Balancer
  2. Buka tab Profil aplikasi untuk mengatur profil aplikasi. Klik +.
    VMware NSX untuk si kecil. Bagian 5: Mengonfigurasi Load Balancer
  3. Tetapkan nama profil dan pilih jenis lalu lintas yang profilnya akan diterapkan. Izinkan saya menjelaskan beberapa parameter.
    Ketekunan – menyimpan dan melacak data sesi, misalnya: server spesifik mana di kumpulan yang melayani permintaan pengguna. Hal ini memastikan bahwa permintaan pengguna dirutekan ke anggota kumpulan yang sama selama masa sesi atau sesi berikutnya.
    Aktifkan passthrough SSL – Jika opsi ini dipilih, NSX Edge berhenti mengakhiri SSL. Sebaliknya, penghentian terjadi langsung pada server yang sedang diseimbangkan.
    Masukkan header HTTP X-Forwarded-Untuk – memungkinkan Anda menentukan alamat IP sumber klien yang terhubung ke server web melalui penyeimbang beban.
    Aktifkan SSL Sisi Kolam Renang – memungkinkan Anda menentukan bahwa kumpulan yang dipilih terdiri dari server HTTPS.
    VMware NSX untuk si kecil. Bagian 5: Mengonfigurasi Load Balancer
  4. Karena saya akan menyeimbangkan lalu lintas HTTPS, saya perlu mengaktifkan Pool Side SSL dan memilih sertifikat yang dibuat sebelumnya di tab Sertifikat Server Virtual -> Sertifikat Layanan.
    VMware NSX untuk si kecil. Bagian 5: Mengonfigurasi Load Balancer
  5. Demikian pula untuk Sertifikat Kumpulan -> Sertifikat Layanan.
    VMware NSX untuk si kecil. Bagian 5: Mengonfigurasi Load Balancer

Kami membuat kumpulan server, lalu lintasnya akan menjadi Pool yang seimbang

  1. Buka tab Kolam. Klik +.
    VMware NSX untuk si kecil. Bagian 5: Mengonfigurasi Load Balancer
  2. Kami menetapkan nama kumpulan, memilih algoritme (saya akan menggunakan round robin) dan jenis pemantauan untuk backend pemeriksaan kesehatan.Opsi Transparan menunjukkan apakah IP sumber awal klien terlihat oleh server internal.
    • Jika opsi ini dinonaktifkan, lalu lintas untuk server internal berasal dari IP sumber penyeimbang.
    • Jika opsi ini diaktifkan, server internal akan melihat IP sumber klien. Dalam konfigurasi ini, NSX Edge harus bertindak sebagai gateway default untuk memastikan bahwa paket yang dikembalikan melewati NSX Edge.

    NSX mendukung algoritma penyeimbangan berikut:

    • IP_HASH – pemilihan server berdasarkan hasil fungsi hash untuk IP sumber dan tujuan setiap paket.
    • TERAKHIRNYA – penyeimbangan koneksi masuk, tergantung pada nomor yang sudah tersedia di server tertentu. Koneksi baru akan diarahkan ke server dengan koneksi paling sedikit.
    • ROUND_ROBIN – koneksi baru dikirim ke setiap server secara bergantian, sesuai dengan bobot yang diberikan padanya.
    • URI – bagian kiri URI (sebelum tanda tanya) di-hash dan dibagi dengan total bobot server di kumpulan. Hasilnya menunjukkan server mana yang menerima permintaan, memastikan bahwa permintaan selalu diarahkan ke server yang sama, selama semua server tetap tersedia.
    • HTTPHEADER – penyeimbangan berdasarkan header HTTP tertentu, yang dapat ditentukan sebagai parameter. Jika header tidak ada atau tidak memiliki nilai apa pun, algoritma ROUND_ROBIN diterapkan.
    • URL – Setiap permintaan HTTP GET mencari parameter URL yang ditentukan sebagai argumen. Jika parameter diikuti dengan tanda sama dengan dan nilai, maka nilai tersebut di-hash dan dibagi dengan total bobot server yang berjalan. Hasilnya menunjukkan server mana yang menerima permintaan tersebut. Proses ini digunakan untuk melacak ID pengguna dalam permintaan dan memastikan bahwa id pengguna yang sama selalu dikirim ke server yang sama, selama semua server tetap tersedia.

    VMware NSX untuk si kecil. Bagian 5: Mengonfigurasi Load Balancer

  3. Di blok Anggota, klik + untuk menambahkan server ke kumpulan.
    VMware NSX untuk si kecil. Bagian 5: Mengonfigurasi Load Balancer

    Di sini Anda perlu menunjukkan:

    • nama server;
    • Alamat IP server;
    • port tempat server akan menerima lalu lintas;
    • port untuk pemeriksaan kesehatan (Monitor healthcheck);
    • berat – dengan menggunakan parameter ini Anda dapat menyesuaikan jumlah proporsional lalu lintas yang diterima untuk anggota kumpulan tertentu;
    • Koneksi Maks – jumlah maksimum koneksi ke server;
    • Koneksi Min – jumlah minimum koneksi yang harus diproses server sebelum lalu lintas diteruskan ke anggota kumpulan berikutnya.

    VMware NSX untuk si kecil. Bagian 5: Mengonfigurasi Load Balancer

    Seperti inilah kumpulan terakhir dari tiga server.
    VMware NSX untuk si kecil. Bagian 5: Mengonfigurasi Load Balancer

Menambahkan Server Virtual

  1. Buka tab Server Virtual. Klik +.
    VMware NSX untuk si kecil. Bagian 5: Mengonfigurasi Load Balancer
  2. Kami mengaktifkan server virtual menggunakan Aktifkan Server Virtual.
    Kami memberinya nama, pilih Profil Aplikasi yang dibuat sebelumnya, Kumpulan dan tunjukkan alamat IP ke mana Server Virtual akan menerima permintaan dari luar. Kami menentukan protokol HTTPS dan port 443.
    Parameter opsional di sini:
    Batas Koneksi – jumlah maksimum koneksi simultan yang dapat diproses oleh server virtual;
    Batas Kecepatan Koneksi (CPS) – jumlah maksimum permintaan masuk baru per detik.
    VMware NSX untuk si kecil. Bagian 5: Mengonfigurasi Load Balancer

Ini menyelesaikan konfigurasi penyeimbang, Anda dapat memeriksa fungsinya. Server memiliki konfigurasi sederhana yang memungkinkan Anda memahami server mana dari kumpulan yang memproses permintaan. Selama pengaturan, kami memilih algoritma penyeimbangan Round Robin, dan parameter Bobot untuk setiap server sama dengan satu, sehingga setiap permintaan berikutnya akan diproses oleh server berikutnya dari kumpulan.
Kami memasukkan alamat eksternal penyeimbang di browser dan melihat:
VMware NSX untuk si kecil. Bagian 5: Mengonfigurasi Load Balancer

Setelah menyegarkan halaman, permintaan akan diproses oleh server berikut:
VMware NSX untuk si kecil. Bagian 5: Mengonfigurasi Load Balancer

Dan lagi - untuk memeriksa server ketiga dari kumpulan:
VMware NSX untuk si kecil. Bagian 5: Mengonfigurasi Load Balancer

Saat memeriksa, Anda dapat melihat bahwa sertifikat yang dikirimkan Edge kepada kami sama dengan yang kami buat di awal.

Memeriksa status penyeimbang dari konsol Edge gateway. Untuk melakukan ini, masuk tampilkan kumpulan penyeimbang beban layanan.
VMware NSX untuk si kecil. Bagian 5: Mengonfigurasi Load Balancer

Mengonfigurasi Service Monitor untuk memeriksa status server di pool
Menggunakan Service Monitor kita dapat memantau status server di kumpulan backend. Jika respon terhadap permintaan tidak seperti yang diharapkan, server dapat dikeluarkan dari pool sehingga tidak menerima permintaan baru.
Secara default, tiga metode verifikasi dikonfigurasi:

  • monitor TCP,
  • Pemantau HTTP,
  • Monitor HTTPS.

Ayo buat yang baru.

  1. Buka tab Pemantauan Layanan, klik +.
    VMware NSX untuk si kecil. Bagian 5: Mengonfigurasi Load Balancer
  2. Memilih:
    • nama metode baru;
    • interval di mana permintaan akan dikirim,
    • batas waktu menunggu jawaban,
    • jenis pemantauan – Permintaan HTTPS menggunakan metode GET, kode status yang diharapkan – 200(OK) dan URL permintaan.
  3. Ini menyelesaikan pengaturan Service Monitor baru; sekarang kita dapat menggunakannya saat membuat kumpulan.
    VMware NSX untuk si kecil. Bagian 5: Mengonfigurasi Load Balancer

Menyiapkan Aturan Aplikasi

Aturan Aplikasi adalah cara untuk memanipulasi lalu lintas berdasarkan pemicu tertentu. Dengan alat ini kita dapat membuat aturan penyeimbangan beban tingkat lanjut yang mungkin tidak dapat dilakukan melalui profil Aplikasi atau layanan lain yang tersedia di Edge Gateway.

  1. Untuk membuat aturan, buka tab Aturan Aplikasi di penyeimbang.
    VMware NSX untuk si kecil. Bagian 5: Mengonfigurasi Load Balancer
  2. Pilih nama, skrip yang akan menggunakan aturan tersebut, dan klik Simpan.
    VMware NSX untuk si kecil. Bagian 5: Mengonfigurasi Load Balancer
  3. Setelah aturan dibuat, kita perlu mengedit Server Virtual yang sudah dikonfigurasi.
    VMware NSX untuk si kecil. Bagian 5: Mengonfigurasi Load Balancer
  4. Di tab Advanced, tambahkan aturan yang kita buat.
    VMware NSX untuk si kecil. Bagian 5: Mengonfigurasi Load Balancer

Pada contoh di atas kami mengaktifkan dukungan tlsv1.

Beberapa contoh lagi:

Alihkan lalu lintas ke kumpulan lain.
Dengan skrip ini kita dapat mengarahkan lalu lintas ke pool penyeimbang lain jika pool utama sedang down. Agar aturan berfungsi, beberapa kumpulan harus dikonfigurasi pada penyeimbang dan semua anggota kumpulan utama harus dalam keadaan tidak aktif. Anda perlu menentukan nama kumpulan, bukan ID-nya.

acl pool_down nbsrv(PRIMARY_POOL_NAME) eq 0
use_backend SECONDARY_POOL_NAME if PRIMARY_POOL_NAME

Alihkan lalu lintas ke sumber daya eksternal.
Di sini kami mengarahkan lalu lintas ke situs web eksternal jika semua anggota kumpulan utama sedang down.

acl pool_down nbsrv(NAME_OF_POOL) eq 0
redirect location http://www.example.com if pool_down

Bahkan lebih banyak contoh di sini.

Itu saja bagi saya tentang penyeimbang. Jika Anda memiliki pertanyaan, tanyakan, saya siap menjawab.

Sumber: www.habr.com

Tambah komentar