Load Balancing sebuah Layer - AWS OpsWorks

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Load Balancing sebuah Layer

penting

Bagian AWS OpsWorks Stacks layanan mencapai akhir masa pakai pada 26 Mei 2024 dan telah dinonaktifkan untuk pelanggan baru dan yang sudah ada. Kami sangat menyarankan pelanggan untuk memindahkan beban kerja mereka ke solusi lain sesegera mungkin. Jika Anda memiliki pertanyaan tentang migrasi, hubungi AWS Support Tim di AWS Re: posting atau melalui AWS Dukungan Premium.

AWS OpsWorks Stacks menyediakan dua opsi load balancing, Elastic Load Balancing HAProxydan, yang biasanya digunakan untuk menyeimbangkan beban di seluruh instance lapisan server aplikasi. Topik ini menjelaskan manfaat dan batasan masing-masing untuk membantu Anda memutuskan opsi mana yang akan dipilih saat menambahkan load balancing ke lapisan. Dalam beberapa kasus, pendekatan terbaik adalah menggunakan keduanya.

SSLPengakhiran

HAProxyLapisan bawaan tidak menangani SSL terminasi; Anda harus mengakhiri SSL di server. Keuntungan dari pendekatan ini adalah lalu lintas dienkripsi hingga mencapai server. Namun, server harus menangani dekripsi, yang meningkatkan beban server. Selain itu, Anda harus meletakkan SSL sertifikat Anda di server aplikasi, yang lebih mudah diakses oleh pengguna.

Dengan Elastic Load Balancing, Anda dapat mengakhiri SSL di load balancer. Ini mengurangi beban pada server aplikasi Anda, tetapi lalu lintas antara penyeimbang beban dan server tidak dienkripsi. Elastic Load Balancing juga memungkinkan Anda untuk mengakhiri SSL di server, tetapi agak rumit untuk diatur.

Penskalaan

Jika lalu lintas masuk melebihi kapasitas penyeimbang HAProxy beban, Anda harus meningkatkan kapasitasnya secara manual.

Elastic Load Balancing secara otomatis menskalakan untuk menangani lalu lintas yang masuk. Untuk memastikan bahwa penyeimbang beban Elastic Load Balancing memiliki kapasitas yang cukup untuk menangani beban yang diharapkan saat pertama kali online, Anda dapat menghangatkannya terlebih dahulu.

Kegagalan Load Balancer

Jika instance hosting HAProxy server Anda gagal, itu bisa membuat seluruh situs Anda offline sampai Anda dapat memulai ulang instance.

Elastic Load Balancing lebih tahan kegagalan daripada. HAProxy Misalnya, ia menyediakan node load balancing di setiap Availability Zone yang memiliki EC2 instance terdaftar. Jika layanan di satu zona terganggu, node lain terus menangani lalu lintas masuk. Untuk informasi selengkapnya, lihat Konsep Elastic Load Balancing.

Batas Waktu Idle

Kedua penyeimbang beban menghentikan koneksi jika server menganggur selama lebih dari nilai batas waktu idle yang ditentukan.

  • HAProxy— Nilai batas waktu idle tidak memiliki batas atas.

  • Elastic Load Balancing — Nilai batas waktu idle default adalah 60 detik, dengan maksimum 3600 detik (60 menit).

Batas waktu idle Elastic Load Balancing cukup untuk sebagian besar tujuan. Sebaiknya gunakan HAProxy jika Anda memerlukan batas waktu idle yang lebih lama. Sebagai contoh:

  • HTTPKoneksi berjalan lama yang digunakan untuk pemberitahuan push.

  • Antarmuka administratif yang Anda gunakan untuk melakukan tugas yang bisa memakan waktu lebih dari 60 menit.

URLPemetaan berbasis

Anda mungkin ingin memiliki penyeimbang beban meneruskan permintaan masuk ke server tertentu berdasarkan permintaan. URL Misalnya, Anda memiliki sekelompok sepuluh server aplikasi yang mendukung aplikasi perdagangan online. Delapan server menangani katalog dan dua menangani pembayaran. Anda ingin mengarahkan semua HTTP permintaan terkait pembayaran ke server pembayaran, berdasarkan permintaan. URL Dalam hal ini, Anda akan mengarahkan semua URLs yang termasuk “pembayaran” atau “checkout” ke salah satu server pembayaran.

DenganHAProxy, Anda dapat menggunakan pemetaan URL berbasis untuk mengarahkan URLs berisi string tertentu ke server tertentu. Untuk menggunakan pemetaan URL berbasis dengan AWS OpsWorks Tumpukan, Anda harus membuat file HAProxy konfigurasi khusus dengan mengganti haproxy-default.erb template di buku masak haproxy bawaan. Untuk informasi selengkapnya, lihat Manual HAProxy Konfigurasi danMenggunakan Template Kustom. Anda tidak dapat menggunakan pemetaan URL berbasis untuk HTTPS permintaan. HTTPSPermintaan dienkripsi, sehingga tidak HAProxy memiliki cara untuk memeriksa permintaan. URL

Elastic Load Balancing memiliki dukungan terbatas untuk URL pemetaan. Untuk informasi selengkapnya, lihat Konfigurasi Pendengar untuk Elastic Load Balancing.

Rekomendasi: Sebaiknya gunakan Elastic Load Balancing untuk load balancing kecuali Anda memiliki persyaratan yang hanya dapat ditangani oleh. HAProxy Dalam hal ini, pendekatan terbaik mungkin menggabungkan keduanya dengan menggunakan Elastic Load Balancing sebagai penyeimbang beban front-end yang mendistribusikan lalu lintas masuk ke satu set server. HAProxy Untuk melakukannya:

  • Siapkan HAProxy instance di setiap Availability Zone stack Anda untuk mendistribusikan permintaan ke server aplikasi zona tersebut.

  • Tetapkan HAProxy instans ke penyeimbang beban Elastic Load Balancing, yang kemudian mendistribusikan permintaan masuk ke penyeimbang beban. HAProxy

Pendekatan ini memungkinkan Anda menggunakan HAProxy pemetaan URL berbasis untuk mendistribusikan berbagai jenis permintaan ke server aplikasi yang sesuai. Namun, jika salah satu HAProxy server offline, situs akan terus berfungsi karena load balancer Elastic Load Balancing secara otomatis mendistribusikan lalu lintas masuk ke server yang sehat. HAProxy Perhatikan bahwa Anda harus menggunakan Elastic Load Balancing sebagai penyeimbang beban front-end; HAProxy server tidak dapat mendistribusikan permintaan ke server lain. HAProxy