Jenis penyeimbang beban - Amazon ECS

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 penyeimbang beban berikut: Application Load Balancer, dan Penyeimbang Beban Jaringan. Layanan Amazon ECS dapat menggunakan jenis load balancer 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).

Application Load Balancer

Application Load Balancer membuat keputusan perutean di lapisan aplikasi (HTTP/HTTPS), mendukung perutean berbasis jalur, dan dapat merutekan permintaan ke satu atau beberapa port pada setiap instans kontainer di klaster Anda. Application Load Balancers mendukung pemetaan port dinamis. Misalnya, jika ketentuan 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 dari instans kontainer (seperti 32768 hingga 61000 pada AMI yang dioptimalkan Amazon ECS terbaru). Saat tugas diluncurkan, kontainer NGINX didaftarkan dengan Application Load Balancer sebagai kombinasi ID instans dan port, dan lalu lintas didistribusikan ke ID instans dan port yang sesuai dengan kontainer tersebut. Pemetaan dinamis ini mengizinkan Anda memiliki banyak tugas dari satu layanan pada instans kontainer yang sama. Untuk informasi selengkapnya, lihat Panduan Pengguna untuk Application Load Balancers.


                        Application Load Balancer

Network Load Balancer

Network Load Balancer membuat keputusan perutean pada lapisan 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. Penyeimbang meneruskan permintaan tanpa mengubah header. Network Load Balancer mendukung pemetaan port host dinamis. Misalnya, jika ketentuan 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 dari instans kontainer (seperti 32768 hingga 61000 pada AMI yang dioptimalkan Amazon ECS terbaru). Saat tugas diluncurkan, kontainer NGINX didaftarkan dengan Network Load Balancer sebagai kombinasi ID instans dan port, dan lalu lintas didistribusikan ke ID instans dan port yang sesuai dengan kontainer 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 Jaringan.


                        Network Load Balancer

Pertimbangan Application Load Balancer dan Network Load Balancer

Pertimbangan berikut khusus untuk layanan Amazon ECS menggunakan Application Load Balancer maupun Penyeimbang Beban Jaringan:

  • Amazon ECS memerlukan peran IAM tertaut 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 tertaut 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 modeawsvpc jaringan, saat Anda membuat grup target untuk layanan Anda, Anda harus memilihip sebagai tipe target, bukaninstance.

  • Jika layanan Anda menggunakan Application Load Balancer dan memerlukan akses ke beberapa port yang diseimbangkan beban, seperti port 80 dan port 443 untuk layanan HTTP/HTTPS, maka 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 Application Load Balancers.

  • Setelah Anda membuat layanan, konfigurasi load balancer tidak dapat diubah dariAWS Management Console. Anda dapat menggunakanAWS Copilot,AWS CloudFormation,AWS CLI atau SDK untuk memodifikasi konfigurasi load balancer untuk pengontrol penyebaranECS bergulir saja, bukanAWS CodeDeploy biru/hijau atau eksternal. Saat Anda menambahkan, memperbarui, atau menghapus konfigurasi penyeimbang muatan, Amazon ECS memulai penerapan baru dengan konfigurasi Elastic Load Balancing yang diperbarui. Hal ini menyebabkan tugas untuk mendaftar dan membatalkan pendaftaran dari load balancers. Sebaiknya verifikasi ini di lingkungan pengujian sebelum memperbarui konfigurasi Elastic Load Balancing. Untuk informasi tentang cara memodifikasi 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 menggunakan Penyeimbang Beban Jaringan yang dikonfigurasi dengan alamat IP sebagai target, permintaan dianggap berasal dari alamat IP pribadi Network Load Balancers. Ini berarti bahwa layanan di belakang Network Load Balancer secara efektif terbuka untuk dunia segera setelah Anda mengizinkan permintaan masuk dan pemeriksaan kondisi di dalam grup keamanan target.

  • Menggunakan Network Load Balancer untuk merutekan lalu lintas UDP ke tugas Amazon ECS Anda di Fargate memerlukan tugas untuk menggunakan versi platform1.4.0 (Linux) atau1.0.0 (Windows).

  • Minimalkan kesalahan dalam aplikasi klien Anda dengan menetapkan definisi tugas lebih lama dari penundaan deregistrasi grup target, yang seharusnya lebih lama dari batas waktu koneksi klien Anda.StopTimeout Lihat Pustaka Pembangun untuk informasi lebih lanjut 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. Hal ini dapat menyebabkan klien untuk menampilkan pesan kesalahan yang tidak diinginkan, jika klien tidak menangani mereka.

  • 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 berada di VPC yang sama.