Sebelum mengikuti panduan ini, pahami dokumentasi ringkasan Internet NEG, termasuk batasan-nya.
Diagram arsitektur berikut menunjukkan frontend Load Balancer Jaringan proxy internal regional dengan backend eksternal.Izin
Untuk mengikuti panduan ini, Anda perlu membuat NEG internet dan membuat atau mengubah
Load Balancer Jaringan proxy dalam sebuah project. Anda harus menjadi Pemilik atau Editor project (roles/owner
atau roles/editor
), atau Anda harus memiliki kedua peran Compute Engine IAM berikut.
Tugas | Peran yang diperlukan |
---|---|
Membuat dan mengubah komponen load balancer | Compute Network Admin ( roles/compute.networkAdmin )
|
Membuat dan mengubah NEG | Compute Instance Admin ( roles/compute.instanceAdmin )
|
Menyiapkan lingkungan backend eksternal di luar Google Cloud
Untuk menyiapkan lingkungan backend eksternal, lihat bagian berikut.
Mengonfigurasi endpoint jaringan
Konfigurasikan endpoint jaringan untuk mengekspos backend eksternal Anda ke Google Cloud. Pastikan endpoint—baik kombinasi IP:Port maupun nama domain yang sepenuhnya memenuhi syarat (FQDN) dan port—dapat dijangkau melalui internet. Endpoint ini kemudian direferensikan dari NEG internet.
Untuk mengetahui persyaratan konfigurasi mendetail bagi endpoint NEG internet, lihat Ringkasan NEG internet.
Mengizinkan backend eksternal menerima traffic dari Google Cloud
Langkah ini dapat diselesaikan setelah Anda membuat subnet khusus proxy dan menyiapkan gateway Cloud NAT.
Agar permintaan dari Google Cloud dapat menjangkau backend eksternal, Anda harus melakukan langkah-langkah berikut:
- Konfigurasikan gateway Cloud NAT dengan alamat IP yang digunakan untuk traffic keluar dari Google Cloud. Gateway memetakan rentang subnet khusus proxy ke alamat IP eksternal. Untuk mengetahui langkah-langkahnya, lihat Menyiapkan gateway Cloud NAT.
- Pastikan lingkungan backend eksternal Anda dikonfigurasi untuk mengizinkan traffic dari Google Cloud menjangkau backend eksternal. Misalnya, jika menggunakan alamat IP yang dicadangkan sebelumnya untuk gateway NAT, Anda akan mengizinkan alamat IP tersebut di lingkungan eksternal. Anda mungkin perlu bekerja sama dengan admin jaringan atau keamanan lingkungan eksternal untuk menyiapkannya.
Menyiapkan lingkungan Google Cloud
Anda memerlukan jaringan VPC dengan dua subnet: satu untuk komponen load balancer dan satu lagi untuk subnet khusus proxy region. Kemudian, Anda akan membuat load balancer dengan backend NEG internet.
Membuat jaringan VPC dan subnet
Subnet ini digunakan untuk membuat komponen load balancer.
Cloud Console
- Di konsol Google Cloud, buka halaman jaringan VPC.
Buka jaringan VPC - Klik Create VPC network.
- Masukkan Nama: LB_NETWORK.
- Di bagian Subnets:
- Setel Subnet creation mode ke Custom.
- Di bagian New subnet, masukkan informasi berikut:
- Nama: LB_SUBNET_NAME
- Region: REGION
- Rentang alamat IP: LB_SUBNET_RANGE
- Klik Done.
- Klik Create.
gcloud
Buat jaringan VPC kustom menggunakan perintah
gcloud compute networks create
:gcloud compute networks create LB_NETWORK \ --subnet-mode=custom
Buat subnet di jaringan LB_NETWORK.
gcloud compute networks subnets create LB_SUBNET_NAME \ --network=LB_NETWORK \ --range=LB_SUBNET_RANGE \ --region=REGION
Mengonfigurasi subnet khusus proxy
Subnet khusus proxy ini digunakan oleh semua load balancer berbasis Envoy regional di region REGION.
Konsol
- Di konsol Google Cloud, buka halaman jaringan VPC.
Buka jaringan VPC - Pilih Jaringan dari daftar.
- Klik Tambahkan subnet.
- Masukkan Nama: PROXY_ONLY_SUBNET_NAME.
- Pilih Region: REGION.
- Tetapkan Tujuan ke Proxy yang Dikelola Berdasarkan Wilayah.
- Masukkan rentang alamat IP: PROXY_ONLY_SUBNET_RANGE.
- Klik Tambahkan.
gcloud
Buat subnet khusus proxy dengan perintah gcloud compute networks subnets
create
.
gcloud compute networks subnets create PROXY_ONLY_SUBNET_NAME \ --purpose=REGIONAL_MANAGED_PROXY \ --role=ACTIVE \ --region=REGION \ --network=LB_NETWORK \ --range=PROXY_ONLY_SUBNET_RANGE
Menyiapkan gateway Cloud NAT
Sebelum mengonfigurasi gateway Cloud NAT, pastikan Anda telah meninjau batasan dan pertimbangan harga terkait. Untuk mengetahui detailnya, lihat NEG Regional: Menggunakan gateway Cloud NAT.Perintah berikut menjelaskan cara menyiapkan gateway Cloud NAT. Gateway Cloud NAT dapat dikonfigurasi untuk menggunakan alamat IP eksternal NAT otomatis, dengan alokasi berdasarkan permintaan, atau untuk menggunakan kumpulan alamat IP eksternal yang direservasi secara manual. Gateway memetakan rentang subnet khusus proxy ke alamat IP eksternal.
Menyiapkan alamat IP yang dialokasikan NAT otomatis
Saat membuat gateway Cloud NAT dengan alokasi alamat IP NAT otomatis, Anda dapat menentukan Network Service Tiers (Paket Premium atau Paket Standar) tempat gateway Cloud NAT mengalokasikan alamat IP.
Konsol
Di Konsol Google Cloud, buka halaman Cloud NAT.
Klik Get started atau Create Cloud NAT gateway.
Masukkan nama gateway LB_NAT_CONFIG.
Untuk Jenis NAT, pilih Publik.
Dalam daftar Jaringan, pilih LB_NETWORK.
Dalam daftar Region, pilih REGION.
Buat Cloud Router di region tersebut.
Untuk Source endpoint type, pilih Managed proxy load balancers.
Dalam daftar Source, pilih Custom.
- Untuk Subnets, pilih PROXY_ONLY_SUBNET_NAME.
Dalam daftar Cloud NAT IP addresses, pilih Automatic (recommended).
Untuk Network service tier, pilih Premium atau Standard.
Klik Create.
gcloud
Gunakan alamat IP yang dialokasikan secara dinamis jika lingkungan backend eksternal Anda tidak mengharuskan Anda membuat daftar yang diizinkan untuk alamat IP Google Cloud tertentu yang dapat mengirim traffic ke backend eksternal.
Membuat cloud router
gcloud beta compute routers create ROUTER_NAME \ --network=LB_NETWORK \ --region=REGION
Siapkan gateway Cloud NAT.
gcloud beta compute routers nats create LB_NAT_CONFIG \ --router=ROUTER_NAME \ --endpoint-types=ENDPOINT_TYPE_MANAGED_PROXY_LB \ --nat-custom-subnet-ip-ranges=PROXY_ONLY_SUBNET_NAME \ --auto-allocate-nat-external-ips \ --region=REGION
Ganti kode berikut:
LB_NAT_CONFIG
: nama konfigurasi NAT Anda.ROUTER_NAME
: nama Cloud Router Anda.REGION
: region NAT yang akan dibuat. Jika tidak ditentukan, Anda mungkin diminta untuk memilih region (khusus mode interaktif).PROXY_ONLY_SUBNET_NAME
: nama subnet khusus proxy Anda.
Menyiapkan alamat IP yang dialokasikan secara manual
Gunakan alamat IP yang dialokasikan secara manual hanya jika lingkungan backend eksternal Anda mengharuskan Anda menggunakan daftar yang diizinkan untuk alamat IP Google Cloud tertentu. Jika lingkungan backend eksternal tidak memerlukan daftar yang diizinkan, gunakan alokasi dinamis seperti yang ditunjukkan sebelumnya.
Saat membuat gateway Cloud NAT, Anda dapat memilih untuk menetapkan alamat IP NAT secara manual dari Paket Premium atau Paket Standar atau keduanya, dengan tunduk pada kondisi tertentu.
Konsol
Di Konsol Google Cloud, buka halaman Cloud NAT.
Klik Get started atau Create Cloud NAT gateway.
Masukkan nama gateway LB_NAT_CONFIG.
Dalam daftar Jaringan, pilih LB_NETWORK.
Dalam daftar Region, pilih REGION.
Pilih atau buat Cloud Router di region.
Untuk Source endpoint type, pilih Managed proxy load balancers.
Dalam daftar Source, pilih Custom.
- Di Subnet, pilih PROXY_ONLY_SUBNET_NAME.
Dalam daftar Cloud NAT IP addresses, pilih Manual.
Untuk Network service tier, pilih Premium atau Standard.
Pilih atau buat alamat IP eksternal statis yang dicadangkan untuk digunakan NAT.
Jika Anda ingin menentukan alamat IP tambahan, klik Tambahkan alamat IP, lalu pilih atau buat alamat IP eksternal statis yang dicadangkan tambahan.
Klik Create.
gcloud
Buat alamat IP. Karena gateway melakukan terjemahan NAT satu per satu, Anda harus memastikan bahwa kumpulan alamat IP yang dicadangkan cukup besar untuk menangani jumlah traffic yang Anda harapkan. Alamat IP NAT yang dialokasikan tidak memadai dapat menyebabkan hilangnya traffic.
gcloud compute addresses create IP_ADDRESS_NAME_1 IP_ADDRESS_NAME_2 [IP_ADDRESS_NAME_3 ...] \ --region=REGION
Membuat cloud router
gcloud compute routers create ROUTER_NAME \ --network=LB_NETWORK \ --region=REGION
Siapkan gateway Cloud NAT.
gcloud beta compute routers nats create LB_NAT_CONFIG \ --router=ROUTER_NAME \ --endpoint-types=ENDPOINT_TYPE_MANAGED_PROXY_LB \ --nat-custom-subnet-ip-ranges=PROXY_ONLY_SUBNET_NAME \ --nat-external-ip-pool=IP_ADDRESS_NAME_1,IP_ADDRESS_NAME_2,[IP_ADDRESS_NAME_3 ...] \ --region=REGION
Ganti kode berikut:
LB_NAT_CONFIG
: nama konfigurasi NAT Anda.ROUTER_NAME
: nama Cloud Router Anda.PROXY_ONLY_SUBNET_NAME
: nama subnet khusus proxy Anda.REGION
: region NAT yang akan dibuat. Jika tidak ditentukan, Anda mungkin diminta untuk memilih region (khusus mode interaktif).
Untuk mengetahui informasi selengkapnya, lihat Menentukan rentang subnet untuk NAT dalam dokumentasi Cloud NAT.
Pastikan Anda menggunakan daftar yang diizinkan untuk rentang alamat IP NAT di lingkungan backend eksternal, sehingga backend eksternal dapat menerima traffic dari Google Cloud.
Mencadangkan alamat IP load balancer
Cadangkan alamat IP internal untuk load balancer.
Konsol
Anda dapat mencadangkan alamat IP internal mandiri menggunakan konsol Google Cloud.
- Buka halaman VPC networks.
- Klik jaringan yang digunakan untuk mengonfigurasi konektivitas campuran di antara lingkungan.
- Klik Static internal IP addresses, lalu klik Reserve static address.
- Masukkan Nama: LB_IP_ADDRESS.
- Untuk Subnet, pilih LB_SUBNET_NAME.
- Jika Anda ingin menentukan alamat IP yang akan dicadangkan, di bagian Static IP address, pilih Let me choose, lalu isi Custom IP address. Jika tidak, sistem akan otomatis menetapkan alamat IP di subnet untuk Anda.
- Jika Anda ingin menggunakan alamat IP ini dengan beberapa aturan penerusan, di bagian Purpose, pilih Shared.
- Klik Pesan untuk menyelesaikan proses.
gcloud
Menggunakan gcloud CLI, jalankan perintah
compute addresses create
:gcloud compute addresses create LB_IP_ADDRESS \ --region=REGION \ --subnet=LB_SUBNET_NAME \
Gunakan perintah
compute addresses describe
untuk melihat alamat IP yang dialokasikan:gcloud compute addresses describe LB_IP_ADDRESS \ --region=REGION
Menyiapkan NEG internet
Anda dapat membuat NEG internet menggunakan endpoint INTERNET_FQDN_PORT
atau
endpoint INTERNET_IP_PORT
.
Konsol
Membuat NEG dengan endpoint INTERNET_FQDN_PORT
Di Konsol Google Cloud, buka halaman Network endpoint group.
Klik Create network endpoint group.
Tentukan INTERNET_NEG_NAME untuk NEG Internet Anda. Untuk informasi selengkapnya, lihat Konvensi penamaan resource.
Di daftar Network endpoint group type, pilih Network endpoint group (Internet), lalu lakukan hal berikut:
- Dalam daftar Cakupan, pilih Regional.
- Opsional: Dalam daftar Region, ubah REGION untuk NEG ini.
- Dalam daftar Jaringan, pilih LB_NETWORK.
- Di kotak Default port, masukkan DEFAULT_PORT_NUMBER.
- Dalam daftar Tambahkan endpoint melalui, pilih Nama dan port yang sepenuhnya memenuhi syarat.
- Pilih Create.
Menambahkan endpoint INTERNET_FQDN_PORT
ke NEG
Di Konsol Google Cloud, buka halaman Network endpoint group.
- Klik INTERNET_NEG_NAME.
Masukkan Nama domain yang sepenuhnya memenuhi syarat seperti
myorg.example.com
. Anda harus menentukan objek FQDN dalam sintaksis FQDN standar.Opsional: Untuk Jenis port, pilih Kustom. Jika Jenis port adalah
Default
, port default NEG akan digunakan.- Di kotak Nomor port, masukkan PORT_NUMBER_1.
- Pilih Create.
Membuat NEG dengan endpoint INTERNET_IP_PORT
Di Konsol Google Cloud, buka halaman Network endpoint group.
Klik Create network endpoint group.
Tentukan nama INTERNET_NEG_NAME untuk NEG Internet Anda. Untuk informasi selengkapnya, lihat Konvensi penamaan resource.
Di daftar Network endpoint group type, pilih Network endpoint group (Internet), lalu lakukan hal berikut:
- Dalam daftar Cakupan, pilih Regional.
- Opsional: Dalam daftar Region, ubah REGION untuk NEG ini.
- Dalam daftar Jaringan, pilih LB_NETWORK.
- Di kotak Default port, masukkan DEFAULT_PORT_NUMBER.
- Dalam daftar Tambahkan endpoint melalui, pilih IP dan port.
- Pilih Create.
Menambahkan endpoint INTERNET_IP_PORT
ke NEG
Di Konsol Google Cloud, buka halaman Network endpoint group.
- Klik INTERNET_NEG_NAME.
- Di kolom IP address, masukkan IP_ADDRESS_1.
Opsional: Di daftar Port type, pilih Custom. Jika Jenis port adalah
Default
, port default NEG akan digunakan.- Di kolom Nomor port, masukkan PORT_NUMBER_1.
- Pilih Create.
gcloud
Untuk membuat NEG dengan endpoint INTERNET_FQDN_PORT
:
Buat resource NEG.
gcloud beta compute network-endpoint-groups create INTERNET_NEG_NAME \ --network-endpoint-type=INTERNET_FQDN_PORT \ --default-port=DEFAULT_PORT_NUMBER \ --network=LB_NETWORK \ --region=REGION
Tambahkan endpoint ke NEG. Jika port tidak ditentukan, port default NEG akan digunakan.
gcloud beta compute network-endpoint-groups update INTERNET_NEG_NAME \ --add-endpoint="fqdn=FULLY_QUALIFIED_DOMAIN_NAME_1,port=PORT_NUMBER_1" \ [--add-endpoint="fqdn=FULLY_QUALIFIED_DOMAIN_NAME_2,port=PORT_NUMBER_2" \] --region=REGION
Ganti kode berikut:
FULLY_QUALIFIED_DOMAIN_NAME
: nama domain yang sepenuhnya memenuhi syarat untuk endpointPORT_NUMBER
: nomor port untuk endpoint
Anda dapat menambahkan hingga 256 endpoint per NEG.
Jika domain Anda dapat di-resolve melalui internet, tidak ada konfigurasi lain yang diperlukan untuk menyiapkan DNS. Namun, jika menggunakan FQDN pribadi, Anda harus mengonfigurasi Cloud DNS untuk memfasilitasi resolusi DNS. Nama tersebut harus dihosting di Cloud DNS atau dapat di-resolve melalui penerusan DNS dari Cloud DNS ke DNS lokal.
Mulai dengan membuat zona Cloud DNS untuk menghosting data DNS di project Anda. Kemudian, tambahkan data DNS ke dalamnya. Lihat dokumentasi Cloud DNS untuk mengetahui langkah-langkah konfigurasi tertentu.
Untuk membuat NEG dengan endpoint INTERNET_IP_PORT
:
Buat resource NEG.
gcloud beta compute network-endpoint-groups create INTERNET_NEG_NAME \ --network-endpoint-type=INTERNET_IP_PORT \ --default-port=DEFAULT_PORT_NUMBER \ --network=LB_NETWORK \ --region=REGION
Tambahkan endpoint ke NEG. Jika port tidak ditentukan, port default NEG akan digunakan.
gcloud beta compute network-endpoint-groups update INTERNET_NEG_NAME \ --add-endpoint="ip=IP_ADDRESS_1,port=PORT_NUMBER_1" \ [--add-endpoint="ip=IP_ADDRESS_2,port=PORT_NUMBER_2" \] --region=REGION
Ganti kode berikut:
IP_ADDRESS
: alamat IP untuk endpointPORT_NUMBER
: nomor port untuk endpoint
Anda dapat mengulangi langkah ini untuk menambahkan hingga 256 endpoint per NEG.
Membuat load balancer
Konsol
Memulai konfigurasi
Di konsol Google Cloud, buka halaman Load balancing.
- Klik Create load balancer.
- Untuk Type of load balancer, pilih Network Load Balancer (TCP/UDP/SSL), lalu klik Next.
- Untuk Proxy or passthrough, pilih Proxy load balancer, lalu klik Next.
- Untuk Public facing or internal, pilih Internal, lalu klik Next.
- Untuk Cross-region atau single region deployment, pilih Best for regional workloads, lalu klik Next.
- Klik Konfigurasikan.
Konfigurasi dasar
- Masukkan Nama load balancer.
- Untuk Region, pilih REGION.
- Untuk Network, pilih LB_NETWORK.
Mereservasi subnet khusus proxy
Untuk memesan subnet khusus proxy:
- Klik Reserve subnet.
- Untuk Name, masukkan PROXY_ONLY_SUBNET_NAME.
- Untuk Rentang alamat IP, masukkan PROXY_ONLY_SUBNET_RANGE.
- Klik Tambahkan.
Konfigurasi frontend
- Klik Frontend configuration.
- Masukkan Nama.
- Untuk Subnetwork, pilih LB_SUBNET_NAME.
- Untuk IP address, pilih alamat IP yang dicadangkan sebelumnya: LB_IP_ADDRESS.
- Untuk Nomor port, tentukan satu nomor port antara 1-65535. Aturan penerusan hanya meneruskan paket dengan port tujuan yang cocok.
- Klik Done.
Konfigurasi backend
- Klik Backend configuration.
- Klik Backend services and backend buckets.
- Klik Create a backend service.
- Masukkan nama.
- Untuk Backend type, pilih Internet network endpoint group.
- Untuk Protocol, pilih TCP.
- Untuk Backends, di jendela New backend, pilih Regional internet network endpoint group yang dibuat di langkah sebelumnya.
- Klik Done.
- Konfigurasi health check:
- Untuk Health check, pilih Create a health check.
- Tetapkan nama health check ke TCP_HEALTH_CHECK_NAME.
- Untuk Protocol, pilih TCP.
- Tetapkan Port ke
80
. - Pertahankan nilai default yang tersisa, lalu klik Save.
- Klik Create.
Tinjau dan selesaikan
- Klik Review and finalize.
- Jika semuanya sudah benar, klik Buat.
gcloud
- Opsional: Buat health check. Prob kesehatan untuk backend eksternal menggunakan health check Envoy terdistribusi dan kemudian diterjemahkan NAT.
gcloud compute health-checks create tcp TCP_HEALTH_CHECK_NAME \ --region=REGION \ --use-serving-port
- Buat layanan backend:
gcloud compute backend-services create BACKEND_SERVICE \ --load-balancing-scheme=INTERNAL_MANAGED \ --health-checks=TCP_HEALTH_CHECK_NAME \ --health-checks-region=REGION \ --region=REGION
- Tambahkan NEG internet ke layanan backend:
gcloud compute backend-services add-backend BACKEND_SERVICE \ --network-endpoint-group=INTERNET_NEG_NAME \ --network-endpoint-group-region=REGION \ --region=REGION
gcloud compute backend-services add-backend BACKEND_SERVICE \ --network-endpoint-group=INTERNET_NEG_NAME \ --network-endpoint-group-region=REGION \ --region=REGION
Buat proxy TCP target untuk mengarahkan permintaan ke layanan backend Anda.
gcloud compute target-tcp-proxies create TARGET_TCP_PROXY_NAME \ --backend-service=BACKEND_SERVICE \ --region=REGION
Buat aturan penerusan untuk mengarahkan permintaan masuk ke proxy. Untuk `--ports`, tentukan satu nomor port dari 1-65535. Aturan penerusan hanya meneruskan paket dengan port tujuan yang cocok.
gcloud compute forwarding-rules create FORWARDING_RULE_NAME \ --load-balancing-scheme=INTERNAL_MANAGED \ --network-tier=PREMIUM \ --network=LB_NETWORK \ --subnet=LB_SUBNET_NAME \ --address=LB_IP_ADDRESS \ --target-tcp-proxy=TARGET_TCP_PROXY_NAME \ --target-tcp-proxy-region=REGION \ --region=REGION \ --ports=PORT_NUMBER
Menguji load balancer
Setelah mengonfigurasi load balancer, Anda dapat mulai mengirimkan traffic ke alamat IP load balancer.
Membuat VM klien
Contoh ini membuat VM klien (vm-client
) di region yang sama dengan load balancer. Klien digunakan untuk memvalidasi konfigurasi load balancer
dan menunjukkan perilaku yang diharapkan.
gcloud
VM klien dapat berada di zona mana pun dalam REGION yang sama dengan load balancer, dan dapat menggunakan subnet apa pun di jaringan VPC yang sama.
gcloud compute instances create vm-client \ --image-family=debian-10 \ --image-project=debian-cloud \ --tags=allow-ssh \ --network=LB_NETWORK \ --subnet=LB_SUBNET_NAME \ --zone=ZONE
Mengirim traffic ke load balancer
Mungkin perlu waktu beberapa menit hingga konfigurasi load balancer diterapkan setelah Anda men-deploy-nya untuk pertama kalinya.
Hubungkan melalui SSH ke instance klien.
gcloud compute ssh vm-client \ --zone=ZONE
Verifikasi bahwa load balancer menayangkan nama host backend seperti yang diharapkan.
Gunakan perintah
compute addresses describe
untuk melihat alamat IP load balancer:gcloud compute addresses describe LB_IP_ADDRESS \ --region=REGION
Catat alamat IP-nya.
Anda dapat menggunakan
curl
untuk mengirim traffic ke load balancer di alamat IP dan port yang ditentukan saat membuat aturan penerusan load balancer. Pengujian apakah backend NEG internet merespons permintaan bergantung pada layanan yang berjalan di endpoint eksternal.
Opsi konfigurasi tambahan
Untuk mengaktifkan lebih banyak kemampuan untuk Load Balancer Jaringan proxy internal regional, seperti akses global (jika klien Anda berada di region yang berbeda), lihat Menyiapkan Load Balancer Aplikasi internal dengan backend grup instance VM: Konfigurasi tambahan.
Langkah selanjutnya
- Untuk menyiapkan pemantauan bagi Load Balancer Jaringan proxy internal regional, lihat Menggunakan pemantauan.
- Membersihkan penyiapan load balancer.