Load balancing internal dan nama DNS

Data alamat DNS, yang dikenal sebagai data A, digunakan untuk memetakan nama DNS ke alamat IP. Saat membuat aturan penerusan untuk load balancer internal, Anda dapat secara opsional menetapkan label layanan sehingga Google Cloud akan membuat nama DNS internal Compute Engine unik untuk load balancer. Nama DNS internal ini dibuat dari project ID, nama aturan penerusan, dan label layanan yang Anda tentukan.

Spesifikasi

  • Fitur ini didukung oleh aturan penerusan untuk load balancer berikut:

  • Lihat Format data DNS untuk mengetahui detail tentang format nama DNS yang dibuat Google Cloud untuk load balancer Anda. Karena nama DNS berisi nama aturan penerusan, setiap nama DNS bersifat unik, meskipun Anda menggunakan label layanan yang sama untuk beberapa aturan penerusan.

  • Kecuali jika server nama alternatif dikonfigurasi, VM klien di region mana pun dalam project dan jaringan VPC yang sama dapat melakukan pencarian DNS untuk nama DNS internal load balancer. Untuk mengakses load balancer, VM klien harus berada di region yang sama. Jika Anda mengaktifkan akses global, klien di region mana pun dapat mengakses load balancer.

  • Anda hanya dapat menentukan label layanan saat create aturan penerusan. Anda tidak dapat menambahkan label layanan ke aturan penerusan yang ada. Namun, Anda dapat mengganti aturan penerusan yang ada dengan aturan penerusan baru yang memiliki label layanan. Penggantian dapat menggunakan alamat IP internal yang sama dengan alamat IP asli jika Anda menghapus aturan penerusan asli terlebih dahulu.

  • Nama DNS internal yang dibuat dari label layanan memiliki batasan berikut:

    • Tidak ada data PTR terbalik yang sesuai yang dibuat.
    • Setiap aturan penerusan hanya dapat memiliki satu label layanan.
    • Selain label layanan dan nama aturan penerusan, Anda tidak dapat mengubah bagian lain dari nama DNS internal. Hal ini mencakup format dan nama domainnya (.internal).

    Jika memerlukan nama DNS yang lebih fleksibel untuk load balancer internal, Anda dapat membuat data kustom di zona pribadi yang dikelola Cloud DNS.

Format data DNS

Saat Anda menambahkan label layanan ke aturan penerusan, Google Cloud akan membuat data A DNS internal Compute Engine menggunakan salah satu format berikut:

  • Untuk Load Balancer Jaringan passthrough internal:

    SERVICE_LABEL.FORWARDING_RULE_NAME.il4.REGION.lb.PROJECT_ID.internal

  • Untuk Load Balancer Aplikasi internal regional dan Load Balancer Jaringan proxy internal regional:

    SERVICE_LABEL.FORWARDING_RULE_NAME.il7.REGION.lb.PROJECT_ID.internal

SERVICE_LABEL adalah label layanan aturan penerusan yang Anda tentukan. Formatnya harus mengikuti format ini:

  • Anda dapat menggunakan maksimal 63 huruf kecil (a hingga z), angka (0 hingga 9), atau tanda hubung (-).
  • Label layanan harus dimulai dengan huruf kecil.
  • Label layanan harus diakhiri dengan huruf kecil atau angka.

FORWARDING_RULE_NAME adalah nama aturan penerusan yang Anda buat.

REGION adalah region load balancer.

PROJECT_ID adalah project ID Anda. Project ID yang memiliki bentuk organization:project-id akan dikonversi menjadi project-id.organization. Misalnya, jika project ID Anda adalah example.com:example-marketing-prod, Google Cloud akan menggunakan example-marketing-prod.example.com.

Membuat aturan penerusan dengan label layanan

Prosedur ini menunjukkan cara membuat aturan penerusan dengan label layanan.

Prosedur ini hanya berfokus pada cara membuat aturan penerusan dengan label layanan. Properti konfigurasi backend load balancer dan properti lainnya dari konfigurasi frontend-nya dihilangkan. Jika Anda baru menggunakan Load Balancer Jaringan passthrough internal, Load Balancer Aplikasi internal regional, atau Load Balancer Jaringan proxy internal regional, lihat halaman ini untuk mengetahui contoh lengkapnya:

Konsol

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

    Buka Load balancing

  2. Klik Create load balancer.
  3. Selesaikan langkah-langkah wizard untuk membuat Load Balancer Jaringan passthrough internal atau Load Balancer Aplikasi internal regional, lalu klik Configure.
  4. Tentukan nama untuk load balancer.
  5. Klik Lanjutkan.
  6. Selesaikan Backend configuration.
  7. Klik Frontend configuration. Selesaikan konfigurasi frontend, dengan menentukan Label layanan di bagian bawah bagian tersebut.

  8. Klik Selesai, lalu Tinjau dan selesaikan.

gcloud

Untuk membuat aturan penerusan dengan label layanan untuk Load Balancer Jaringan passthrough internal:

gcloud compute forwarding-rules create FORWARDING_RULE_NAME \
    --load-balancing-scheme=INTERNAL \
    --region=REGION \
    --backend-service-region=REGION \
    --backend-service=BACKEND_SERVICE_NAME \
    --network=NETWORK \
    --subnet=SUBNET \
    --address=INTERNAL_IP \
    --ip-protocol=PROTOCOL \
    --ports=PORTS \
    --service-label=SERVICE_LABEL

Untuk membuat aturan penerusan dengan label layanan untuk Load Balancer Jaringan proxy internal regional:

gcloud compute forwarding-rules create FORWARDING_RULE_NAME \
    --load-balancing-scheme=INTERNAL_MANAGED \
    --region=REGION \
    --target-tcp-proxy-region=REGION \
    --target-tcp-proxy=TARGET_PROXY_NAME \
    --network=NETWORK \
    --subnet=SUBNET \
    --address=INTERNAL_IP \
    --ip-protocol=TCP \
    --ports=PORT \
    --service-label=SERVICE_LABEL

Untuk membuat aturan penerusan dengan label layanan untuk Load Balancer Aplikasi internal regional dengan HTTPS:

gcloud compute forwarding-rules create FORWARDING_RULE_NAME \
    --load-balancing-scheme=INTERNAL_MANAGED \
    --region=REGION \
    --target-https-proxy-region=REGION \
    --target-https-proxy=TARGET_PROXY_NAME \
    --network=NETWORK \
    --subnet=SUBNET \
    --address=INTERNAL_IP \
    --ip-protocol=TCP \
    --ports=PORT \
    --service-label=SERVICE_LABEL

Untuk membuat aturan penerusan dengan label layanan untuk Load Balancer Aplikasi internal regional dengan HTTP:

gcloud compute forwarding-rules create FORWARDING_RULE_NAME \
    --load-balancing-scheme=INTERNAL_MANAGED \
    --region=REGION \
    --target-http-proxy-region=REGION \
    --target-http-proxy=TARGET_PROXY_NAME \
    --network=NETWORK \
    --subnet=SUBNET \
    --address=INTERNAL_IP \
    --ip-protocol=TCP \
    --ports=PORT \
    --service-label=SERVICE_LABEL

Ganti placeholder dengan nilai yang sesuai:

  • FORWARDING_RULE_NAME adalah nama aturan penerusan load balancer.
  • REGION adalah region load balancer.
  • BACKEND_SERVICE_NAME adalah nama layanan backend load balancer.
  • TARGET_PROXY_NAME adalah nama proxy target.
  • NETWORK adalah nama jaringan VPC tempat load balancer dibuat.
  • SUBNET adalah nama subnet di jaringan VPC. Subnet harus berada di region yang sama dengan layanan backend load balancer atau proxy target.
  • INTERNAL_IP adalah alamat IP internal dalam rentang IP utama subnet yang dipilih. Anda dapat menghilangkan tanda --address agar Google Cloud memilih alamat IP yang tersedia untuk Anda.
  • Untuk Load Balancer Jaringan passthrough internal, PROTOCOL adalah TCP atau UDP, yang cocok dengan protokol layanan backend load balancer. Untuk Load Balancer Aplikasi internal regional dan Load Balancer Jaringan proxy internal regional, protokolnya harus TCP.
  • Untuk Load Balancer Jaringan passthrough internal, PORTS adalah array yang berisi hingga lima port berdasarkan angka, atau kata ALL. Untuk Load Balancer Aplikasi internal regional dan Load Balancer Jaringan proxy internal regional, Anda dapat mereferensikan tepat satu port dari 1-65535. Lihat Spesifikasi port dalam konsep aturan penerusan untuk mengetahui detail selengkapnya.
  • SERVICE_LABEL adalah label layanan yang Anda pilih. Nama harus mengikuti konvensi penamaan.

api

Contoh berikut membuat aturan penerusan menggunakan metode forwardingRules.insert

Untuk membuat aturan penerusan dengan label layanan untuk Load Balancer Jaringan passthrough internal:

POST https://compute.googleapis.com/compute/v1/projects/PROJECT/regions/REGION/forwardingRules

{
  "name": "FORWARDING_RULE_NAME",
  "loadBalancingScheme": "INTERNAL",
  "backendService": "https://www.googleapis.com/compute/v1/projects/PROJECT/regions/REGION/backendServices/BACKEND_SERVICE_NAME",
  "network": "https://www.googleapis.com/compute/v1/projects/PROJECT/global/networks/NETWORK",
  "subnetwork": "https://www.googleapis.com/compute/v1/projects/PROJECT/regions/REGION/subnetworks/SUBNET",
  "IPAddress": "INTERNAL_IP",
  "IPProtocol": "PROTOCOL",
  "ports": PORTS,
  "serviceLabel": "SERVICE_LABEL"
}

Untuk membuat aturan penerusan dengan label layanan untuk Load Balancer Jaringan proxy internal regional:

POST https://compute.googleapis.com/compute/v1/projects/PROJECT/regions/REGION/forwardingRules

{
  "name": "FORWARDING_RULE_NAME",
  "loadBalancingScheme": "INTERNAL_MANAGED",
  "target": "https://www.googleapis.com/compute/v1/projects/PROJECT/regions/REGION/targetTcpProxies/TARGET_PROXY_NAME",
  "network": "https://www.googleapis.com/compute/v1/projects/PROJECT/global/networks/NETWORK",
  "subnetwork": "https://www.googleapis.com/compute/v1/projects/PROJECT/regions/REGION/subnetworks/SUBNET",
  "IPAddress": "INTERNAL_IP",
  "IPProtocol": "TCP",
  "ports": PORT,
  "serviceLabel": "SERVICE_LABEL"
}

Untuk membuat aturan penerusan dengan label layanan untuk Load Balancer Aplikasi internal regional dengan HTTPS:

POST https://compute.googleapis.com/compute/v1/projects/PROJECT/regions/REGION/forwardingRules

{
  "name": "FORWARDING_RULE_NAME",
  "loadBalancingScheme": "INTERNAL_MANAGED",
  "target": "https://www.googleapis.com/compute/v1/projects/PROJECT/regions/REGION/targetHttpsProxies/TARGET_PROXY_NAME",
  "network": "https://www.googleapis.com/compute/v1/projects/PROJECT/global/networks/NETWORK",
  "subnetwork": "https://www.googleapis.com/compute/v1/projects/PROJECT/regions/REGION/subnetworks/SUBNET",
  "IPAddress": "INTERNAL_IP",
  "IPProtocol": "TCP",
  "ports": PORT,
  "serviceLabel": "SERVICE_LABEL"
}

Untuk membuat aturan penerusan dengan label layanan untuk Load Balancer Aplikasi internal regional dengan HTTP:

POST https://compute.googleapis.com/compute/v1/projects/PROJECT/regions/REGION/forwardingRules

{
  "name": "FORWARDING_RULE_NAME",
  "loadBalancingScheme": "INTERNAL_MANAGED",
  "target": "https://www.googleapis.com/compute/v1/projects/PROJECT/regions/REGION/targetHttpProxies/TARGET_PROXY_NAME",
  "network": "https://www.googleapis.com/compute/v1/projects/PROJECT/global/networks/NETWORK",
  "subnetwork": "https://www.googleapis.com/compute/v1/projects/PROJECT/regions/REGION/subnetworks/SUBNET",
  "IPAddress": "INTERNAL_IP",
  "IPProtocol": "TCP",
  "ports": PORT,
  "serviceLabel": "SERVICE_LABEL"
}

Ganti placeholder dengan nilai yang sesuai:

  • FORWARDING_RULE_NAME adalah nama aturan penerusan load balancer.
  • REGION adalah region load balancer.
  • BACKEND_SERVICE_NAME adalah nama layanan backend Load Balancer Jaringan passthrough internal.
  • TARGET_PROXY_NAME adalah nama proxy target.
  • NETWORK adalah nama jaringan VPC tempat load balancer dibuat.
  • SUBNET adalah nama subnet di jaringan VPC. Subnet harus berada di region yang sama dengan layanan backend load balancer atau proxy target.
  • INTERNAL_IP adalah alamat IP internal dalam rentang IP utama subnet yang dipilih. Anda dapat menghilangkan kunci IPAddress agar Google Cloud memilih alamat IP yang tersedia untuk Anda.
  • Untuk Load Balancer Jaringan passthrough internal, PROTOCOL adalah TCP atau UDP, yang cocok dengan protokol layanan backend load balancer. Untuk Load Balancer Aplikasi internal regional dan Load Balancer Jaringan proxy internal regional, protokolnya harus TCP.
  • Untuk Load Balancer Jaringan passthrough internal, PORTS adalah array yang berisi hingga lima port berdasarkan angka, atau kata ALL. Untuk Load Balancer Aplikasi internal regional dan Load Balancer Jaringan proxy internal regional, Anda dapat mereferensikan tepat satu port dari 1-65535. Lihat Spesifikasi port dalam konsep aturan penerusan untuk mengetahui detail selengkapnya.
  • SERVICE_LABEL adalah label layanan yang Anda pilih. Nama harus mengikuti konvensi penamaan.

Melihat label layanan

Konsol

Anda dapat melihat nama DNS internal Compute Engine (dibuat dari label layanan) untuk setiap aturan penerusan internal dari load balancer internal:

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

    Buka Load balancing

  2. Klik nama load balancer internal untuk melihat halaman detailnya.

  3. Aturan penerusan internal yang ditetapkan ke load balancer tercantum di bagian Frontend. Kolom Nama DNS menampilkan nama DNS internal Compute Engine yang ditetapkan ke setiap aturan penerusan. Label layanan adalah bagian pertama dari nama tersebut (sebelum titik pertama). Jika tidak ada nama yang ditampilkan, aturan penerusan tidak memiliki label layanan yang ditentukan.

gcloud

  1. Cantumkan aturan penerusan dalam project Anda yang digunakan oleh Load Balancer Jaringan passthrough internal atau Load Balancer Aplikasi internal regional. Temukan yang Anda butuhkan, lalu catat nama dan wilayahnya untuk langkah berikutnya.

    gcloud compute forwarding-rules list \
        --filter="loadBalancingScheme=SCHEME"
    

    Nilai SCHEME bergantung pada aturan penerusan yang perlu Anda cantumkan:

    • Untuk Load Balancer Jaringan passthrough internal, gunakan INTERNAL.
    • Untuk Load Balancer Aplikasi internal regional dan Load Balancer Jaringan proxy internal regional, gunakan INTERNAL_MANAGED.
  2. Deskripsikan aturan penerusan, dengan mengganti FORWARDING_RULE_NAME dengan namanya dan REGION dengan region-nya:

    gcloud compute forwarding-rules describe FORWARDING_RULE_NAME \
        --region=REGION \
        --format="get(serviceLabel)"
    

api

Melihat aturan penerusan dan label layanan dengan metode forwardingRules.get

Respons terhadap permintaan API mencakup label layanan (serviceLabel) dan nama DNS internal Compute Engine (serviceName).

GET https://compute.googleapis.com/compute/v1/projects/PROJECT/regions/REGION/forwardingRules/FORWARDING_RULE_NAME

Respons Load Balancer Jaringan passthrough internal:

{
  ...
  "serviceLabel": "SERVICE_LABEL",
  "serviceName": "SERVICE_LABEL.FORWARDING_RULE_NAME.il4.REGION.lb.PROJECT.internal",
  ...
}

Respons Load Balancer Jaringan proxy internal regional dan Load Balancer Aplikasi internal regional:

{
  ...
  "serviceLabel": "SERVICE_LABEL",
  "serviceName": "SERVICE_LABEL.FORWARDING_RULE_NAME.il7.REGION.lb.PROJECT.internal",
  ...
}

Contoh

Prosedur berikut menunjukkan cara mengganti aturan penerusan dengan aturan yang memiliki label layanan. Prosedur ini berfungsi untuk semua load balancer yang didukung.

Jika Anda belum membuat aturan penerusan untuk load balancer internal, lewati contoh ini dan lihat Membuat aturan penerusan dengan label layanan.

  1. Jelaskan aturan penerusan load balancer yang ada, dengan memperhatikan alamat IP internal aturan penerusan:

    gcloud compute forwarding-rules describe FORWARDING_RULE_NAME \
        --region=REGION \
        --format="get(IPAddress)"
    
  2. Hapus aturan penerusan:

    gcloud compute forwarding-rules delete FORWARDING_RULE_NAME \
        --region=REGION
    
  3. Buat aturan penerusan pengganti dengan nama dan alamat IP internal yang sama dengan label layanan. Lihat Membuat aturan penerusan dengan label layanan untuk mengetahui petunjuknya.

Langkah selanjutnya