Aktifkan pengosongan koneksi

Pengosongan koneksi adalah proses yang memastikan bahwa permintaan yang sedang berlangsung akan diberi waktu untuk diselesaikan ketika VM dihapus dari grup instance atau saat endpoint dihapus dari grup endpoint jaringan (NEG) yang memiliki cakupan zona.

Informasi di halaman ini hanya berlaku untuk grup instance dan jenis NEG berikut yang termasuk dalam cakupan zona:

Untuk mengaktifkan pengosongan koneksi, Anda menetapkan waktu tunggu pengosongan koneksi di layanan backend. Durasi waktu tunggu harus mulai dari 0 hingga 3600 detik.

Untuk durasi waktu tunggu yang ditentukan, permintaan yang ada ke VM atau endpoint yang dihapus diberi waktu hingga selesai. Load balancer tidak mengirim koneksi TCP baru ke VM yang dihapus. Setelah durasi waktu tunggu tercapai, semua koneksi TCP yang tersisa ke VM akan ditutup.

Pengosongan koneksi dimulai setiap kali Anda melakukan tindakan berikut:

Diperlukan waktu hingga 60 detik setelah durasi waktu tunggu yang ditentukan berakhir hingga instance dihentikan.

Jika Anda mengaktifkan pengosongan koneksi di beberapa layanan backend yang memiliki grup instance atau NEG yang sama, nilai waktu tunggu terbesar akan digunakan. Misalnya, grup instance atau NEG zona yang sama adalah backend untuk dua layanan backend, dengan satu layanan backend memiliki waktu tunggu pengosongan koneksi 100 detik, dan layanan backend lainnya memiliki waktu tunggu pengosongan koneksi selama 200 detik. Google Cloud menggunakan 200 detik sebagai waktu tunggu pengosongan koneksi yang efektif sehingga koneksi yang ada dapat aktif selama 200 detik sebelum Google Cloud menghentikannya. Jika backend adalah grup instance terkelola, operasi yang menghapus instance akan tertunda setidaknya 200 detik.

Berikut adalah daftar spesifikasi tentang pengosongan koneksi:

Untuk mengaktifkan pengosongan koneksi, selesaikan langkah-langkah berikut.

Konsol

Memperbarui load balancer

  1. Buka halaman Load balancing di Konsol Google Cloud.
    Buka Load balancing
  2. Klik Edit untuk load balancer atau buat load balancer baru.
  3. Klik Backend configuration.
  4. Klik Advanced configurations di bagian bawah layanan backend Anda.
  5. Di kolom Connection draining timeout, masukkan nilai dari 0 - 3600. Setelan 0 menonaktifkan pengosongan koneksi.

Memperbarui Traffic Director

  1. Buka halaman Traffic Director di konsol Google Cloud.
    Buka Traffic Director
  2. Klik Nama layanan Anda.
  3. Klik Advanced configurations di bagian bawah layanan Anda.
  4. Di kolom Connection draining timeout, masukkan nilai dari 0 - 3600. Setelan 0 menonaktifkan pengosongan koneksi.
  5. Klik Save.

gcloud

Aktifkan pengosongan koneksi pada layanan backend baru atau yang sudah ada dengan menggunakan tanda --connection-draining-timeout. Contoh berikut menunjukkan cara mengubah waktu tunggu pengosongan koneksi:

  • Untuk load balancer global atau lintas region yang sudah ada:

    gcloud compute backend-services update BACKEND_SERVICE \
        --global \
        --connection-draining-timeout=CONNECTION_TIMEOUT_SECS
    
  • Untuk load balancer regional yang sudah ada:

    gcloud compute backend-services update BACKEND_SERVICE \
        --region=REGION \
        --connection-draining-timeout=CONNECTION_TIMEOUT_SECS
    

Ganti placeholder dengan nilai yang valid:

  • BACKEND_SERVICE: Layanan backend yang sedang Anda update.
  • REGION: Jika berlaku, region layanan backend yang diupdate
  • CONNECTION_TIMEOUT_SECS: Jumlah detik untuk menunggu sebelum koneksi yang ada ke instance atau endpoint dihentikan, antara 0 - 3600 detik, inklusif. Setelan 0 menonaktifkan pengosongan koneksi. Waktu tunggu pengosongan koneksi berlaku untuk semua backend layanan backend.

    Anda juga dapat menggunakan perintah gcloud compute backend-services edit untuk mengupdate layanan backend yang ada.

API

Untuk mengaktifkan pengosongan koneksi di API saat membuat atau mengupdate instance atau endpoint, buat permintaan ke URI API masing-masing untuk menyertakan kolom connectionDraining dalam isi permintaan Anda. Contoh berikut menunjukkan cara menyetel atribut tersebut dengan mengedit layanan backend yang ada. Untuk mengetahui informasi tentang atribut lain yang diperlukan, lihat dokumentasi untuk setiap load balancer.

Untuk load balancer global atau lintas region yang sudah ada:

PATCH https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendServices

Untuk load balancer regional yang sudah ada:

PATCH https://www.googleapis.com/compute/v1/projects/PROJECT_ID/region/REGION/backendServices

{
   "name": "BACKEND_SERVICE",
   "connectionDraining": {
     "drainingTimeoutSec": CONNECTION_TIMEOUT_SECS
   }
}

dengan:

  • PROJECT_ID adalah project ID yang berisi deployment load balancer atau Traffic Director.
  • BACKEND_SERVICE adalah layanan backend yang digunakan oleh deployment load balancer atau Traffic Director.
  • CONNECTION_TIMEOUT_SECS adalah jumlah detik untuk menunggu sebelum instance atau endpoint dihapus dari grup instance atau NEG, antara 0 hingga 3.600 detik, inklusif. Durasi waktu tunggu ini berlaku untuk semua grup instance atau NEG yang direferensikan oleh layanan backend.

Langkah selanjutnya

Untuk mengetahui informasi umum tentang layanan backend, lihat Ringkasan layanan backend.