GNU/Linux >> Belajar Linux >  >> Linux

Cara mengonfigurasi perutean Berbasis Host pada penyeimbang beban aplikasi AWS

Di AWS, ELB atau Elastic Load Balancing adalah konsep di mana server dapat ditambahkan atau dirilis sesuai permintaan aplikasi kita. Lalu lintas masuk dari aplikasi didistribusikan di antara beberapa target. Target ini dapat berupa instans EC2, container, dan alamat IP dalam satu atau beberapa Availability Zone. Jenis AWS Elastic Load Balancer yang didukung adalah Application Load Balancer (ALB), Network Load Balancer (NLB), Gateway Load Balancer (baru diluncurkan), dan Classic Load Balancer. Penyeimbang beban ini memiliki konfigurasi yang berbeda, misalnya, 

  1. Application Load Balancer:Ia bekerja dengan mendistribusikan lalu lintas aplikasi yang masuk secara otomatis antara dua atau lebih instans EC2. Kami dapat menentukan aturan perutean sesuai dengan konten permintaan (perutean berbasis konten). Ini adalah penyeimbang beban lapisan 7.
  2. Network Load Balancer:NLB menggunakan data protokol IP (TCP dan UDP) untuk merutekan koneksi ke sumber daya AWS seperti EC2, layanan mikro, dan kontainer. Ini adalah penyeimbang beban lapisan 4.
  3. Gateway Load Balancer:Ini digunakan dengan peralatan virtual pihak ketiga seperti firewall NextGen(NGFW), IPS, IDS, dll. yang berjalan pada instans EC2. Ia bekerja dengan menempatkan satu gateway untuk lalu lintas dari beberapa peralatan virtual dan beberapa peralatan virtual ini dapat ditingkatkan atau diturunkan sesuai permintaan. Ini bagus untuk stabilitas jaringan. Ini adalah penyeimbang beban lapisan 3 (Gateway) plus lapisan 4 (Penyeimbang Beban).
  4. Penyeimbang Beban Klasik:CLB adalah penyeimbang beban lama dari AWS yang digunakan untuk penyeimbangan beban di beberapa instans EC2. Direkomendasikan untuk aplikasi yang dirancang dalam jaringan EC2-Classic. Ini adalah penyeimbang beban lapisan 4/7. Direkomendasikan oleh AWS untuk menghindari penyeimbang beban ini.

Ikhtisar Panduan ini


Dalam tutorial ini, kita akan mengonfigurasi perutean berbasis jalur untuk Application Load Balancer di AWS. Kami akan menggunakan akun pengguna IAM dengan hak istimewa terbatas yang diperlukan untuk tugas ini. Kami memiliki sumber daya berikut untuk eksperimen ini:

  1. Dua Availability Zone dengan masing-masing berisi setidaknya satu instans EC2.
  2. VPC memiliki minimal satu subnet publik di masing-masing dari dua Availability Zone di atas. Subnet publik ini akan digunakan untuk mengonfigurasi penyeimbang beban.
  3. Instal server web pada setiap instans dan izinkan akses port 80 pada instans ini menggunakan grup keamanan.

Konfigurasi instans EC2

Untuk panduan ini, kami telah mengonfigurasi dua instans Amazon Linux EC2 dengan Apache Httpd terinstal di keduanya. Di satu server kita memiliki direktori 'signin' dan file index.html di dalamnya dengan isi:“Welcome User? Masuk untuk melanjutkan...”

Di server lain kami memiliki direktori 'signup' dan file index.html di dalamnya dengan konten:“Pengguna Baru? Daftar Dulu...”

Direktori 'signin' dan 'signup' keduanya berada di dalam direktori root(/var/www/html).

Mengonfigurasi grup Target

Langkah 1. Untuk merutekan permintaan, pertama-tama kita akan membuat dua grup target, satu untuk setiap server. Buka konsol EC2 dan di panel sisi kiri, temukan dan pilih 'Grup Target' (Ada di bawah Penyeimbangan beban):

Langkah 2. Pada halaman baru, klik tombol 'Buat grup target':


Langkah 3. Sekarang kita berada di halaman ‘Tentukan detail grup’. Di bawah konfigurasi dasar, lakukan hal berikut:

  1. Pilih jenis target:Pilih 'Instances' di sini.
  2. Nama grup target:Berikan nama yang sesuai untuk grup target(‘Masuk’ dalam kasus kami.)
  3. Protokol:HTTP
  4. Pelabuhan:80
  5. VPC:Pilih Nama VPC Anda di sini.
  6. Versi protokol:Tetap pilih yang default.(HTTP1)

Di bawah setelan 'Pemeriksaan kesehatan':

Protokol pemeriksaan kesehatan:HTTP

Jalur pemeriksaan kesehatan:'Jalur yang ingin Anda gunakan'('/masuk' dalam kasus kami)

Tetap 'Setelan pemeriksaan kesehatan lanjutan' ke default. Tambahkan tag jika Anda membutuhkannya (Opsional). Klik 'Berikutnya' untuk melanjutkan.

Mendaftarkan Instans EC2 ke Grup Target

Langkah 3. Sekarang tambahkan salah satu instans EC2 ke grup target di atas. Pilih sebuah instance dan kemudian klik tombol 'Sertakan sebagai tertunda di bawah'


Contoh yang dipilih di atas akan muncul di bawah 'Tinjau target'. Sekarang klik 'Buat grup target'.


Pada jendela berikutnya lagi klik 'lanjutkan'. Sekarang ulangi prosedur yang sama untuk grup Target lain dan beri nama sebagai 'Daftar'. Gunakan contoh lain ( di zona Ketersediaan lain) dengan grup Target ini dan gunakan jalur Pemeriksaan kesehatan yang berbeda ('/ daftar' dalam kasus kami):



Membuat Penyeimbang Beban Aplikasi

Langkah 1. Dari konsol EC2, buka Load Balancers dan klik tombol Create Load Balancer lalu pilih 'Application Load Balancer' yang ditampilkan di halaman baru:


Langkah 2. Beri nama yang sesuai (di sini 'My-Path-ALB') untuk penyeimbang beban. Pertahankan Skema ke default ('Internet-facing'), Pilih jenis alamat IP sebagai IPv4



Langkah 3. Di bawah bagian Pemetaan jaringan, pilih VPC target dan di Di bagian Pemetaan, pilih dua Availability zone yang berisi target Anda ke mana  penyeimbang beban akan mengarahkan lalu lintas.


Langkah 4. Konfigurasi Grup Keamanan untuk penyeimbang beban dan izinkan port target Anda (port 80 di kasus kami) untuk didengarkan di:


Langkah 5.  Pilih pendengar (HTTP dalam kasus kami) dan masukkan port untuk mendengarkan atau pilih untuk tetap menggunakan port default 80 untuk permintaan HTTP. Di bawah Tindakan default, pilih target 'Masuk' untuk kolom 'teruskan ke':



Langkah 6. Langkah opsional dapat dilewati. Sekarang tinjau ringkasannya dan tekan tombol 'Buat penyeimbang beban':

Menambahkan Aturan Penerusan Berbasis Host

Langkah 1. Sekarang kembali ke halaman 'Load Balancers' dan temukan target load balancer Anda di sini:


Langkah 2. Setelah status ALB berubah menjadi Aktif, kami akan melanjutkan dengan Aturan Penerusan. Klik nama Load Balancer lalu buka tab Listeners

Langkah 3. Klik 'Lihat/Edit aturan' di bawah kolom 'Aturan' lalu klik simbol '+' diikuti dengan 'Sisipkan Aturan':




Langkah 4. Di bawah kolom 'JIKA(semua cocok), klik panah tarik-turun '+ Tambahkan kondisi' dan pilih 'Host' sebagai jenis Aturan dan masukkan nama host atau nama domain ('www.signin.tecofers.com' dalam kasus kami) di bidang teks yang sesuai dengan label 'adalah'.

Langkah 5. Dari kolom 'Kemudian', klik panah tarik-turun '+Tambahkan tindakan' dan pilih 'Teruskan ke' sebagai tindakan. Di sini pilih grup target 'Sign-In'.
Ulangi langkah 2 dan 3 di atas untuk grup target 'SignUp' dengan nama host atau nama domain ('www.signup.tecofers.com' dalam kasus kami). Setelah menyimpan aturan, kita akan memiliki dua aturan:

Aturan terakhir adalah untuk tindakan default jika dua kondisi di atas tidak terpenuhi.

Mendaftarkan domain di Rute 53

Untuk mendaftarkan host/domain untuk perutean berbasis host melalui internet, kita perlu menambahkan nama DNS dari instance EC2 yang sesuai dengan nama host/nama domainnya di dalam Route 53 .

Langkah 1. Buka dasbor Route 53 dari konsol manajemen dan klik 'Buat zona yang dihosting':


Langkah 2. Pada halaman Konfigurasi zona yang dihosting, masukkan nama domain dan pilih ketik sebagai ' Zona yang dihosting publik' dan pilih 'Buat zona yang dihosting':


Langkah 3. Pada halaman baru klik ‘Buat Rekaman’:


Langkah 4. Pada halaman baru, klik label 'Beralih ke wizard' dan pilih Opsi 'Perutean Sederhana'


Langkah 5. Di sini klik 'Define simple record'


Langkah 6. Masukkan berbagai detail untuk catatan ini:

Domain:subdomain yang sesuai dengan zona host Anda.

Jenis rekaman:Pilih Jenis A di sini.

Nilai/Rute lalu lintas ke:

  1. Pilih 'Alias ​​untuk Aplikasi dan Penyeimbang Beban Klasik'
  2. Pilih wilayah tempat penyeimbang beban berada
  3. Pilih penyeimbang beban target.




Akhirnya tekan 'Define simple record'.

Data di atas sekarang akan muncul seperti yang ditunjukkan di sini:


Ulangi langkah di atas untuk host lain.

Memverifikasi penyiapan…

Untuk memeriksa apakah semuanya berfungsi seperti yang diharapkan, buka browser web dan tempel DNS penyeimbang beban dan tambahkan dengan:

1) Nama host untuk target 'Daftar'



2) Nama host untuk target 'Masuk'





Kesimpulan

Selamat, kami akhirnya mengonfigurasi skenario yang berfungsi untuk perutean berbasis host pada penyeimbang beban aplikasi AWS.


Linux
  1. Cara mengonfigurasi penyeimbang beban HAProxy

  2. Cara menginstal dan Mengonfigurasi penyeimbang beban HAProxy di Debian 11

  3. Cara Install dan Konfigurasi HAProxy load balancer di Rocky Linux/Alma Linux 8

  1. Cara Mengonfigurasi NGINX sebagai Penyeimbang Beban TCP/UDP di Linux

  2. Cara Meluncurkan Instans AWS EC2 Menggunakan Terraform

  3. Cara menginstal dan Mengonfigurasi penyeimbang beban HAProxy di Ubuntu 20.04

  1. Cara menyiapkan Aplikasi Pohon Kacang Elastis di AWS

  2. Cara mengirim log aplikasi Linux ke AWS CloudWatch

  3. Cara mengelola instans AWS EC2 menggunakan aws-cli