TCP Atur Ulang dan Batas Waktu jeda Load Balancer
Anda dapat menggunakan Load Balancer Standar untuk membuat perilaku aplikasi yang lebih mudah diprediksi untuk skenario Anda dengan mengaktifkan Atur ulang TCP ke Idle untuk aturan tertentu. Perilaku default Load Balancer adalah menghilangkan aliran secara diam-diam saat batas waktu aliran tercapai. Mengaktifkan reset TCP menyebabkan Load Balancer mengirim Reset TCP dua arah (paket reset TCP) pada batas waktu diam untuk memberi tahu titik akhir aplikasi Anda bahwa waktu koneksi habis dan tidak lagi dapat digunakan. Endpoint dapat segera membuat koneksi baru jika diperlukan.
Reset TCP
Anda mengubah perilaku default ini dan mengaktifkan pengiriman Atur ulang TCP pada batas waktu jeda pada aturan NAT yang masuk, aturan penyeimbangan muatan, dan aturan keluar. Saat diaktifkan per aturan, Load Balancer mengirimkan Reset TCP dua arah (paket RST TCP) ke titik akhir klien dan server pada saat batas waktu diam untuk semua alur yang cocok.
Titik akhir yang menerima paket istirahat TCP segera menutup soket yang sesuai. Ini memberikan pemberitahuan langsung ke rilis koneksi titik akhir dan komunikasi di masa mendatang pada koneksi TCP yang sama akan gagal. Aplikasi dapat membersihkan koneksi ketika soket menutup dan membangun kembali koneksi sesuai kebutuhan tanpa menunggu koneksi TCP untuk habis.
Untuk banyak skenario, reset TCP dapat mengurangi kebutuhan untuk mengirim keepalives TCP (atau lapisan aplikasi) untuk me-refresh batas waktu menganggur alur.
Jika durasi diam Anda melebihi batas konfigurasi atau aplikasi Anda menunjukkan perilaku yang tidak diinginkan dengan Pengaturan Ulang TCP diaktifkan, Anda masih perlu menggunakan keepalives TCP, atau keepalive lapisan aplikasi, untuk memantau keaktifan koneksi TCP. Selain itu, keepalives juga tetap berguna ketika koneksi proksi di suatu tempat di jalur, terutama keepalives lapisan aplikasi.
Dengan memeriksa seluruh skenario ujung ke ujung dengan hati-hati, Anda dapat menentukan keuntungan dari mengaktifkan Reset TCP dan menyesuaikan batas waktu idle. Kemudian Anda memutuskan apakah lebih banyak langkah dapat diperlukan untuk memastikan perilaku aplikasi yang diinginkan.
Batas waktu diam TCP yang dapat dikonfigurasi
Azure Load Balancer Standard memiliki rentang waktu habis 4 menit hingga 100 menit untuk aturan load balancer, aturan keluar, dan aturan NAT masuk. Defaultnya adalah 4 menit. Jika periode tidak aktif lebih lama dari nilai waktu habis, tidak ada jaminan bahwa sesi TCP atau HTTP dipertahankan antara klien dan layanan cloud Anda. Azure Load Balancer Basic memiliki rentang waktu habis hingga 30 menit.
Ketika koneksi ditutup, aplikasi klien Anda dapat menerima pesan kesalahan berikut: "Koneksi yang mendasar ditutup: Koneksi yang diharapkan tetap hidup ditutup oleh server."
Jika reset TCP diaktifkan, dan terlewatkan karena alasan apa pun, reset untuk paket berikutnya. Jika opsi reset TCP tidak diaktifkan, maka paket akan dihilangkan secara diam-diam.
Praktik umum adalah menggunakan TCP tetap-hidup. Praktik ini membuat koneksi tetap aktif untuk jangka waktu yang lebih lama. Untuk informasi selengkapnya, lihat contoh .NET berikut. Dengan tetap-hidup diaktifkan, paket dikirim selama periode tidak aktif di koneksi. Paket tetap-hidup memastikan nilai batas waktu jeda tidak tercapai dan koneksi dipertahankan untuk jangka waktu yang lama.
Pengaturan hanya berfungsi untuk koneksi masuk. Untuk menghindari kehilangan koneksi, konfigurasikan TCP tetap-hidup dengan interval yang kurang dari pengaturan batas waktu jeda atau tingkatkan nilai batas waktu jeda. Untuk mendukung skenario ini, dukungan untuk batas waktu diam yang dapat dikonfigurasi tersedia.
TCP tetap-hidup bekerja untuk skenario di mana masa pakai baterai tidak menjadi masalah. Tidak disarankan untuk aplikasi seluler. Menggunakan TCP tetap-hidup dalam aplikasi seluler dapat menguras baterai perangkat lebih cepat.
Urutan prioritas
Penting untuk mempertimbangkan bagaimana nilai batas waktu diam yang ditetapkan untuk IP yang berbeda berpotensi berinteraksi.
Masuk
- Jika ada aturan load balancer (masuk) dengan nilai batas waktu diam yang ditetapkan secara berbeda dari batas waktu diam IP frontend yang direferensikannya, batas waktu diam IP frontend load balancer lebih diutamakan.
- Jika ada aturan NAT masuk dengan nilai batas waktu diam yang ditetapkan secara berbeda dari batas waktu menganggur IP frontend yang direferensikannya, batas waktu diam IP frontend load balancer lebih diutamakan.
Keluar
- Jika ada aturan keluar dengan nilai batas waktu diam yang berbeda dari 4 menit (yang merupakan batas waktu diam keluar IP publik dikunci), batas waktu diam aturan keluar lebih diutamakan.
- Karena gateway NAT akan selalu diutamakan daripada aturan keluar load balancer (dan melalui alamat IP publik yang ditetapkan langsung ke VM), nilai batas waktu diam yang ditetapkan ke gateway NAT akan digunakan. (Sepanjang baris yang sama, batas waktu diam keluar IP publik terkunci selama 4 menit dari IP apa pun yang ditetapkan ke NAT GW tidak dipertimbangkan.)
Batasan
- Reset TCP hanya dikirim selama sambungan TCP dalam status BERJALAN.
- Batas waktu idle TCP tidak memengaruhi aturan penyeimbangan beban pada protokol UDP.
- Reset TCP tidak didukung untuk port INTERNAL Load Balancer HA saat appliance virtual jaringan berada di jalur. Solusinya adalah menggunakan aturan keluar dengan reset TCP dari Network Virtual Appliance.
Langkah berikutnya
- Pelajari tentang Load Balancer Standar.
- Pelajari tentang aturan keluar.
- Mengonfigurasi RST TCP pada Batas Waktu jeda