Saya punya N
webapps. Setiap webapp dilayani oleh nama host yang berbeda di domain saya dan digunakan untuk 2 instance yang berjalan di AWS. Dengan kata lain, saya punya 2N
contoh, dibagi menjadi pasangan yang menjalankan N
aplikasi web yang berbeda.
Saya ingin menyiapkan AWS Elastic Load Balancer tunggal yang akan mem-proxy permintaan ke salah satu dari dua contoh yang melayani berdasarkan Host
header. Apakah itu mungkin menggunakan ELB tunggal atau saya perlu menggunakan N
ELB, satu untuk setiap pasangan instance?
amazon-web-services
amazon-elb
thesamet
sumber
sumber
Jawaban:
ELB tunggal merutekan lalu lintas ke satu set instance, dan mendistribusikan lalu lintas masuk ke semua instance "di belakang" itu. Itu tidak selektif merutekan lalu lintas berdasarkan pada lapisan 7 analisis lalu lintas, seperti
Host:
header.Anda memerlukan satu ELB untuk setiap set instance. Saat Anda menggambarkannya, itu adalah satu ELB untuk setiap aplikasi web.
Jika tujuan utama Anda untuk menjalankan ELB adalah membongkar SSL menggunakan sertifikat wildcard (Saya punya satu sistem yang dirancang seperti ini, dengan puluhan aplikasi yang hidup di banyak-domain yang berbeda. My-wildcard-cert-domain.com), lalu instans "di belakang" ELB bisa menjalankan proxy terbalik seperti HAProxy (atau beberapa alternatif lain, seperti Varnish) yang dapat membuat keputusan routing layer-7 dan kemudian meneruskan lalu lintas ke subset yang sesuai dari mesin di belakang mereka, yang juga memungkinkan lebih canggih memuat penyeimbangan dan memiliki keuntungan menyediakan statistik dan penghitung lalu lintas, agregat dan terpisah.
Contoh perantara ^^^^ dapat mengevaluasi
Host:
header (antara lain) dan bahkan menangkap nilai cookie sesi dalam log mereka untuk dianalisis.Pengaturan ini juga memungkinkan saya untuk menjalankan beberapa aplikasi pada subset instance yang tumpang tindih, jika perlu, dan melakukan banyak hal lain yang ELB sendiri tidak secara langsung dukung. Itu juga mengembalikan halaman "503" khusus dalam kasus di mana aplikasi kelebihan beban atau menjadi tidak tersedia, yang ELB tidak lakukan sendiri. Saya telah menggambarkan 2 server proksi di sini, tanpa alasan tertentu selain Anda menyebutkan nomor 2 dalam pertanyaan. Setup saya sebenarnya memiliki 3, satu untuk setiap zona ketersediaan di wilayah tempat ini digunakan.
sumber
Host:
header. Jawaban ini benar ketika saya menulisnya pada tahun 2014, tetapi sepertinya sudah waktunya untuk pembaruan. Terima kasih telah membawanya kembali ke perhatian saya.Per Agustus 2016, Amazon ELB menawarkan dua jenis penyeimbang beban:
Untuk kasus penggunaan Anda, Application Load Balancer tampaknya ideal. Namun terbatas pada 10 aturan, jadi itu hanya akan bekerja dengan mudah jika Anda
N
tidak lebih dari 10.sumber
Pada daftar instance EC2, Anda melihat dua instance, kan? Tetapi pada setiap contoh apakah Anda memiliki banyak webapp? Anda menggunakan host virtual untuk menyebarkan masing-masing?
Anda hanya perlu satu ELB untuk membagi biaya pada host Anda. Contoh:
Saya pikir itu lebih baik Anda memberi saya lebih banyak skenario Anda dan mungkin saya dapat membantu Anda.
Salam.
MEMPERBARUI
Jika Anda memiliki webapp yang berbeda pada instance EC2, Anda harus memiliki dua Elastic Load Balancers (ELB). Masing-masing untuk sepasang instance. Benar-benar, empat contoh
sumber
2N
aplikasi. Ada N webapps, dua contoh untuk masing-masing. Saya akan mengedit pertanyaan untuk memperjelas ini.