Memecahkan masalah Penyeimbang Beban Jaringan Anda - Elastic Load Balancing

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

Memecahkan masalah Penyeimbang Beban Jaringan Anda

Informasi berikut dapat membantu Anda memecahkan masalah dengan Penyeimbang Beban Jaringan.

Target yang terdaftar tidak dalam pelayanan

Jika target memakan waktu lebih lama dari yang diharapkan untuk masuk ke status InService, mungkin target akan gagal dalam pemeriksaan kesehatan. Target Anda tidak akan masuk dalam pelayanan sampai melewati satu pemeriksaan kesehatan. Untuk informasi selengkapnya, lihat Pemeriksaan kesehatan untuk kelompok sasaran Network Load Balancer.

Verifikasi bahwa instans Anda gagal pemeriksaan kondisi dan kemudian lakukan pemeriksaan berikut ini:

Grup keamanan tidak mengizinkan lalu lintas

Grup keamanan yang terkait dengan instans harus mengizinkan lalu lintas dari penyeimbang beban menggunakan port pemeriksaan kondisi dan protokol pemeriksaan kondisi. Untuk informasi selengkapnya, lihat Menargetkan grup keamanan.

Daftar kontrol akses jaringan (ACL) tidak memungkinkan lalu lintas

ACL jaringan yang terkait dengan subnet untuk instans Anda dan subnet untuk penyeimbang beban Anda harus memungkinkan pemeriksaan lalu lintas dan kesehatan dari penyeimbang beban. Untuk informasi selengkapnya, lihat Jaringan ACLs.

Permintaan tidak dirutekan ke target

Periksa hal berikut:

Grup keamanan tidak mengizinkan lalu lintas

Grup keamanan yang terkait dengan instans harus mengizinkan lalu lintas pada port pendengar dari alamat IP klien (jika target ditentukan oleh ID instans) atau simpul penyeimbang beban (jika target ditentukan oleh alamat IP). Untuk informasi selengkapnya, lihat Menargetkan grup keamanan.

Daftar kontrol akses jaringan (ACL) tidak memungkinkan lalu lintas

ACL jaringan yang terkait dengan subnet untuk VPC Anda harus memungkinkan penyeimbang beban dan target untuk berkomunikasi di kedua arah pada port pendengar. Untuk informasi selengkapnya, lihat Jaringan ACLs.

Target berada di Availability Zone yang tidak diaktifkan

Jika Anda mendaftar target di Availability Zone tetapi tidak mengaktifkan Availability Zone, target yang terdaftar ini tidak menerima lalu lintas dari penyeimbang beban.

Instans berada di VPC yang di-peering

Jika Anda memiliki instans dalam VPC yang di-peering dengan VPC penyeimbang beban, Anda harus mendaftarkan mereka dengan penyeimbang beban dengan alamat IP, bukan dengan contoh ID.

Target menerima lebih banyak permintaan pemeriksaan kondisi dari yang diharapkan

Pemeriksaan kondisi untuk Penyeimbang Beban Jaringan didistribusikan dan menggunakan mekanisme konsensus untuk menentukan target kesehatan. Oleh karena itu, target menerima lebih dari jumlah pemeriksaan kesehatan yang dikonfigurasikan melalui pengaturan HealthCheckIntervalSeconds.

Target menerima permintaan pemeriksaan kondisi lebih sedikit dari yang diharapkan

Periksa apakah net.ipv4.tcp_tw_recycle diaktifkan. Pengaturan ini diketahui menyebabkan masalah dengan penyeimbang beban. Pengaturan net.ipv4.tcp_tw_reuse dianggap sebagai alternatif yang lebih aman.

Target yang tidak sehat menerima permintaan dari penyeimbang beban

Ini terjadi ketika semua target yang terdaftar tidak sehat. Jika setidaknya ada satu target terdaftar yang sehat, Network Load Balancer Anda hanya meminta target terdaftar yang sehat.

Ketika hanya ada target terdaftar yang tidak sehat, Network Load Balancer merutekan permintaan ke semua target yang terdaftar, yang dikenal sebagai mode fail-open. Network Load Balancer melakukan ini alih-alih menghapus semua alamat IP dari DNS ketika semua target tidak sehat dan Zona Ketersediaan masing-masing tidak memiliki target yang sehat untuk mengirim permintaan.

Target gagal pemeriksaan kondisi HTTP atau HTTPS karena header host tidak cocok

Header host HTTP dalam permintaan pemeriksaan kondisi berisi alamat IP dari simpul penyeimbang beban dan port pendengar, bukan alamat IP target dan port pemeriksaan kesehatan. Jika Anda memetakan permintaan masuk oleh header host, Anda harus memastikan bahwa pemeriksaan kondisi cocok dengan header host HTTP. Pilihan lain adalah untuk menambahkan layanan HTTP terpisah pada port yang berbeda dan mengkonfigurasi grup target untuk menggunakan port tersebut untuk pemeriksaan kondisi. Atau, pertimbangkan untuk menggunakan pemeriksaan kesehatan TCP.

Tidak dapat mengaitkan grup keamanan dengan penyeimbang beban

Jika Network Load Balancer dibuat tanpa grup keamanan, Network Load Balancer tidak dapat mendukung grup keamanan setelah dibuat. Anda hanya dapat mengaitkan grup keamanan ke penyeimbang beban selama pembuatan, atau ke penyeimbang beban yang ada yang awalnya dibuat dengan grup keamanan.

Tidak dapat menghapus semua grup keamanan

Jika Network Load Balancer dibuat dengan grup keamanan, harus ada setidaknya satu grup keamanan yang terkait dengannya setiap saat. Anda tidak dapat menghapus semua grup keamanan dari penyeimbang beban secara bersamaan.

Peningkatan metrik TCP_ELB_Reset_Count

Untuk setiap permintaan TCP bahwa klien membuat melalui Penyeimbang Beban Jaringan, keadaan sambungan dilacak. Jika tidak ada data yang dikirim melalui koneksi oleh klien atau target lebih lama dari batas waktu idle, koneksi ditutup. Jika klien atau target mengirimkan data setelah periode waktu habis siaga berlalu, menerima paket TCP RST untuk menunjukkan bahwa sambungan tidak berlaku lagi. Selain itu, jika target menjadi tidak sehat, penyeimbang beban mengirimkan TCP RST untuk paket yang diterima pada koneksi klien yang terkait dengan target, kecuali target yang tidak sehat memicu penyeimbang beban gagal terbuka.

Jika Anda melihat lonjakan TCP_ELB_Reset_Count metrik tepat sebelum atau tepat ketika UnhealthyHostCount metrik meningkat, kemungkinan paket TCP RST dikirim karena target mulai gagal tetapi tidak ditandai tidak sehat. Jika Anda melihat peningkatan terus-menerus TCP_ELB_Reset_Count tanpa target ditandai tidak sehat, Anda dapat memeriksa log aliran VPC untuk klien yang mengirim data pada alur kedaluwarsa.

Waktu koneksi habis untuk permintaan dari target ke penyeimbang bebannya

Periksa apakah pelestarian klien IP diaktifkan pada grup target Anda. Loopback NAT, juga dikenal sebagai hairpinning, tidak didukung saat pelestarian IP klien diaktifkan. Jika instans adalah klien penyeimbang beban yang terdaftar, dan memiliki pelestarian klien IP diaktifkan, sambungan berhasil hanya jika permintaan diarahkan ke instans yang berbeda. Jika permintaan dirutekan ke instance yang sama dengan yang dikirim, waktu koneksi habis karena alamat IP sumber dan tujuan sama.

Jika sebuah instans harus mengirim permintaan ke penyeimbang beban yang terdaftar, lakukan salah satu hal berikut:

  • Nonaktifkan pelestarian IP klien.

  • Pastikan bahwa kontainer yang harus berkomunikasi, berada di instans kontainer yang berbeda.

Kinerja menurun saat memindahkan target ke Penyeimbang Beban Jaringan

Baik Classic Load Balancers dan Application Load Balancers menggunakan koneksi multiplexing, namun Penyeimbang Beban Jaringan tidak. Oleh karena itu, target Anda dapat menerima lebih banyak koneksi TCP di belakang Penyeimbang Beban Jaringan. Pastikan bahwa target Anda siap untuk menangani volume permintaan koneksi yang mungkin mereka terima.

Jika Penyeimbang Beban Jaringan dikaitkan dengan layanan VPC endpoint, mendukung 55.000 koneksi simultan atau sekitar 55.000 koneksi per menit untuk setiap target unik (alamat IP dan port). Jika Anda melebihi koneksi ini, ada kemungkinan peningkatan kesalahan alokasi port. Kesalahan alokasi port dapat dilacak menggunakan metrik. PortAllocationErrorCount Untuk memperbaiki kesalahan alokasi port, tambahkan lebih banyak target ke grup target. Untuk informasi selengkapnya, lihat CloudWatch metrik untuk Network Load Balancer Anda.

Koneksi intermiten gagal ketika pelestarian IP klien diaktifkan

Saat pelestarian IP klien diaktifkan, Anda mungkin mengalami batasan koneksi TCP/IP yang terkait dengan penggunaan kembali soket yang diamati pada target. Keterbatasan sambungan ini dapat terjadi ketika klien, atau perangkat NAT di depan klien, menggunakan alamat IP sumber yang sama dan port sumber saat menghubungkan ke beberapa simpul penyeimbang beban secara bersamaan. Jika penyeimbang beban merutekan koneksi ini ke target yang sama, koneksi muncul ke target seolah-olah mereka berasal dari soket sumber yang sama, yang menghasilkan kesalahan koneksi. Jika ini terjadi, klien dapat mencoba lagi (jika koneksi gagal) atau menyambung kembali (jika koneksi terputus). Anda dapat mengurangi jenis kesalahan koneksi dengan meningkatkan jumlah sumber port fana atau dengan meningkatkan jumlah target untuk penyeimbang beban. Anda dapat mencegah jenis kesalahan koneksi ini dengan menonaktifkan pelestarian IP klien atau dengan menonaktifkan penyeimbangan beban lintas zona.

Selain itu, ketika pelestarian IP klien diaktifkan, konektivitas mungkin gagal jika klien yang terhubung ke Network Load Balancer juga terhubung ke target di belakang penyeimbang beban. Untuk mengatasi hal ini, Anda dapat menonaktifkan pelestarian IP klien pada grup target yang terpengaruh. Atau, minta klien Anda terhubung hanya ke Penyeimbang Beban Jaringan, atau hanya ke target, tapi tidak keduanya.

Penundaan koneksi TCP

Ketika penyeimbangan beban lintas zona dan pelestarian IP klien diaktifkan, klien yang terhubung ke IP yang berbeda pada penyeimbang beban yang sama dapat diarahkan ke target yang sama. Jika klien menggunakan port sumber yang sama untuk kedua koneksi ini, target akan menerima apa yang tampaknya merupakan koneksi duplikat, yang dapat menyebabkan kesalahan koneksi dan keterlambatan TCP dalam membangun koneksi baru. Anda dapat mencegah jenis kesalahan koneksi ini dengan menonaktifkan penyeimbangan beban lintas zona. Untuk informasi selengkapnya, lihat Penyeimbangan beban lintas zona.

Potensi kegagalan saat penyeimbang beban sedang ditetapkan

Salah satu alasan Penyeimbang Beban Jaringan bisa gagal ketika sedang ditetapkan adalah jika Anda menggunakan alamat IP yang sudah ditetapkan atau dialokasikan di tempat lain (misalnya, ditetapkan sebagai alamat IP sekunder untuk instans EC2). Alamat IP ini mencegah penyeimbang beban diatur, dan keadaannya adalah failed. Anda dapat mengatasi ini dengan membatalkan alokasi alamat IP terkait dan mencoba kembali proses pembuatan.

Resolusi nama DNS berisi lebih sedikit alamat IP daripada Availability Zone yang diaktifkan

Idealnya Network Load Balancer Anda menyediakan satu alamat IP per Availability Zone yang diaktifkan, ketika mereka memiliki setidaknya satu host sehat di Availability Zone. Ketika tidak ada host yang sehat di Availability Zone tertentu, dan penyeimbangan beban lintas zona dinonaktifkan, alamat IP Network Load Balancer masing-masing AZ tersebut akan dihapus dari DNS.

Misalnya, Network Load Balancer Anda memiliki tiga Availability Zone yang diaktifkan, yang semuanya memiliki setidaknya satu instance target terdaftar yang sehat.

  • Jika instance target terdaftar di Availability Zone A menjadi tidak sehat, alamat IP yang sesuai dari Availability Zone A untuk Network Load Balancer akan dihapus dari DNS.

  • Jika salah satu dari Availability Zone yang diaktifkan tidak memiliki instans target terdaftar yang sehat, dua alamat IP masing-masing Network Load Balancer akan dihapus dari DNS.

  • Jika tidak ada instans target terdaftar yang sehat di semua Availability Zone yang diaktifkan, mode fail-open diaktifkan dan DNS akan menyediakan semua alamat IP dari tiga AZ yang diaktifkan dalam hasilnya.

Memecahkan masalah target yang tidak sehat menggunakan peta sumber daya

Jika target Network Load Balancer gagal dalam pemeriksaan kesehatan, Anda dapat menggunakan peta sumber daya untuk menemukan target yang tidak sehat dan mengambil tindakan berdasarkan kode alasan kegagalan. Untuk informasi selengkapnya, lihat Lihat peta sumber daya Network Load Balancer.

Peta sumber daya menyediakan dua tampilan: Ikhtisar, dan Peta Target Tidak Sehat. Ikhtisar dipilih secara default dan menampilkan semua sumber daya penyeimbang beban Anda. Memilih tampilan Peta Target Tidak Sehat hanya akan menampilkan target yang tidak sehat di setiap grup target yang terkait dengan Network Load Balancer.

catatan

Tampilkan detail sumber daya harus diaktifkan untuk melihat ringkasan pemeriksaan kesehatan dan pesan kesalahan untuk semua sumber daya yang berlaku dalam peta sumber daya. Ketika tidak diaktifkan, Anda harus memilih setiap sumber daya untuk melihat detailnya.

Kolom Grup target menampilkan ringkasan target yang sehat dan tidak sehat untuk setiap kelompok sasaran. Ini dapat membantu menentukan apakah semua target gagal dalam pemeriksaan kesehatan, atau hanya target tertentu yang gagal. Jika semua target dalam kelompok sasaran gagal dalam pemeriksaan kesehatan, periksa pengaturan pemeriksaan kesehatan kelompok sasaran. Pilih nama grup target untuk membuka halaman detailnya di tab baru.

Kolom TargetId menampilkan targetID dan status pemeriksaan kesehatan saat ini untuk setiap target. Ketika target tidak sehat, kode alasan kegagalan pemeriksaan kesehatan ditampilkan. Ketika satu target gagal dalam pemeriksaan kesehatan, pastikan target memiliki sumber daya yang cukup. Pilih ID target untuk membuka halaman detailnya di tab baru.

Memilih Ekspor memberi Anda opsi untuk mengekspor tampilan saat ini dari peta sumber daya Network Load Balancer Anda sebagai PDF.

Verifikasi bahwa instans Anda gagal dalam pemeriksaan kesehatan dan kemudian berdasarkan pemeriksaan kode alasan kegagalan untuk masalah berikut:

  • Tidak sehat: Waktu permintaan habis

    • Verifikasi grup keamanan dan daftar kontrol akses jaringan (ACL) yang terkait dengan target Anda dan Network Load Balancer tidak memblokir konektivitas.

    • Pastikan target memiliki kapasitas yang cukup untuk menerima koneksi dari Network Load Balancer.

    • Respons pemeriksaan kesehatan Network Load Balancer dapat dilihat di setiap log aplikasi target. Untuk informasi lebih lanjut, lihat Health check kode alasan.

  • Tidak sehat: FailedHealthChecks

    • Verifikasi target mendengarkan lalu lintas di port pemeriksaan kesehatan.

      Saat menggunakan pendengar TLS

      Anda memilih kebijakan keamanan yang digunakan untuk koneksi front-end. Kebijakan keamanan yang digunakan untuk koneksi back-end dipilih secara otomatis berdasarkan kebijakan keamanan front-end yang digunakan.

      • Jika pendengar TLS Anda menggunakan kebijakan keamanan TLS 1.3 untuk koneksi front-end, kebijakan keamanan akan digunakan untuk koneksi ELBSecurityPolicy-TLS13-1-0-2021-06 back-end.

      • Jika pendengar TLS Anda tidak menggunakan kebijakan keamanan TLS 1.3 untuk koneksi front-end, kebijakan keamanan akan digunakan untuk koneksi ELBSecurityPolicy-2016-08 back-end.

      Untuk informasi selengkapnya, lihat Kebijakan keamanan.

    • Verifikasi target menyediakan sertifikat server dan kunci dalam format yang benar yang ditentukan oleh kebijakan keamanan.

    • Verifikasi target mendukung satu atau lebih cipher yang cocok, dan protokol yang disediakan oleh Network Load Balancer untuk membuat jabat tangan TLS.