Halaman ini mengilustrasikan cara men-deploy Load Balancer Aplikasi eksternal global untuk melakukan load balancing traffic ke endpoint jaringan yang berada di lokal atau di cloud publik lainnya dan dapat dijangkau melalui konektivitas hybrid.
Setelah menyelesaikan tugas ini, Anda dapat secara opsional mempelajari cara mengaktifkan layanan tambahan (seperti Cloud CDN dan Google Cloud Armor) serta fitur pengelolaan traffic lanjutan.
Jika Anda belum melakukannya, tinjau Ringkasan NEG konektivitas hybrid untuk memahami persyaratan jaringan guna menyiapkan load balancing hybrid.
Ringkasan penyiapan
Contoh di halaman ini menyiapkan contoh deployment berikut:
Anda harus mengonfigurasi konektivitas hybrid sebelum mencoba menyiapkan deployment load balancing hybrid. Dokumen ini tidak menyertakan penyiapan konektivitas hibrid.
Bergantung pada pilihan produk konektivitas hybrid Anda (baik Cloud VPN atau Cloud Interconnect (Dedicated atau Partner)), gunakan dokumentasi produk yang relevan untuk mengonfigurasinya.
Izin
Untuk menyiapkan load balancing hybrid, Anda harus memiliki izin berikut:
Di Google Cloud
- Izin untuk membuat konektivitas hybrid antara Google Cloud dan lingkungan lokal Anda atau lingkungan cloud lainnya. Untuk daftar izin yang diperlukan, lihat dokumentasi produk Network Connectivity yang relevan.
- Izin untuk membuat NEG konektivitas hybrid dan load balancer.
Peran Admin Load Balancer Compute
(
roles/compute.loadBalancerAdmin
) berisi izin yang diperlukan untuk melakukan tugas yang dijelaskan dalam panduan ini.
Di lingkungan lokal atau lingkungan cloud non-Google Cloud lainnya
- Izin untuk mengonfigurasi endpoint jaringan yang memungkinkan layanan di lingkungan lokal atau lingkungan cloud lainnya dapat dijangkau dari Google Cloud menggunakan kombinasi
IP:Port
. Untuk informasi selengkapnya, hubungi administrator jaringan lingkungan Anda. - Izin untuk membuat aturan firewall di lingkungan lokal atau lingkungan cloud lainnya agar pemeriksaan health check Google dapat menjangkau endpoint.
- Izin untuk mengonfigurasi endpoint jaringan yang memungkinkan layanan di lingkungan lokal atau lingkungan cloud lainnya dapat dijangkau dari Google Cloud menggunakan kombinasi
Selain itu, untuk menyelesaikan petunjuk di halaman ini, Anda perlu membuat NEG konektivitas hybrid, load balancer, dan NEG zona (serta endpoint-nya) untuk berfungsi sebagai backend berbasis Google Cloud untuk load balancer.
Anda harus menjadi Pemilik atau Editor project, atau memiliki peran IAM Compute Engine berikut.
Tugas | Peran yang diperlukan |
---|---|
Membuat komponen jaringan, subnet, dan load balancer | Compute Network Admin
(roles/compute.networkAdmin ) |
Menambahkan dan menghapus aturan firewall | Compute Security Admin
(roles/compute.securityAdmin ) |
Membuat instance | Compute Instance Admin
(roles/compute.instanceAdmin ) |
Membuat konektivitas hybrid
Lingkungan Google Cloud dan lokal Anda atau lingkungan cloud lainnya harus terhubung melalui konektivitas hybrid menggunakan lampiran VLAN Cloud Interconnect atau tunnel Cloud VPN dengan Cloud Router. Sebaiknya gunakan koneksi dengan ketersediaan tinggi.
Cloud Router yang diaktifkan dengan perutean dinamis global mempelajari endpoint tertentu melalui Border Gateway Protocol (BGP) dan memprogramnya ke dalam jaringan VPC Google Cloud Anda. Pemilihan rute dinamis regional tidak didukung. Rute statis juga tidak didukung.
Jaringan VPC yang Anda gunakan untuk mengonfigurasi Cloud Interconnect atau Cloud VPN adalah jaringan yang sama dengan yang Anda gunakan untuk mengonfigurasi deployment load balancing hybrid. Pastikan rentang CIDR subnet jaringan VPC Anda tidak bertentangan dengan rentang CIDR jarak jauh. Jika alamat IP tumpang-tindih, rute subnet akan diprioritaskan daripada konektivitas jarak jauh.
Untuk mengetahui petunjuknya, lihat dokumentasi berikut:
Menyiapkan lingkungan Anda yang berada di luar Google Cloud
Lakukan langkah-langkah berikut untuk menyiapkan lingkungan lokal atau lingkungan cloud lainnya untuk load balancing campuran:
- Konfigurasikan endpoint jaringan untuk mengekspos layanan on-premise ke
Google Cloud (
IP:Port
). - Konfigurasikan aturan firewall di lingkungan lokal atau lingkungan cloud lainnya.
- Konfigurasikan Cloud Router untuk mengiklankan rute tertentu yang diperlukan ke lingkungan pribadi Anda.
Menyiapkan endpoint jaringan
Setelah menyiapkan konektivitas hybrid, Anda akan mengonfigurasi satu atau beberapa endpoint jaringan dalam lingkungan lokal atau lingkungan cloud lainnya yang dapat dijangkau melalui Cloud Interconnect atau Cloud VPN menggunakan kombinasi IP:port
. Kombinasi IP:port
ini dikonfigurasi sebagai satu atau beberapa endpoint untuk NEG konektivitas campuran yang dibuat di Google Cloud nanti dalam proses ini.
Jika ada beberapa jalur ke endpoint IP, pemilihan rute akan mengikuti perilaku yang dijelaskan dalam ringkasan Cloud Router.
Menyiapkan aturan firewall
Aturan firewall berikut harus dibuat di lingkungan lokal atau lingkungan cloud lainnya:
Buat aturan firewall izinkan masuk untuk mengizinkan traffic dari pemeriksaan health check Google ke endpoint Anda. Rentang alamat IP sumber yang diizinkan adalah
35.191.0.0/16
dan130.211.0.0/22
. Untuk mengetahui informasi selengkapnya, lihat Memeriksa aturan firewall dan rentang IP.
Beri tahu rute
Konfigurasikan Cloud Router untuk mengumumkan rentang IP kustom berikut ke lingkungan lokal atau lingkungan cloud lainnya:
- Rentang yang digunakan oleh pemeriksaan health check Google:
35.191.0.0/16
dan130.211.0.0/22
.
Menyiapkan lingkungan Google Cloud
Untuk langkah-langkah berikut, pastikan Anda menggunakan jaringan VPC yang sama (disebut NETWORK dalam prosedur ini) yang digunakan untuk mengonfigurasi konektivitas hybrid di antara lingkungan.
Membuat subnet untuk backend
Subnet ini digunakan untuk membuat backend NEG zonal load balancer, frontend, dan alamat IP internal.
Buat subnet ini di jaringan NETWORK yang digunakan untuk mengonfigurasi konektivitas hybrid antara lingkungan.
Konsol
Untuk mendukung traffic IPv4 dan IPv6, gunakan langkah-langkah berikut:
Di konsol Google Cloud, buka halaman jaringan VPC.
Buka jaringan yang digunakan untuk mengonfigurasi konektivitas hybrid di antara lingkungan.
- Klik Edit.
- Untuk Subnet creation mode, pilih Custom.
- Klik Simpan.
Opsional: Jika Anda ingin mengonfigurasi rentang alamat IPv6 internal pada subnet di jaringan ini, selesaikan langkah-langkah berikut:
- Untuk VPC network ULA internal IPv6 range, pilih Enabled.
Untuk Allocate internal IPv6 range, Pilih Automatically atau Manually.
Jika Anda memilih Manually, masukkan rentang
/48
dari dalam rentangfd20::/20
. Jika rentang tersebut sedang digunakan, Anda akan diminta untuk memberikan rentang yang berbeda.
Di tab Subnets, klik Add subnet.
Di panel Tambahkan subnet, konfigurasikan kolom berikut:
- Di kolom Name, berikan nama untuk subnet.
- Di kolom Region, pilih region.
- Di kolom IP address range, masukkan rentang alamat IP.
- Untuk IP stack type, pilih IPv4 and IPv6 (dual-stack).
- Untuk kolom IPv6 access type, pilih External.
- Klik Tambahkan.
Untuk mendukung traffic IPv4, gunakan langkah-langkah berikut:
Di konsol Google Cloud, buka halaman jaringan VPC.
Buka jaringan yang digunakan untuk mengonfigurasi konektivitas hybrid di antara lingkungan.
- Klik Edit.
- Untuk Subnet creation mode, pilih Custom.
- Klik Simpan.
Di tab Subnets, klik Add subnet.
Di panel Tambahkan subnet, masukkan informasi berikut:
- Di kolom Name, berikan nama untuk subnet.
- Di kolom Region, pilih region.
- Di kolom IP address range, masukkan rentang alamat IP.
- Untuk kolom IP stack type, pilih IPv4 (single-stack).
- Klik Tambahkan.
gcloud
Buat subnet di jaringan NETWORK yang digunakan untuk mengonfigurasi konektivitas hybrid antara lingkungan.
Untuk traffic IPv4 dan IPv6, gunakan perintah berikut:
gcloud compute networks update NETWORK \ [ --enable-ula-internal-ipv6 [ --internal-ipv6-range=ULA_IPV6_RANGE ]] \ --switch-to-custom-subnet-mode
gcloud compute networks subnets create LB_SUBNET_NAME \ --network=NETWORK \ --range=LB_SUBNET_RANGE \ --region=REGION \ --stack-type=IPV4_IPV6 \ --ipv6-access-type=EXTERNAL
Untuk traffic IPv4, gunakan perintah berikut:
gcloud compute networks subnets create LB_SUBNET_NAME \ --network=NETWORK \ --range=LB_SUBNET_RANGE \ --region=REGION
Ganti kode berikut:
NETWORK
: nama untuk jaringan VPC.LB_SUBNET_NAME
: nama untuk subnet.REGION
: nama region.ULA_IPV6_RANGE
: awalan/48
dari dalam rentangfd20::/20
yang digunakan oleh Google untuk rentang subnet IPv6 internal. Jika Anda tidak menggunakan flag--internal-ipv6-range
, Google akan memilih awalan/48
untuk jaringan tersebut.
Buat aturan firewall
Dalam contoh ini, Anda membuat aturan firewall berikut:
fw-allow-health-check
: Aturan ingress, yang berlaku untuk instance Google Cloud yang di-load balance, yang mengizinkan traffic dari load balancer dan sistem health check Google Cloud (130.211.0.0/22
dan35.191.0.0/16
). Contoh ini menggunakan tag targetallow-health-check
untuk mengidentifikasi VM backend yang harus diterapkan dengan tag tersebut.
Konsol
Di Konsol Google Cloud, buka halaman Firewall policies.
Klik Create firewall rule:
- Masukkan Nama
fw-allow-health-check
. - Di bagian Network, pilih
NETWORK
. - Di bagian Target, pilih Tag target yang ditentukan.
- Isi kolom Target tags dengan
allow-health-check
. - Tetapkan Source filter ke IPv4 ranges.
- Tetapkan Source IPv4 ranges ke
130.211.0.0/22
dan35.191.0.0/16
. - Di bagian Protocols and ports, pilih Specified protocols and ports.
- Centang kotak di samping TCP dan ketik
80
untuk nomor port.
- Masukkan Nama
Klik Create.
Untuk mengizinkan traffic subnet IPv6, klik Create firewall rule lagi dan masukkan informasi berikut:
- Nama:
fw-allow-lb-access-ipv6
- Jaringan:
NETWORK
- Prioritas:
1000
- Direction of traffic: ingress
- Targets: Tag target yang ditentukan
- Kolom Target tags, masukkan
allow-health-check-ipv6
- Filter sumber: Rentang IPv6
- Rentang IPv6 sumber:
2600:2d00:1:b029::/64
,2600:2d00:1:1::/64
- Protocols and ports: Allow all
- Nama:
Klik Create.
gcloud
Buat aturan
fw-allow-health-check-and-proxy
untuk mengizinkan load balancer dan health check Google Cloud berkomunikasi dengan instance backend di port TCP80
.Ganti NETWORK dengan nama jaringan VPC yang digunakan untuk mengonfigurasi konektivitas hybrid.
gcloud compute firewall-rules create fw-allow-health-check \ --network=NETWORK \ --action=allow \ --direction=ingress \ --target-tags=allow-health-check \ --source-ranges=130.211.0.0/22,35.191.0.0/16 \ --rules=tcp:80
Buat aturan
fw-allow-health-check-ipv6
untuk mengizinkan health check IPv6 Google Cloud.gcloud compute firewall-rules create fw-allow-health-check-ipv6 \ --network=NETWORK \ --action=allow \ --direction=ingress \ --target-tags=allow-health-check-ipv6 \ --source-ranges=2600:2d00:1:b029::/64,2600:2d00:1:1::/64 \ --rules=tcp,udp,icmp
Menyiapkan NEG zona
Untuk backend berbasis Google Cloud, sebaiknya konfigurasikan beberapa NEG zonaonal di region yang sama dengan tempat Anda mengonfigurasi konektivitas hibrida.
NEG zona dengan satu atau beberapa endpoint jenisGCE_VM_IP_PORT
mendukung dual-stack.
Untuk contoh ini, kita menyiapkan NEG zonal (dengan endpoint jenis GCE_VM_IP_PORT
)
di region REGION. Pertama, buat VM di zona GCP_NEG_ZONE. Kemudian,
buat NEG zona di GCP_NEG_ZONE yang sama dan
tambahkan endpoint jaringan VM ke NEG.
Membuat VM
Konsol
Buka halaman VM instances di konsol Google Cloud.
Buka instance VMKlik Create instance.
Tetapkan Name ke
vm-a1
.Untuk Region, pilih REGION.
Untuk Zone, pilih GCP_NEG_ZONE.
Di bagian Boot disk, pastikan Debian GNU/Linux 12 (bookworm) dipilih untuk opsi boot disk. Klik Pilih untuk mengubah gambar jika perlu.
Klik Advanced options, lalu buat perubahan berikut:
- Klik Networking dan tambahkan Network tags berikut:
allow-health-check
. - Klik Edit
- Jaringan: NETWORK
- Subnet: LB_SUBNET_NAME
- IP stack type: IPv4 and IPv6 (dual-stack)
di bagian
Network interfaces, lalu buat perubahan berikut, lalu klik
Done:
Klik Management. Di kolom Startup script, salin dan tempel konten skrip berikut. Isi skrip identik untuk empat VM:
#! /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
- Klik Networking dan tambahkan Network tags berikut:
Klik Create.
Ulangi langkah-langkah berikut untuk membuat VM kedua, menggunakan kombinasi nama dan zona berikut:
- Nama:
vm-a2
, zona: GCP_NEG_ZONE
- Nama:
gcloud
Buat VM dengan menjalankan perintah berikut dua kali, menggunakan kombinasi ini untuk nama VM dan zonanya. Konten skrip identik untuk kedua VM.
- VM_NAME dari
vm-a1
dan zona GCP_NEG_ZONE mana pun pilihan Anda VM_NAME dari
vm-a2
dan zona GCP_NEG_ZONE yang samaUntuk mendukung traffic IPv4 dan IPv6, jalankan perintah berikut:
gcloud compute instances create VM_NAME \ --zone=GCP_NEG_ZONE \ --image-family=debian-10 \ --image-project=debian-cloud \ --tags=allow-health-check,allow-health-check-ipv6 \ --ipv6-network-tier=PREMIUM \ --stack-type=IPv4_IPv6 \ --subnet=LB_SUBNET_NAME \ --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'
Membuat NEG zona
Konsol
Untuk membuat grup endpoint jaringan zonal:
- Buka halaman Network Endpoint Groups di konsol Google Cloud.
Buka halaman Network Endpoint Groups - Klik Create network endpoint group.
- Masukkan Nama untuk NEG zonal. Disebut sebagai GCP_NEG_NAME dalam prosedur ini.
- Pilih Network endpoint group type: Network endpoint group (Zonal).
- Pilih Network: NETWORK
- Pilih Subnet: LB_SUBNET_NAME
- Pilih Zona: GCP_NEG_ZONE
- Masukkan Port default:
80
. - Klik Create.
Tambahkan endpoint ke NEG zona:
- Buka halaman Network Endpoint Groups di konsol Google Cloud.
Buka Network endpoint groups - Klik Nama grup endpoint jaringan yang dibuat di langkah sebelumnya (GCP_NEG_NAME). Anda akan melihat halaman Detail grup endpoint jaringan.
- Di bagian Endpoint jaringan dalam grup ini, klik Tambahkan endpoint jaringan. Anda akan melihat halaman Tambahkan endpoint jaringan.
- Pilih instance VM untuk menambahkan alamat IP internalnya sebagai endpoint jaringan. Di bagian Network interface, nama, zona, dan subnet VM akan ditampilkan.
- Di kolom IPv4 address, masukkan alamat IPv4 endpoint jaringan baru.
- Di kolom IPv6 address, masukkan alamat IPv6 endpoint jaringan baru.
- Pilih Jenis port.
- Jika Anda memilih Default, endpoint akan menggunakan port default
80
untuk semua endpoint dalam grup endpoint jaringan. Hal ini cukup untuk contoh kita karena server Apache melayani permintaan di port80
. - Jika Anda memilih Kustom, masukkan Nomor port untuk endpoint yang akan digunakan.
- Jika Anda memilih Default, endpoint akan menggunakan port default
- Untuk menambahkan endpoint lainnya, klik Add network endpoint dan ulangi langkah-langkah sebelumnya.
- Setelah Anda menambahkan semua endpoint, klik Buat.
gcloud
Buat NEG zonal (dengan endpoint
GCE_VM_IP_PORT
) menggunakan perintahgcloud compute network-endpoint-groups create
:gcloud compute network-endpoint-groups create GCP_NEG_NAME \ --network-endpoint-type=GCE_VM_IP_PORT \ --zone=GCP_NEG_ZONE \ --network=NETWORK \ --subnet=LB_SUBNET_NAME
Anda dapat menentukan
--default-port
saat membuat NEG, atau menentukan nomor port untuk setiap endpoint seperti yang ditunjukkan pada langkah berikutnya.Tambahkan endpoint stack ganda ke GCP_NEG_NAME.
gcloud compute network-endpoint-groups update GCP_NEG_NAME \ --zone=GCP_NEG_ZONE \ --add-endpoint='instance=vm-a1,ip=IPv4_ADDRESS, \ ipv6=IPv6_ADDRESS,port=80' \ --add-endpoint='instance=vm-a2,ip=IPv4_ADDRESS, \ ipv6=IPv6_ADDRESS,port=80'
Menyiapkan NEG konektivitas hybrid
Saat membuat NEG, gunakan ZONE yang meminimalkan jarak geografis
antara Google Cloud dan lingkungan cloud lokal atau lingkungan cloud
lainnya. Misalnya, jika Anda menghosting layanan di lingkungan lokal di Frankfurt, Jerman, Anda dapat menentukan zona Google Cloud europe-west3-a
saat membuat NEG.
Selain itu, jika Anda menggunakan Cloud Interconnect, ZONE yang digunakan untuk membuat NEG harus berada di region yang sama dengan tempat lampiran VLAN Cloud Interconnect konektivitas hybrid dikonfigurasi.
Untuk mengetahui region dan zona yang tersedia, lihat dokumentasi Compute Engine: Region dan zona yang tersedia.
Konsol
Untuk membuat grup endpoint jaringan konektivitas hybrid:
- Buka halaman Network Endpoint Groups di konsol Google Cloud.
Buka Network endpoint groups - Klik Create network endpoint group.
- Masukkan Nama untuk NEG campuran. Disebut sebagai ON_PREM_NEG_NAME dalam prosedur ini.
- Pilih Network endpoint group type: Hybrid connectivity network endpoint group (Zonal).
- Pilih Jaringan: NETWORK
- Pilih Subnet: LB_SUBNET_NAME
- Pilih Zona: ON_PREM_NEG_ZONE
- Masukkan Port default.
- Klik Buat
Tambahkan endpoint ke NEG konektivitas hybrid:
- Buka halaman Network Endpoint Groups di konsol Google Cloud.
Buka halaman Network Endpoint Groups - Klik Nama grup endpoint jaringan yang dibuat di langkah sebelumnya (ON_PREM_NEG_NAME). Anda akan melihat halaman Detail grup endpoint jaringan.
- Di bagian Endpoint jaringan dalam grup ini, klik Tambahkan endpoint jaringan. Anda akan melihat halaman Tambahkan endpoint jaringan.
- Masukkan alamat IP endpoint jaringan baru.
- Pilih Jenis port.
- Jika Anda memilih Default, endpoint akan menggunakan port default untuk semua endpoint dalam grup endpoint jaringan.
- Jika memilih Kustom, Anda dapat memasukkan Nomor port yang berbeda untuk digunakan endpoint.
- Untuk menambahkan endpoint lainnya, klik Add network endpoint dan ulangi langkah-langkah sebelumnya.
- Setelah Anda menambahkan semua endpoint non-Google Cloud, klik Buat.
gcloud
Buat NEG konektivitas campuran menggunakan perintah
gcloud compute network-endpoint-groups create
.gcloud compute network-endpoint-groups create ON_PREM_NEG_NAME \ --network-endpoint-type=NON_GCP_PRIVATE_IP_PORT \ --zone=ON_PREM_NEG_ZONE \ --network=NETWORK
Tambahkan endpoint ke
on-prem-neg
:gcloud compute network-endpoint-groups update ON_PREM_NEG_NAME \ --zone=ON_PREM_NEG_ZONE \ --add-endpoint="ip=ON_PREM_IP_ADDRESS_1,port=PORT_1" \ --add-endpoint="ip=ON_PREM_IP_ADDRESS_2,port=PORT_2"
Anda dapat menggunakan perintah ini untuk menambahkan endpoint jaringan yang sebelumnya dikonfigurasi di infrastruktur lokal atau di lingkungan cloud.
Ulangi --add-endpoint
sebanyak yang diperlukan.
Anda dapat mengulangi langkah-langkah ini untuk membuat beberapa NEG campuran jika diperlukan.
Mengonfigurasi load balancer
Konsol
gcloud
- Buat alamat IP eksternal statis global yang akan digunakan klien eksternal untuk mengirim traffic.
gcloud compute addresses create LB_IP_ADDRESS_NAME \ --network-tier=PREMIUM \ --global
- Buat health check untuk backend.
gcloud compute health-checks create http HTTP_HEALTH_CHECK_NAME \ --use-serving-port
- Buat layanan backend. Anda menambahkan NEG zona dan NEG konektivitas hybrid sebagai backend ke layanan backend ini.
- Tambahkan NEG zona sebagai backend ke layanan backend:
Untuk mengetahui detail tentang mengonfigurasi mode penyeimbangan, lihat dokumentasi gcloud CLI untuk parametergcloud beta compute backend-services add-backend BACKEND_SERVICE \ --global \ --balancing-mode=RATE \ --max-rate-per-endpoint=MAX_REQUEST_RATE_PER_ENDPOINT \ --network-endpoint-group=GCP_NEG_NAME \ --network-endpoint-group-zone=GCP_NEG_ZONE
--max-rate-per-endpoint
. - Tambahkan NEG campuran sebagai backend ke layanan backend:
gcloud compute backend-services add-backend BACKEND_SERVICE \ --global \ --balancing-mode=RATE \ --max-rate-per-endpoint=MAX_REQUEST_RATE_PER_ENDPOINT \ --network-endpoint-group=ON_PREM_NEG_NAME \ --network-endpoint-group-zone=ON_PREM_NEG_ZONE
- Buat peta URL untuk mengarahkan permintaan masuk ke layanan backend.
gcloud beta compute url-maps create URL_MAP_NAME \ --default-service BACKEND_SERVICE
- Lakukan langkah ini hanya jika Anda ingin membuat load balancer HTTPS. Hal ini tidak diperlukan untuk load balancer HTTP.
Untuk membuat load balancer HTTPS, Anda harus memiliki resource sertifikat SSL untuk digunakan di proxy target HTTPS. Anda dapat membuat resource sertifikat SSL menggunakan sertifikat SSL yang dikelola Google atau sertifikat SSL yang dikelola sendiri. Sebaiknya gunakan sertifikat yang dikelola Google karena Google Cloud memperoleh, mengelola, dan memperpanjang sertifikat ini secara otomatis.
Untuk membuat sertifikat yang dikelola Google, Anda harus memiliki domain. Jika tidak memiliki domain, Anda dapat menggunakan sertifikat SSL yang ditandatangani sendiri untuk pengujian.
Untuk membuat resource sertifikat SSL yang dikelola Google: Untuk membuat resource sertifikat SSL yang dikelola sendiri:gcloud compute ssl-certificates create SSL_CERTIFICATE_NAME \ --domains DOMAIN
gcloud compute ssl-certificates create SSL_CERTIFICATE_NAME \ --certificate CRT_FILE_PATH \ --private-key KEY_FILE_PATH
- Buat proxy HTTP(S) target untuk merutekan permintaan ke peta URL Anda.
Untuk load balancer HTTP, buat proxy target HTTP: Untuk load balancer HTTPS, buat proxy target HTTPS. Proxy ini merupakan bagian dari load balancer yang menyimpan sertifikat SSL untuk Load Balancing HTTPS, sehingga Anda juga memuat sertifikat pada langkah ini.gcloud beta compute target-http-proxies create TARGET_HTTP_PROXY_NAME \ --http-keep-alive-timeout-sec=HTTP_KEEP_ALIVE_TIMEOUT_SEC \ --url-map=URL_MAP_NAME
gcloud beta compute target-https-proxies create TARGET_HTTPS_PROXY_NAME \ --http-keep-alive-timeout-sec=HTTP_KEEP_ALIVE_TIMEOUT_SEC \ --ssl-certificates=SSL_CERTIFICATE_NAME \ --url-map=URL_MAP_NAME
Ganti kode berikut:
TARGET_HTTP_PROXY_NAME
: nama proxy HTTP target.TARGET_HTTPS_PROXY_NAME
: nama proxy HTTPS target.HTTP_KEEP_ALIVE_TIMEOUT_SEC
: kolom opsional yang digunakan untuk menentukan waktu tunggu keepalive HTTP klien. Nilai waktu tunggu harus antara 5 hingga 1.200 detik. Nilai default-nya adalah 610 detik.SSL_CERTIFICATE_NAME
: nama sertifikat SSL.URL_MAP_NAME
: nama peta URL.
- Buat aturan penerusan untuk mengarahkan permintaan masuk ke proxy.
Untuk load balancer HTTP: Untuk load balancer HTTPS:gcloud beta compute forwarding-rules create HTTP_FORWARDING_RULE_NAME \ --load-balancing-scheme=EXTERNAL_MANAGED \ --network-tier=PREMIUM \ --address=LB_IP_ADDRESS_NAME \ --target-http-proxy=TARGET_HTTP_PROXY_NAME \ --global \ --ports=80
gcloud beta compute forwarding-rules create HTTPS_FORWARDING_RULE_NAME \ --load-balancing-scheme=EXTERNAL_MANAGED \ --network-tier=PREMIUM \ --address=LB_IP_ADDRESS_NAME \ --target-https-proxy=TARGET_HTTPS_PROXY_NAME \ --global \ --ports=443
gcloud beta compute backend-services create BACKEND_SERVICE \ --health-checks=HTTP_HEALTH_CHECK_NAME \ --load-balancing-scheme=EXTERNAL_MANAGED \ --ip-address-selection-policy=PREFER_IPV6 \ --global
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.
Menguji load balancer
Setelah mengonfigurasi load balancer, Anda dapat mulai mengirimkan traffic ke alamat IP load balancer.
Buka halaman Load balancing di Konsol Google Cloud.
Buka halaman Load balancingKlik load balancer yang baru saja dibuat.
Catat alamat IP load balancer internal.
Kirim traffic ke load balancer.
Jika membuat load balancer HTTP, Anda dapat menguji load balancer menggunakan browser web dengan membuka
http://IP_ADDRESS
. GantiIP_ADDRESS
dengan alamat IP load balancer. Anda akan diarahkan ke layanan yang telah diekspos melalui endpoint.Jika membuat load balancer HTTPS, Anda dapat menguji load balancer menggunakan
curl
sebagai berikut. GantiIP_ADDRESS
dengan alamat IP load balancer. Anda akan diarahkan ke layanan yang telah Anda ekspos melalui endpoint.curl -k https://IP_ADDRESS
Jika tidak berhasil dan Anda menggunakan sertifikat yang dikelola Google, confirmasikan bahwa status resource sertifikat Anda AKTIF. Untuk informasi selengkapnya, lihat Status resource sertifikat SSL yang dikelola Google. Kemudian, uji domain yang mengarah ke alamat IP load balancer. Misalnya:
curl -s https://test.example.com
Pengujian endpoint non-Google Cloud bergantung pada layanan yang telah Anda ekspos melalui endpoint NEG hybrid.
Konfigurasi tambahan
Bagian ini memperluas contoh konfigurasi untuk memberikan opsi konfigurasi alternatif dan tambahan. Semua tugas bersifat opsional. Anda dapat melakukannya dalam urutan apa pun.
Memperbarui waktu tunggu keepalive HTTP klien
Load balancer yang dibuat pada langkah sebelumnya telah dikonfigurasi dengan nilai default untuk waktu tunggu keepalive HTTP klien.Untuk memperbarui waktu tunggu keepalive HTTP klien, gunakan petunjuk berikut.
Konsol
Di konsol Google Cloud, buka halaman Load balancing.
- Klik nama load balancer yang ingin diubah.
- Klik Edit.
- Klik Frontend configuration.
- Luaskan Fitur lanjutan. Untuk Timeout keepalive HTTP, masukkan nilai waktu tunggu.
- Klik Perbarui.
- Untuk meninjau perubahan, klik Tinjau dan selesaikan, lalu klik Perbarui.
gcloud
Untuk load balancer HTTP, perbarui proxy HTTP target menggunakan
perintah gcloud compute target-http-proxies update
:
gcloud compute target-http-proxies update TARGET_HTTP_PROXY_NAME \ --http-keep-alive-timeout-sec=HTTP_KEEP_ALIVE_TIMEOUT_SEC \ --global
Untuk load balancer HTTPS, perbarui proxy HTTPS target menggunakan
perintah gcloud compute target-https-proxies update
:
gcloud compute target-https-proxies update TARGET_HTTPS_PROXY_NAME \ --http-keep-alive-timeout-sec=HTTP_KEEP_ALIVE_TIMEOUT_SEC \ --global
Ganti kode berikut:
TARGET_HTTP_PROXY_NAME
: nama proxy HTTP target.TARGET_HTTPS_PROXY_NAME
: nama proxy HTTPS target.HTTP_KEEP_ALIVE_TIMEOUT_SEC
: nilai waktu tunggu keepalive HTTP dari 5 hingga 600 detik.