Apakah Elastic Load Balancer AWS merupakan titik kegagalan tunggal?

15

Saya ingin memindahkan aplikasi kami ke Amazon Web Services. Rencananya adalah untuk membuat semua instance EC2 dicerminkan di dua zona ketersediaan. Karena biaya transfer data, kami akan tinggal di satu wilayah AWS (Oregon).

Beberapa AZ menyingkirkan satu titik kegagalan untuk aplikasi dan server database kami, tetapi bagaimana dengan ELB? Jika saya memiliki ELB tunggal yang mendistribusikan lalu lintas lintas dua AZ, apakah ELB juga dihosting di dua AZ tersebut?

Apa yang dilakukan Amazon untuk mencegah ELB menjadi SPoF?

Chris.B
sumber

Jawaban:

13

Pada intinya, ELB hanyalah kumpulan instance EC2. Saat Anda membuat ELB , Anda menentukan zona ketersediaan yang Anda inginkan agar penyeimbang beban dimasukkan. Contoh untuk membuat penyeimbang beban akan dibuat di zona tersebut. Cara mereka menghindari satu titik kegagalan di sini adalah dengan mengembalikan beberapa alamat IP ketika Anda melakukan pencarian DNS. Sebagai contoh:

  • Pencarian DNS untuk situs web.example.com mengembalikan situs web CNAME-elb-12345.eu-west-1.elb.amazonaws.com
  • Pencarian juga mengembalikan informasi untuk situs web-elb-12345.eu-west-1.elb.amazonaws.com. Ini menyatakan bahwa situs tersebut memiliki alamat IP 1.2.3.4 dan alamat IP 2.3.4.5

Terserah klien untuk memilih alamat IP mana yang akan digunakan untuk membuat koneksi. Alamat IP tidak akan selalu dikembalikan dalam urutan yang sama dari pencarian DNS. Klien dapat mencoba kembali pada alamat IP alternatif jika mereka tidak dapat terhubung pada upaya pertama.

TTL pada catatan DNS untuk ELB hanya 60 detik yang berarti bahwa jika instance ELB mati dan diganti, DNS akan diperbarui di mana-mana dengan cukup cepat.

Richard
sumber
Jadi, karena saya akan menggunakan instance EC2 aplikasi saya di beberapa zona, ketika saya membuat ELB untuk wilayah itu, apakah ini akan di-host secara otomatis pada instance EC2 yang tersebar di dua zona yang sama?
Chris.B
Saat Anda membuat ELB, baik melalui API atau konsol, Anda akan diminta untuk memilih zona ketersediaan tempat Anda ingin ELB beroperasi. Anda hanya perlu memilih zona ketersediaan yang sama dengan lokasi instance Anda.
Richard
3

Ini sebenarnya bisa menjadi SPoF tapi saya percaya itu hanya SPoF di wilayah yang sama.

Itu sebabnya AWS menyarankan untuk menggunakan pemeriksaan kesehatan Route 53 untuk mendeteksi dan merutekan ulang lalu lintas yang akan berakhir pada ELB yang tidak sehat.

Anda dapat menggunakan fitur pengecekan kesehatan Amazon Route 53 dan fitur DNS failover untuk meningkatkan ketersediaan aplikasi yang berjalan di belakang Elastic Load Balancers. Rute 53 akan gagal menjauh dari penyeimbang beban jika tidak ada contoh EC2 sehat terdaftar dengan penyeimbang beban atau jika penyeimbang beban itu sendiri tidak sehat .

Sumber: http://aws.amazon.com/elasticloadbalancing/

Alex
sumber
Jadi apakah ada cara untuk mengatur lebih dari satu ELB di satu wilayah. Memiliki satu sebagai utama dan satu sebagai siaga? Atau apakah Route 53 mampu menjalankan instance ELB baru?
Chris.B
Saya tidak berpikir Route 53 dapat secara otomatis mengatur ELB, Anda harus melihat pada panduan pengembang.
Alex
1

Anda dapat menyiasati AZ SPoF tunggal Anda dengan membuat grup autoscaling di mana jika ELB tunggal Anda tidak memenuhi faktor X, apakah itu dengan memuat, waktu respons, dll., ELB baru dibuat. ELB pada dasarnya adalah instance EC2 yang menjalankan kode AWS eksklusif.

jon deane
sumber
Saya berpikir bahwa ELB diskalakan secara otomatis untuk menangani peningkatan beban, dll.
Chris.B