Jenis penyeimbang beban - Amazon Elastic Container Service

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

Jenis penyeimbang beban

Elastic Load Balancing mendukung jenis load balancer berikut: Application Load Balancers, dan Network Load Balancers. Layanan Amazon ECS dapat menggunakan jenis penyeimbang beban ini. Application Load Balancers digunakan untuk merutekan lalu lintas HTTP/HTTPS (atau Layer 7). Network Load Balancers dan Classic Load Balancers digunakan untuk merutekan lalu lintas TCP (atau Layer 4).

Penyeimbang Beban Aplikasi

Application Load Balancer membuat keputusan routing di layer aplikasi (HTTP/HTTPS), mendukung routing berbasis jalur, dan dapat merutekan permintaan ke satu atau beberapa port pada setiap instance container di cluster Anda. Aplikasi Load Balancer mendukung pemetaan port host dinamis. Misalnya, jika definisi kontainer tugas Anda menentukan port 80 untuk port kontainer NGINX, dan port 0 untuk port host, maka port host dipilih secara dinamis dari rentang port sementara instance kontainer (seperti 32768 hingga 61000 pada AMI Amazon ECS terbaru yang dioptimalkan). Ketika tugas diluncurkan, kontainer NGINX terdaftar dengan Application Load Balancer sebagai ID instance dan kombinasi port, dan lalu lintas didistribusikan ke ID instance dan port yang sesuai dengan container tersebut. Pemetaan dinamis ini mengizinkan Anda memiliki banyak tugas dari satu layanan pada instans kontainer yang sama. Untuk informasi selengkapnya, lihat Panduan Pengguna untuk Penyeimbang Beban Aplikasi.


                        Penyeimbang Beban Aplikasi

Network Load Balancer

Network Load Balancer membuat keputusan routing pada layer transport (TCP/SSL). Hal itu dapat menangani jutaan permintaan per detik. Setelah penyeimbang beban menerima koneksi, penyeimbang akan memilih target dari grup target untuk aturan default menggunakan algoritme perutean hash alur. Penyeimbang mencoba untuk membuka koneksi TCP ke target yang dipilih pada port yang ditentukan dalam konfigurasi listener. Ini meneruskan permintaan tanpa memodifikasi header. Network Load Balancers mendukung pemetaan port host dinamis. Misalnya, jika definisi kontainer tugas Anda menentukan port 80 untuk port kontainer NGINX, dan port 0 untuk port host, maka port host dipilih secara dinamis dari rentang port sementara instance kontainer (seperti 32768 hingga 61000 pada AMI Amazon ECS terbaru yang dioptimalkan). Ketika tugas diluncurkan, kontainer NGINX terdaftar dengan Network Load Balancer sebagai ID instance dan kombinasi port, dan lalu lintas didistribusikan ke ID instance dan port yang sesuai dengan container tersebut. Pemetaan dinamis ini mengizinkan Anda memiliki banyak tugas dari satu layanan pada instans kontainer yang sama. Untuk informasi selengkapnya, lihat Panduan Pengguna untuk Network Load Balancer.


                        Network Load Balancer

Pertimbangan Application Load Balancer dan Network Load Balancer

Pertimbangan berikut khusus untuk layanan Amazon ECS yang menggunakan Application Load Balancers atau Network Load Balancer:

  • Amazon ECS memerlukan peran IAM terkait layanan yang menyediakan izin yang diperlukan untuk mendaftarkan dan membatalkan pendaftaran target dengan penyeimbang beban Anda saat tugas dibuat dan dihentikan. Untuk informasi selengkapnya, lihat Menggunakan peran terkait layanan untuk Amazon ECS.

  • Untuk layanan yang menggunakan Application Load Balancer atau Penyeimbang Beban Jaringan, Anda tidak dapat melampirkan lebih dari lima grup target ke layanan.

  • Untuk layanan dengan tugas menggunakan mode awsvpc jaringan, saat Anda membuat grup target untuk layanan Anda, Anda harus memilih ip sebagai jenis target, bukaninstance. Ini karena tugas yang menggunakan mode awsvpc jaringan dikaitkan dengan elastic network interface, bukan instans Amazon EC2.

  • Jika layanan Anda menggunakan Application Load Balancer dan memerlukan akses ke beberapa port load balanced, seperti port 80 dan port 443 untuk layanan HTTP/HTTPS, Anda dapat mengonfigurasi dua listener. Satu listener bertanggung jawab untuk HTTPS yang meneruskan permintaan ke layanan, dan listener lainnya bertanggung jawab untuk mengarahkan permintaan HTTP ke port HTTPS yang sesuai. Untuk informasi selengkapnya, lihat Membuat pendengar ke Application Load Balancer Anda di Panduan Pengguna untuk Penyeimbang Beban Aplikasi.

  • Konfigurasi subnet penyeimbang beban Anda harus menyertakan semua Availability Zone tempat instans kontainer Anda berada.

  • Setelah Anda membuat layanan, konfigurasi penyeimbang beban tidak dapat diubah dari. AWS Management Console Anda dapat menggunakan AWS Copilot, AWS CloudFormation, AWS CLI atau SDK untuk memodifikasi konfigurasi penyeimbang beban hanya untuk pengontrol penerapan ECS bergulir, bukan biru/hijau atau eksternal. AWS CodeDeploy Saat Anda menambahkan, memperbarui, atau menghapus konfigurasi penyeimbang beban, Amazon ECS memulai penerapan baru dengan konfigurasi Elastic Load Balancing yang diperbarui. Hal ini menyebabkan tugas mendaftar dan membatalkan pendaftaran dari penyeimbang beban. Kami menyarankan Anda memverifikasi ini di lingkungan pengujian sebelum memperbarui konfigurasi Elastic Load Balancing. Untuk informasi tentang cara mengubah konfigurasi, lihat UpdateServicedi Referensi API Amazon Elastic Container Service.

  • Jika tugas layanan gagal memenuhi kriteria pemeriksaan kondisi penyeimbang beban, maka tugas dihentikan dan dimulai ulang. Proses ini berlanjut hingga layanan Anda mencapai jumlah tugas berjalan yang diinginkan.

  • Saat Anda menggunakan Network Load Balancer yang dikonfigurasi dengan alamat IP sebagai target dan Pelestarian IP Klien dinonaktifkan, permintaan akan terlihat berasal dari alamat IP pribadi Network Load Balancers. Ini berarti bahwa layanan di balik Network Load Balancer secara efektif terbuka untuk dunia segera setelah Anda mengizinkan permintaan masuk dan pemeriksaan kesehatan di grup keamanan target.

  • Menggunakan Network Load Balancer untuk merutekan lalu lintas UDP ke tugas Amazon ECS Anda di Fargate memerlukan tugas untuk menggunakan versi platform 1.4.0 (Linux) atau (Windows). 1.0.0

  • Minimalkan kesalahan dalam aplikasi klien Anda dengan menyetel definisi tugas lebih lama dari penundaan deregistrasi grup target, yang seharusnya lebih lama dari batas waktu koneksi klien Anda. StopTimeout Lihat Builders Library untuk informasi selengkapnya tentang konfigurasi klien yang direkomendasikan di sini.

    Selain itu, atribut grup target Network Load Balancer untuk penghentian koneksi menutup semua koneksi yang tersisa setelah waktu deregistrasi. Ini dapat menyebabkan klien menampilkan pesan kesalahan yang tidak diinginkan, jika klien tidak menanganinya.

  • Jika Anda mengalami masalah dengan layanan yang diaktifkan penyeimbang beban, lihat Pemecahan permasalahan terhadap layanan penyeimbang beban.

  • Tugas dan penyeimbang beban Anda (Application Load Balancer atau Network Load Balancer) harus dalam VPC yang sama.

  • Pelestarian alamat IP klien Network Load Balancer juga kompatibel dengan target Fargate.

  • Gunakan grup target unik untuk setiap layanan.

    Menggunakan grup target yang sama untuk beberapa layanan dapat menyebabkan masalah selama penerapan layanan.