Menyiapkan backend grup instance terkelola

Cloud CDN memanfaatkan Load Balancer Aplikasi eksternal global Google Cloud untuk menyediakan pemilihan rute, health check, dan dukungan IP Anycast. Load Balancer Aplikasi eksternal global dapat memiliki beberapa jenis backend instance, dan Anda dapat memilih backend (atau asal) yang akan digunakan untuk mengaktifkan Cloud CDN.

Panduan penyiapan ini menunjukkan cara membuat Load Balancer Aplikasi eksternal dengan backend grup instance yang dikelola Compute Engine dengan Cloud CDN diaktifkan.

Jika contoh ini tidak cocok dengan kasus penggunaan Anda, lihat salah satu halaman berikut:

Untuk konsep umum, lihat Ringkasan Load Balancer Aplikasi Eksternal.

Jika Anda adalah pengguna Load Balancer Aplikasi klasik yang sudah ada, pastikan Anda meninjau Merencanakan migrasi ke Load Balancer Aplikasi eksternal global saat merencanakan deployment baru dengan Load Balancer Aplikasi eksternal global.

Topologi load balancer

Untuk load balancer HTTPS, Anda dapat membuat konfigurasi yang ditampilkan dalam diagram berikut.

Load Balancer Aplikasi Eksternal dengan backend grup instance terkelola (MIG).
Gambar 1. Load Balancer Aplikasi Eksternal dengan backend grup instance terkelola (MIG) (klik untuk memperbesar).

Untuk load balancer HTTP, Anda dapat membuat konfigurasi yang ditampilkan dalam diagram berikut.

Load Balancer Aplikasi Eksternal dengan backend grup instance terkelola (MIG).
Gambar 2. Load Balancer Aplikasi Eksternal dengan backend grup instance terkelola (MIG) (klik untuk memperbesar).

Urutan peristiwa dalam diagram adalah sebagai berikut:

  1. Klien mengirimkan permintaan konten ke alamat IPv4 eksternal yang ditentukan dalam aturan penerusan.
  2. Load balancer memeriksa apakah permintaan dapat disalurkan dari cache. Jika demikian, load balancer akan menayangkan konten yang diminta dari cache. Jika tidak, pemrosesan akan dilanjutkan.

  3. Untuk load balancer HTTPS, aturan penerusan mengarahkan permintaan ke proxy HTTPS target.

    Untuk load balancer HTTP, aturan penerusan mengarahkan permintaan ke proxy HTTP target.

  4. Proxy target menggunakan aturan dalam peta URL untuk menentukan bahwa layanan backend tunggal menerima semua permintaan.

  5. Load balancer menentukan bahwa layanan backend hanya memiliki satu grup instance dan mengarahkan permintaan ke instance virtual machine (VM) dalam grup tersebut.

  6. VM menayangkan konten yang diminta oleh pengguna.

Load Balancer Aplikasi Eksternal dengan backend grup instance terkelola (MIG) dan Cloud CDN aktif.
Load Balancer Aplikasi Eksternal dengan backend grup instance terkelola (MIG) dan Cloud CDN diaktifkan (klik untuk memperbesar).

Sebelum memulai

Selesaikan langkah-langkah berikut sebelum Anda membuat load balancer.

Menyiapkan resource sertifikat SSL

Untuk load balancer HTTPS, buat resource sertifikat SSL seperti yang dijelaskan berikut:

Sebaiknya gunakan sertifikat yang dikelola Google.

Contoh ini mengasumsikan bahwa Anda sudah memiliki resource sertifikat SSL bernama www-ssl-cert.

Siapkan izin

Untuk menyelesaikan langkah-langkah dalam panduan ini, Anda harus memiliki izin untuk membuat instance Compute Engine, aturan firewall, dan alamat IP yang dicadangkan dalam sebuah project. Anda harus memiliki peran pemilik atau editor project, atau Anda harus memiliki peran IAM Compute Engine berikut.

Tugas Peran yang diperlukan
Membuat instance Admin Instance
Menambahkan dan menghapus aturan firewall Security Admin
Membuat komponen load balancer Admin Jaringan
Membuat project (opsional) Kreator Project

Untuk informasi selengkapnya, lihat panduan berikut:

Membuat grup instance terkelola

Untuk menyiapkan load balancer dengan backend Compute Engine, VM harus berada dalam grup instance. Panduan ini menjelaskan cara membuat grup instance terkelola dengan VM Linux yang menjalankan Apache, lalu menyiapkan load balancing. Grup instance terkelola membuat setiap instance terkelolanya berdasarkan template instance yang Anda tentukan.

Grup instance terkelola menyediakan VM yang menjalankan server backend load balancer HTTP(S) eksternal. Untuk tujuan demonstrasi, backend menyalurkan nama host-nya sendiri.

Sebelum membuat grup instance terkelola, buat template instance.

Konsol

  1. Di konsol Google Cloud, buka halaman Instance templates.

    Buka Instance templates

  2. Klik Create instance template.

  3. Untuk Name, masukkan lb-backend-template.

  4. Pastikan Boot disk disetel ke image Debian, seperti Debian GNU/Linux 10 (buster). Petunjuk ini menggunakan perintah yang hanya tersedia di Debian, seperti apt-get.

  5. Jangan konfigurasikan opsi Firewall.

    Karena Load Balancer Aplikasi eksternal adalah proxy, Anda tidak perlu memilih Allow HTTPS traffic atau Allow HTTP traffic di bagian Firewall. Dalam bagian Mengonfigurasi aturan firewall, Anda membuat satu-satunya aturan firewall yang diperlukan untuk load balancer ini.

  6. Klik Advanced options.

  7. Klik Networking dan konfigurasikan kolom berikut:

    1. Untuk Tag jaringan, masukkan allow-health-check.
  8. Klik Management. Masukkan skrip berikut ke kolom Skrip startup.

    #! /bin/bash
    apt-get update
    apt-get install apache2 -y
    a2ensite default-ssl
    a2enmod ssl
    vm_hostname="$(curl -H "Metadata-Flavor:Google" \
    http://metadata.google.internal/computeMetadata/v1/instance/name)"
    echo "Page served from: $vm_hostname" | \
    tee /var/www/html/index.html
    systemctl restart apache2
    
  9. Klik Create.

gcloud

  1. Buat template.

    gcloud compute instance-templates create TEMPLATE_NAME \
       --region=us-east1 \
       --network=default \
       --subnet=default \
       --tags=allow-health-check \
       --image-family=debian-10 \
       --image-project=debian-cloud \
       --metadata=startup-script='#! /bin/bash
         apt-get update
         apt-get install apache2 -y
         a2ensite default-ssl
         a2enmod ssl
         vm_hostname="$(curl -H "Metadata-Flavor:Google" \
       http://metadata.google.internal/computeMetadata/v1/instance/name)"
       echo "Page served from: $vm_hostname" | \
       tee /var/www/html/index.html
       systemctl restart apache2'
    

Terraform

Untuk membuat template instance, gunakan resource google_compute_instance_template.

resource "google_compute_instance_template" "default" {
  name = "lb-backend-template"
  disk {
    auto_delete  = true
    boot         = true
    device_name  = "persistent-disk-0"
    mode         = "READ_WRITE"
    source_image = "projects/debian-cloud/global/images/family/debian-11"
    type         = "PERSISTENT"
  }
  labels = {
    managed-by-cnrm = "true"
  }
  machine_type = "n1-standard-1"
  metadata = {
    startup-script = "#! /bin/bash\n     sudo apt-get update\n     sudo apt-get install apache2 -y\n     sudo a2ensite default-ssl\n     sudo a2enmod ssl\n     vm_hostname=\"$(curl -H \"Metadata-Flavor:Google\" \\\n   http://169.254.169.254/computeMetadata/v1/instance/name)\"\n   sudo echo \"Page served from: $vm_hostname\" | \\\n   tee /var/www/html/index.html\n   sudo systemctl restart apache2"
  }
  network_interface {
    access_config {
      network_tier = "PREMIUM"
    }
    network    = "global/networks/default"
    subnetwork = "regions/us-east1/subnetworks/default"
  }
  region = "us-east1"
  scheduling {
    automatic_restart   = true
    on_host_maintenance = "MIGRATE"
    provisioning_model  = "STANDARD"
  }
  service_account {
    email  = "default"
    scopes = ["https://www.googleapis.com/auth/devstorage.read_only", "https://www.googleapis.com/auth/logging.write", "https://www.googleapis.com/auth/monitoring.write", "https://www.googleapis.com/auth/pubsub", "https://www.googleapis.com/auth/service.management.readonly", "https://www.googleapis.com/auth/servicecontrol", "https://www.googleapis.com/auth/trace.append"]
  }
  tags = ["allow-health-check"]
}

Buat grup instance terkelola, lalu pilih template instance.

Konsol

  1. Di Konsol Google Cloud, buka halaman Instance groups.

    Buka Instance groups

  2. Klik Create grup instance.

  3. Di sebelah kiri, pilih Grup instance terkelola baru (stateless).

  4. Untuk Name, masukkan lb-backend-example.

  5. Di bagian Location, pilih Single zone.

  6. Untuk Wilayah, pilih wilayah yang Anda inginkan. Contoh ini menggunakan us-east1.

  7. Untuk Zone, pilih us-east1-b.

  8. Di bagian Instance template, pilih template instance lb-backend-template.

  9. Untuk Autoscaling mode, pilih On: add and remove instances to the group.

    Tetapkan Minimum number of instances ke 2, dan tetapkan Maximum number of instances ke 2 atau lebih.

  10. Untuk membuat grup instance baru, klik Buat.

gcloud

  1. Membuat grup instance terkelola berdasarkan template tersebut.

    gcloud compute instance-groups managed create lb-backend-example \
    --template=TEMPLATE_NAME --size=2 --zone=us-east1-b
    

Terraform

Untuk membuat grup instance terkelola, gunakan resource google_compute_instance_group_manager.

resource "google_compute_instance_group_manager" "default" {
  name = "lb-backend-example"
  zone = "us-east1-b"
  named_port {
    name = "http"
    port = 80
  }
  version {
    instance_template = google_compute_instance_template.default.id
    name              = "primary"
  }
  base_instance_name = "vm"
  target_size        = 2
}

Untuk mempelajari cara menerapkan atau menghapus konfigurasi Terraform, lihat Perintah dasar Terraform.

Menambahkan port bernama ke grup instance

Untuk grup instance, tentukan layanan HTTP dan petakan nama port ke port yang relevan. Layanan load balancing meneruskan traffic ke port yang bernama. Untuk mengetahui informasi selengkapnya, lihat Port bernama.

Konsol

  1. Di Konsol Google Cloud, buka halaman Instance groups.

    Buka Instance groups

  2. Klik nama grup instance Anda (dalam contoh ini lb-backend-example).

  3. Di halaman Overview grup instance, klik Edit .

  4. Di bagian Pemetaan port, klik Tambahkan port.

    1. Untuk nama port, masukkan http. Untuk nomor port, masukkan 80.
  5. Klik Save.

gcloud

Gunakan perintah gcloud compute instance-groups set-named-ports.

gcloud compute instance-groups set-named-ports lb-backend-example \
    --named-ports http:80 \
    --zone us-east1-b

Terraform

Atribut named_port disertakan dalam contoh grup instance terkelola.

Konfigurasikan aturan firewall

Dalam contoh ini, Anda membuat aturan firewall fw-allow-health-check. Ini adalah aturan masuk yang memungkinkan traffic dari sistem health check Google Cloud (130.211.0.0/22 dan 35.191.0.0/16). Contoh ini menggunakan tag target allow-health-check untuk mengidentifikasi VM.

Konsol

  1. Di Konsol Google Cloud, buka halaman Firewall policies.

    Buka Kebijakan firewall

  2. Klik Create firewall rule untuk membuat aturan firewall.

  3. Untuk Name, masukkan fw-allow-health-check.

  4. Di bagian Jaringan, pilih Default.

  5. Di bagian Target, pilih Tag target yang ditentukan.

  6. Isi kolom Tag target dengan allow-health-check.

  7. Tetapkan Filter sumber ke rentang IPv4.

  8. Setel Rentang IPv4 sumber ke 130.211.0.0/22 dan 35.191.0.0/16.

  9. Di bagian Protocols and ports, pilih Specified protocols and ports.

  10. Pilih kotak centang TCP, lalu ketik 80 untuk nomor port.

  11. Klik Create.

gcloud

gcloud compute firewall-rules create fw-allow-health-check \
    --network=default \
    --action=allow \
    --direction=ingress \
    --source-ranges=130.211.0.0/22,35.191.0.0/16 \
    --target-tags=allow-health-check \
    --rules=tcp:80

Terraform

Untuk membuat aturan firewall, gunakan resource google_compute_firewall.

resource "google_compute_firewall" "default" {
  name          = "fw-allow-health-check"
  direction     = "INGRESS"
  network       = "global/networks/default"
  priority      = 1000
  source_ranges = ["130.211.0.0/22", "35.191.0.0/16"]
  target_tags   = ["allow-health-check"]
  allow {
    ports    = ["80"]
    protocol = "tcp"
  }
}

Untuk mempelajari cara menerapkan atau menghapus konfigurasi Terraform, lihat Perintah dasar Terraform.

Mencadangkan alamat IP eksternal

Setelah instance Anda aktif dan berjalan, siapkan alamat IP eksternal statis global yang digunakan pelanggan untuk menjangkau load balancer Anda.

Konsol

  1. Di konsol Google Cloud, buka halaman External IP addresses.

    Buka External IP addresses

  2. Untuk mencadangkan alamat IPv4, klik Reserve external static IP address.

  3. Untuk Name, masukkan lb-ipv4-1.

  4. Tetapkan Tingkat Layanan Jaringan ke Premium.

  5. Setel IP version ke IPv4.

  6. Setel Type ke Global.

  7. Klik Reserve.

gcloud

gcloud compute addresses create lb-ipv4-1 \
    --ip-version=IPV4 \
    --network-tier=PREMIUM \
    --global

Perhatikan alamat IPv4 yang dicadangkan:

gcloud compute addresses describe lb-ipv4-1 \
    --format="get(address)" \
    --global

Terraform

Untuk mencadangkan alamat IP, gunakan resource google_compute_global_address.

resource "google_compute_global_address" "default" {
  name       = "lb-ipv4-1"
  ip_version = "IPV4"
}

Untuk mempelajari cara menerapkan atau menghapus konfigurasi Terraform, lihat Perintah dasar Terraform.

Menyiapkan load balancer

Dalam contoh ini, Anda menggunakan HTTPS (frontend) antara klien dan load balancer. Untuk HTTPS, Anda memerlukan satu atau beberapa resource sertifikat SSL untuk mengonfigurasi proxy. Sebaiknya gunakan sertifikat yang dikelola Google.

Meskipun menggunakan HTTPS di frontend, Anda dapat menggunakan HTTP di backend. Google secara otomatis mengenkripsi traffic antara Google Front Ends (GFE) dan backend Anda yang berada dalam jaringan VPC Google Cloud.

Konsol

Memulai konfigurasi Anda

  1. Di Konsol Google Cloud, buka halaman Load balancing.

    Buka Load balancing

  2. Klik Create load balancer.
  3. Untuk Type of load balancer, pilih Application Load Balancer (HTTP/HTTPS) lalu klik Next.
  4. Untuk Public facing or internal, pilih Public facing (eksternal), lalu klik Next.
  5. Untuk Global or single region deployment, pilih Best for global Workload, lalu klik Next.
  6. Untuk Load balancer generasi, pilih classic Application Load Balancer dan klik Next.
  7. Klik Konfigurasikan.

Konfigurasi dasar

Untuk Name load balancer, masukkan misalnya web-map-https atau web-map-http.

Konfigurasi frontend

  1. Klik Frontend configuration.
  2. Tetapkan Protokol ke HTTPS.
  3. Tetapkan IP address ke lb-ipv4-1, yang Anda buat sebelumnya.
  4. Tetapkan Port ke 443.
  5. Klik Certificate, lalu pilih sertifikat SSL utama Anda.
  6. Opsional: Buat kebijakan SSL:
    1. Dalam daftar SSL policy, pilih Create a policy.
    2. Setel nama kebijakan SSL ke my-ssl-policy.
    3. Untuk Versi TLS Minimum, pilih TLS 1.0.
    4. Untuk Profil, pilih Modern. Fitur yang diaktifkan dan Fitur yang dinonaktifkan akan ditampilkan.
    5. Klik Save.
    Jika Anda belum membuat kebijakan SSL apa pun, kebijakan SSL GCP default akan diterapkan.
  7. Opsional: Pilih kotak centang Aktifkan Pengalihan HTTP ke HTTPS untuk mengaktifkan pengalihan.

    Jika kotak ini dicentang, load balancer HTTP sebagian tambahan akan menggunakan alamat IP yang sama dengan load balancer HTTPS dan akan mengalihkan permintaan HTTP yang masuk ke frontend HTTPS load balancer.

    Kotak centang ini hanya dapat dipilih jika protokol HTTPS dipilih dan alamat IP yang dicadangkan digunakan.

  8. Klik Done.

Konfigurasi backend

  1. Klik Backend configuration.
  2. Di bagian Create or select backend services & backend buckets, pilih Backend services > Create a backend service.
  3. Tambahkan nama untuk layanan backend Anda, seperti web-backend-service.
  4. Di bagian Protocol, pilih HTTP.
  5. Untuk Port Bernama, masukkan http.
  6. Di Backends > New backend > Instance group, pilih grup instance Anda, lb-backend-example.
  7. Untuk Nomor port, masukkan 80.
  8. Pertahankan setelan default lainnya.
  9. Di bagian Health check, pilih Create a health check, lalu tambahkan nama untuk health check Anda, misalnya http-basic-check.
  10. Setel protokol ke HTTP, lalu klik Save.
  11. Opsional: Konfigurasikan kebijakan keamanan backend default. Kebijakan keamanan default membatasi traffic pada nilai minimum yang dikonfigurasi pengguna. Untuk informasi selengkapnya tentang kebijakan keamanan default, lihat Ringkasan pembatasan kapasitas.

    1. Untuk memilih tidak mengikuti kebijakan keamanan default Google Cloud Armor, pilih None di menu daftar kebijakan keamanan backend.
    2. Di bagian Keamanan, pilih Kebijakan keamanan default.
    3. Di kolom Nama kebijakan, setujui nama yang dibuat otomatis atau masukkan nama untuk kebijakan keamanan Anda.
    4. Di kolom Request count, terima jumlah permintaan default atau masukkan bilangan bulat antara 1 dan 10,000.
    5. Di kolom Interval, pilih interval.
    6. Di kolom Enforce on key, pilih salah satu nilai berikut: All, IP address, atau X-Forwarded-For IP address. Untuk informasi selengkapnya tentang opsi ini, lihat Mengidentifikasi klien untuk pembatasan kapasitas.
  12. Pilih Aktifkan Cloud CDN.
  13. Opsional: Ubah setelan mode cache dan TTL.
  14. Pertahankan setelan default lainnya.
  15. Klik Create.

Aturan host dan jalur

Untuk Aturan host dan jalur, pertahankan setelan default.

Tinjau dan selesaikan

  1. Klik Review and finalize.
  2. Tinjau setelan konfigurasi load balancer Anda.
  3. Opsional: Klik Equivalent code untuk melihat permintaan REST API yang akan digunakan untuk membuat load balancer.
  4. Klik Create.

Tunggu load balancer dibuat.

Jika membuat load balancer HTTPS dan mencentang kotak Aktifkan HTTP ke Pengalihan HTTPS, Anda juga akan melihat load balancer HTTP yang dibuat dengan akhiran -redirect.

  1. Klik nama load balancer.
  2. Di layar Load balancer details, catat IP:Port untuk load balancer Anda.

gcloud

  1. Membuat health check.
     gcloud compute health-checks create http http-basic-check \
         --port 80
     
  2. Buat layanan backend.
    gcloud compute backend-services create web-backend-service \
        --load-balancing-scheme=EXTERNAL \
        --protocol=HTTP \
        --port-name=http \
        --health-checks=http-basic-check \
        --global
    
  3. Tambahkan grup instance sebagai backend ke layanan backend.
    gcloud compute backend-services add-backend web-backend-service \
      --instance-group=lb-backend-example \
      --instance-group-zone=us-east1-b \
      --global
    
  4. Untuk HTTP, buat peta URL guna mengarahkan permintaan masuk ke layanan backend default.
    gcloud compute url-maps create web-map-http \
      --default-service web-backend-service
    
  5. Untuk HTTPS, buat peta URL guna mengarahkan permintaan masuk ke layanan backend default.
    gcloud compute url-maps create web-map-https \
      --default-service web-backend-service
    

Menyiapkan frontend HTTPS

Lewati bagian ini untuk load balancer HTTP.

  1. Untuk HTTPS, jika Anda belum melakukannya, buat resource sertifikat SSL global, seperti yang ditunjukkan di:
  2. Untuk HTTPS, buat proxy HTTPS target untuk merutekan permintaan ke peta URL Anda. Proxy adalah bagian dari load balancer yang menyimpan sertifikat SSL untuk load balancer HTTPS, sehingga Anda juga memuat sertifikat pada langkah ini.

    gcloud compute target-https-proxies create https-lb-proxy \
      --url-map=web-map-https \
      --ssl-certificates=www-ssl-cert
    
  3. Untuk HTTPS, buat aturan penerusan global untuk mengarahkan permintaan masuk ke proxy.
    gcloud compute forwarding-rules create https-content-rule \
      --load-balancing-scheme=EXTERNAL \
      --network-tier=PREMIUM \
      --address=lb-ipv4-1 \
      --global \
      --target-https-proxy=https-lb-proxy \
      --ports=443
    
  4. Opsional: Untuk HTTPS, buat kebijakan SSL global dan lampirkan ke proxy HTTPS.
    Untuk membuat kebijakan SSL global:
    gcloud compute ssl-policies create my-ssl-policy \
      --profile MODERN \
      --min-tls-version 1.0
    
    Untuk memasang kebijakan SSL ke proxy HTTPS target global:
    gcloud compute target-https-proxies update https-lb-proxy \
      --ssl-policy my-ssl-policy
    

Menyiapkan frontend HTTP

Lewati bagian ini untuk load balancer HTTPS.

  1. Untuk HTTP, buat proxy HTTP target untuk merutekan permintaan ke peta URL Anda.
    gcloud compute target-http-proxies create http-lb-proxy \
      --url-map=web-map-http
    
  2. Untuk HTTP, buat aturan penerusan global untuk mengarahkan permintaan masuk ke proxy.
    gcloud compute forwarding-rules create http-content-rule \
      --load-balancing-scheme=EXTERNAL \
      --address=lb-ipv4-1 \
      --global \
      --target-http-proxy=http-lb-proxy \
      --ports=80
    

Terraform

  1. Untuk membuat health check, gunakan resource google_compute_health_check.

    resource "google_compute_health_check" "default" {
      name               = "http-basic-check"
      check_interval_sec = 5
      healthy_threshold  = 2
      http_health_check {
        port               = 80
        port_specification = "USE_FIXED_PORT"
        proxy_header       = "NONE"
        request_path       = "/"
      }
      timeout_sec         = 5
      unhealthy_threshold = 2
    }
  2. Untuk membuat layanan backend, gunakan resource google_compute_backend_service.

    Contoh ini menggunakan load_balancing_scheme="EXTERNAL_MANAGED", yang menyiapkan Load Balancer Aplikasi eksternal global dengan kemampuan pengelolaan traffic lanjutan. Untuk membuat Load Balancer Aplikasi klasik, pastikan Anda mengubah load_balancing_scheme menjadi EXTERNAL sebelum menjalankan skrip.

    resource "google_compute_backend_service" "default" {
      name                            = "web-backend-service"
      connection_draining_timeout_sec = 0
      health_checks                   = [google_compute_health_check.default.id]
      load_balancing_scheme           = "EXTERNAL_MANAGED"
      port_name                       = "http"
      protocol                        = "HTTP"
      session_affinity                = "NONE"
      timeout_sec                     = 30
      backend {
        group           = google_compute_instance_group_manager.default.instance_group
        balancing_mode  = "UTILIZATION"
        capacity_scaler = 1.0
      }
    }
  3. Untuk membuat peta URL, gunakan resource google_compute_url_map.

    resource "google_compute_url_map" "default" {
      name            = "web-map-http"
      default_service = google_compute_backend_service.default.id
    }
  4. Untuk membuat proxy HTTP target, gunakan resource google_compute_target_http_proxy.

    resource "google_compute_target_http_proxy" "default" {
      name    = "http-lb-proxy"
      url_map = google_compute_url_map.default.id
    }
  5. Untuk membuat aturan penerusan, gunakan resource google_compute_global_forwarding_rule.

    Contoh ini menggunakan load_balancing_scheme="EXTERNAL_MANAGED", yang menyiapkan Load Balancer Aplikasi eksternal global dengan kemampuan pengelolaan traffic lanjutan. Untuk membuat Load Balancer Aplikasi klasik, pastikan Anda mengubah load_balancing_scheme menjadi EXTERNAL sebelum menjalankan skrip.

    resource "google_compute_global_forwarding_rule" "default" {
      name                  = "http-content-rule"
      ip_protocol           = "TCP"
      load_balancing_scheme = "EXTERNAL_MANAGED"
      port_range            = "80-80"
      target                = google_compute_target_http_proxy.default.id
      ip_address            = google_compute_global_address.default.id
    }

Untuk mempelajari cara menerapkan atau menghapus konfigurasi Terraform, lihat Perintah dasar Terraform.

Enable Cloud CDN

Jika Anda belum mengaktifkan Cloud CDN saat membuat layanan backend, Anda dapat melakukannya sekarang dengan mengupdate layanan backend.

gcloud compute backend-services update web-backend-service \
    --enable-cdn \
    --cache-mode=CACHE_MODE

Tetapkan mode cache dengan mengganti CACHE_MODE dengan salah satu opsi berikut:

  • CACHE_All_STATIC: Meng-cache konten statis secara otomatis.

  • USE_ORIGIN_HEADERS (default): Mewajibkan origin menetapkan header caching yang valid untuk menyimpan konten dalam cache.

  • FORCE_CACHE_ALL: Menyimpan semua konten dalam cache, dengan mengabaikan perintah private, no-store, atau no-cache dalam header respons Cache-Control.

Menghubungkan domain ke load balancer

Setelah load balancer dibuat, catat alamat IP yang terkait dengan load balancer, misalnya, 30.90.80.100. Untuk mengarahkan domain ke load balancer, buat data A menggunakan layanan pendaftaran domain. Jika Anda menambahkan beberapa domain ke sertifikat SSL, Anda harus menambahkan data A untuk setiap domain, yang semuanya mengarah ke alamat IP load balancer. Misalnya, untuk membuat data A bagi www.example.com dan example.com, gunakan string berikut:

NAME                  TYPE     DATA
www                   A        30.90.80.100
@                     A        30.90.80.100

Jika Anda menggunakan Cloud DNS sebagai penyedia DNS, lihat Menambahkan, mengubah, dan menghapus data.

Traffic pengujian yang dikirim ke instance Anda

Setelah layanan load balancing berjalan, Anda dapat mengirim traffic ke aturan penerusan dan melihat traffic tersebar ke berbagai instance.

Konsol

  1. Di konsol Google Cloud, buka halaman Load balancing.

    Buka Load balancing

  2. Klik load balancer yang baru saja dibuat.
  3. Di bagian Backend, pastikan bahwa VM responsif. Kolom Healthy akan diisi, yang menunjukkan bahwa kedua VM sehat (2/2). Jika Anda melihat sebaliknya, coba muat ulang halaman terlebih dahulu. Perlu waktu beberapa saat bagi Google Cloud Console untuk menunjukkan bahwa VM responsif. Jika backend terlihat tidak responsif setelah beberapa menit, tinjau konfigurasi firewall dan tag jaringan yang ditetapkan ke VM backend Anda.
  4. Untuk HTTPS, jika Anda menggunakan sertifikat yang dikelola Google, konfirmasikan bahwa status resource sertifikat Anda AKTIF. Untuk informasi selengkapnya, lihat Status resource sertifikat SSL yang dikelola Google.
  5. Setelah konsol Google Cloud menunjukkan bahwa backend instance responsif, Anda dapat menguji load balancer menggunakan browser web dengan membuka https://IP_ADDRESS (atau http://IP_ADDRESS). Ganti IP_ADDRESS dengan alamat IP load balancer.
  6. Jika Anda menggunakan sertifikat yang ditandatangani sendiri untuk menguji HTTPS, browser akan menampilkan peringatan. Anda harus secara eksplisit memerintahkan browser untuk menerima sertifikat yang ditandatangani sendiri.
  7. Browser akan merender halaman dengan konten yang menampilkan nama instance yang menampilkan halaman tersebut, beserta zonanya (misalnya, Page served from: lb-backend-example-xxxx). Jika browser tidak merender halaman ini, tinjau setelan konfigurasi dalam panduan ini.

gcloud

gcloud compute addresses describe lb-ipv4-1 \
   --format="get(address)" \
   --global

Setelah beberapa menit, Anda dapat menguji penyiapan dengan menjalankan perintah curl berikut.

curl http://IP_ADDRESS

-ATAU-

curl https://HOSTNAME

Nonaktifkan Cloud CDN

Konsol

Menonaktifkan Cloud CDN untuk layanan backend tunggal

  1. Di konsol Google Cloud, buka halaman Cloud CDN.

    Buka Cloud CDN

  2. Di sisi kanan baris origin, klik Menu lalu pilih Edit.

  3. Kosongkan kotak centang untuk layanan backend yang ingin Anda hentikan penggunaan Cloud CDN.

  4. Klik Perbarui.

Menghapus Cloud CDN untuk semua layanan backend untuk asal

  1. Di konsol Google Cloud, buka halaman Cloud CDN.

    Buka Cloud CDN

  2. Di sisi kanan baris asal, klik Menu lalu pilih Remove.

  3. Untuk mengonfirmasi, klik Hapus.

gcloud

gcloud compute backend-services update BACKEND_SERVICE_NAME \
    --no-enable-cdn

Menonaktifkan Cloud CDN tidak akan membatalkan validasi atau menghapus cache. Jika Anda menonaktifkan lalu mengaktifkan kembali Cloud CDN, sebagian besar atau semua konten yang disimpan dalam cache mungkin masih disimpan dalam cache. Untuk mencegah konten ditayangkan dari cache, Anda harus membatalkan validasi konten tersebut.

Langkah selanjutnya

  • Untuk mempelajari konten apa saja yang di-cache, lihat Ringkasan cache.
  • Untuk menggunakan Cloud CDN di GKE, lihat Fitur masuk.
  • Untuk memeriksa apakah Cloud CDN menayangkan respons dari cache, lihat Melihat log.
  • Untuk menemukan informasi tentang masalah umum dan solusinya, lihat Pemecahan masalah.
  • Untuk mempelajari cara kerja Cloud CDN, lihat ringkasan Cloud CDN.