Sebelum mengikuti panduan ini, pahami dokumentasi ringkasan NEG Internet, termasuk batasannya.
Diagram arsitektur berikut menunjukkan frontend Load Balancer Jaringan proxy eksternal regional dengan backend eksternal.Izin
Untuk mengikuti panduan ini, Anda perlu membuat NEG internet dan membuat atau mengubah Load Balancer Jaringan proxy dalam project. Anda harus memiliki peran Pemilik atau Editor project (roles/owner
atau roles/editor
), atau harus memiliki kedua peran IAM Compute Engine berikut.
Tugas | Peran yang diperlukan |
---|---|
Membuat dan mengubah komponen load balancer | Admin Jaringan Compute ( roles/compute.networkAdmin )
|
Membuat dan mengubah NEG | Admin Instance Compute ( 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 dirujuk dari NEG internet.
Guna mengetahui persyaratan konfigurasi mendetail untuk endpoint NEG internet, lihat Ringkasan NEG Internet.
Izinkan 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 mencapai 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 sudah dikonfigurasi untuk mengizinkan traffic dari Google Cloud menjangkau backend eksternal. Misalnya, jika menggunakan alamat IP yang dicadangkan untuk gateway NAT, Anda akan memasukkan alamat IP tersebut ke daftar yang diizinkan di lingkungan eksternal. Anda mungkin harus bekerja sama dengan admin jaringan atau keamanan lingkungan eksternal Anda 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 subnet dan jaringan VPC
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 Subnet:
- Setel Subnet creation mode ke Custom.
- Di bagian Subnet baru, masukkan informasi berikut:
- Name: LB_SUBNET_NAME
- Region: REGION
- Rentang alamat IP: LB_SUBNET_RANGE
- Klik Done.
- Klik Create.
gcloud
Buat jaringan VPC kustom dengan 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 Network dari daftar.
- Klik Tambahkan subnet.
- Masukkan Nama: PROXY_ONLY_SUBNET_NAME.
- Pilih Region: REGION.
- Tetapkan Destination ke Regional Managed Proxy.
- 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 terkait dan pertimbangan harga. 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, yang alokasinya didasarkan pada permintaan, atau menggunakan kumpulan alamat IP eksternal yang telah direservasi secara manual. Gateway memetakan rentang subnet khusus proxy ke alamat IP eksternal.
Menyiapkan alamat IP otomatis yang dialokasikan NAT
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 Network, pilih LB_NETWORK.
Dalam daftar Region, pilih REGION.
Membuat Cloud Router di region ini.
Untuk Source endpoint type, pilih Managed proxy load balancers.
Dalam daftar Sumber, pilih Kustom.
- Untuk Subnets, pilih PROXY_ONLY_SUBNET_NAME.
Dalam daftar Cloud NAT IP addresses, pilih Automatic (recommended).
Untuk Tingkat layanan jaringan, pilih Premium atau Standar.
Klik Create.
gcloud
Gunakan alamat IP yang dialokasikan secara dinamis jika lingkungan backend eksternal tidak mengharuskan Anda mengizinkan 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
Menyiapkan 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.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 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 ditampilkan 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 conditions 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 Network, 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 Sumber, pilih Kustom.
- Di Subnets, pilih PROXY_ONLY_SUBNET_NAME.
Dalam daftar Alamat IP Cloud NAT, pilih Manual.
Untuk Tingkat layanan jaringan, pilih Premium atau Standar.
Pilih atau buat alamat IP eksternal cadangan statis yang akan digunakan untuk NAT.
Jika ingin menentukan alamat IP tambahan, klik Tambahkan alamat IP, lalu pilih atau buat alamat IP eksternal statis tambahan yang dicadangkan.
Klik Create.
gcloud
Buat alamat IP. Karena gateway melakukan terjemahan NAT one-to-one, Anda harus memastikan bahwa kumpulan alamat IP yang dicadangkan cukup besar untuk menangani jumlah traffic yang Anda harapkan. Alamat IP NAT yang tidak dialokasikan secara 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
Menyiapkan 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.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 lebih lanjut, baca artikel 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 Anda dapat menerima traffic dari Google Cloud.
Mencadangkan alamat IP load balancer
Cadangkan alamat IP eksternal untuk load balancer. Prosedur ini membuat alamat IP load balancer di Paket Standar. Load Balancer Jaringan proxy eksternal regional mendukung Tingkat Layanan Jaringan Premium dan Standar. Namun, pembuatan load balancer ini di Paket Premium tidak didukung di Konsol Google Cloud. Gunakan gcloud atau REST API sebagai gantinya.
Konsol
Di konsol Google Cloud, buka halaman Reserve a static address.
Pilih Nama untuk alamat baru.
Untuk Network Service Tier, pilih Standard.
Untuk IP version, pilih IPv4. Alamat IPv6 hanya bisa bersifat global dan hanya dapat digunakan dengan load balancer global.
Untuk Type, pilih Regional.
Pilih Region.
Biarkan opsi Attached to ditetapkan ke None. Setelah Anda membuat load balancer, alamat IP ini akan dilampirkan ke aturan penerusan load balancer.
Klik Reserve untuk mereservasi alamat IP.
gcloud
Untuk mereservasi alamat IP eksternal statis menggunakan
gcloud compute
, gunakan perintahcompute addresses create
.gcloud compute addresses create LB_IP_ADDRESS \ --region=REGION \ --network-tier=STANDARD
Ganti kode berikut:
LB_IP_ADDRESS
: nama yang ingin Anda panggil alamat ini.REGION
: region tempat Anda ingin mencadangkan alamat ini. Region ini harus memiliki region yang sama dengan load balancer. Semua alamat IP regional adalahIPv4
.
Gunakan perintah
compute addresses describe
untuk melihat hasilnya:gcloud compute addresses describe LB_IP_ADDRESS
Menyiapkan NEG internet
Anda dapat membuat NEG internet menggunakan endpoint INTERNET_FQDN_PORT
atau endpoint INTERNET_IP_PORT
.
Konsol
Buat 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 mengetahui informasi selengkapnya, lihat Konvensi penamaan resource.
Dalam daftar Network endpoint group type, pilih Network endpoint group (Internet), lalu lakukan hal berikut:
- Dalam daftar Scope, pilih Regional.
- Opsional: Di daftar Wilayah, ubah REGION untuk NEG ini.
- Dalam daftar Network, pilih LB_NETWORK.
- Di kotak Default port, masukkan DEFAULT_PORT_NUMBER.
- Dalam daftar Add endpoint through, pilih Fully qualified domain name and port.
- Pilih Create.
Tambahkan 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 (FQDN) 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 Port number, masukkan PORT_NUMBER_1.
- Pilih Create.
Buat 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 mengetahui informasi selengkapnya, lihat Konvensi penamaan resource.
Dalam daftar Network endpoint group type, pilih Network endpoint group (Internet), lalu lakukan hal berikut:
- Dalam daftar Scope, pilih Regional.
- Opsional: Di daftar Wilayah, ubah REGION untuk NEG ini.
- Dalam daftar Network, pilih LB_NETWORK.
- Di kotak Default port, masukkan DEFAULT_PORT_NUMBER.
- Dalam daftar Add endpoint through, pilih IP and port.
- Pilih Create.
Tambahkan endpoint INTERNET_IP_PORT
ke NEG
Di konsol Google Cloud, buka halaman Network endpoint group.
- Klik INTERNET_NEG_NAME.
- Di kolom Alamat IP, masukkan IP_ADDRESS_1.
Opsional: Dalam 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 diselesaikan 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 diselesaikan melalui penerusan DNS dari Cloud DNS ke DNS lokal.
Mulailah dengan membuat zona Cloud DNS untuk menghosting data DNS di project Anda. Kemudian, tambahkan catatan DNS ke dalamnya. Lihat dokumentasi Cloud DNS untuk mengetahui langkah-langkah konfigurasi yang spesifik.
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 Anda
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 Public facing (eksternal), lalu klik Next.
- Untuk Global or single region deployment, pilih Best for regional workload, 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 mencadangkan 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 Alamat IP, 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 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.
Melakukan peninjauan dan penyelesaian
- Klik Review and finalize.
- Jika semuanya sudah benar, klik Buat.
gcloud
- Opsional: Membuat health check. Pemeriksaan health check untuk backend
eksternal menggunakan health check
Envoy terdistribusi dan kemudian diterjemahkan oleh 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=EXTERNAL_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.
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=EXTERNAL_MANAGED \ --network-tier=STANDARD \ --network=LB_NETWORK \ --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 menguji pengiriman traffic ke alamat IP load balancer.
Mendapatkan alamat IP load balancer.
Untuk mendapatkan alamat IPv4, jalankan perintah berikut:
gcloud compute addresses describe LB_IP_ADDRESS
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.
Langkah selanjutnya
- Agar dapat menyiapkan logging dan pemantauan untuk load balancer, baca Logging dan pemantauan Load Balancer Jaringan Proxy.
- Untuk menghapus resource yang telah dibuat agar Anda tidak ditagih untuk resource tersebut pada masa mendatang, lihat Membersihkan penyiapan load balancer.