Nama DNS dan load balancing internal

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 menetapkan label layanan secara opsional, sehingga Google Cloud akan membuat nama DNS internal Compute Engine yang 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 ditempatkan di region yang sama, kecuali jika akses global tersedia dan diaktifkan. Jika Anda mengaktifkan akses global, klien di region mana pun dapat mengakses load balancer.

  • Anda hanya dapat menentukan label layanan saat membuat 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 yang asli jika Anda menghapus aturan penerusan asli terlebih dahulu.

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

    • Tidak ada catatan PTR 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 formatnya 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:

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

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

  • Anda dapat menggunakan hingga 63 huruf kecil (a sampai z), angka (0 sampai 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 format organization:project-id 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 untuk Load Balancer Jaringan passthrough internal atau Load Balancer Aplikasi internal.

Prosedur ini hanya berfokus pada cara membuat aturan penerusan dengan label layanan. Properti konfigurasi backend load balancer dan properti lain dari konfigurasi frontend-nya dihilangkan. Jika Anda baru mengenal Load Balancer Jaringan passthrough internal atau Load Balancer Aplikasi internal, lihat halaman berikut 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, dan klik Konfigurasikan.
  4. Tentukan nama untuk load balancer.
  5. Klik Lanjutkan.
  6. Selesaikan Backend configuration.
  7. Klik Frontend configuration. Selesaikan konfigurasi frontend, dengan menentukan Service label di bagian bawah bagian tersebut.

  8. Klik Done, lalu Review and finalize.

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 HTTPS internal:

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=443 \
    --service-label=SERVICE_LABEL

Untuk membuat aturan penerusan dengan label layanan untuk load balancer HTTP internal:

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 HTTPS target (untuk load balancer HTTPS internal) atau proxy HTTP target (untuk load balancer HTTP internal).
  • 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 atau proxy target load balancer.
  • INTERNAL_IP adalah alamat IP internal dalam rentang IP utama subnet yang dipilih. Anda dapat menghapus flag --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, protokolnya harus TCP.
  • Untuk Load Balancer Jaringan passthrough internal, PORTS adalah array yang berisi hingga lima port menurut angka, atau kata ALL. Untuk load balancer HTTPS internal, Anda harus menggunakan 443 untuk port; untuk load balancer HTTP internal, Anda dapat menggunakan 80 atau 8080 untuk PORT. Lihat Spesifikasi port dalam konsep aturan penerusan untuk mengetahui detail selengkapnya.
  • SERVICE_LABEL adalah label layanan yang Anda inginkan. Nama tersebut 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 HTTPS internal:

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": 443,
  "serviceLabel": "SERVICE_LABEL"
}

Untuk membuat aturan penerusan dengan label layanan untuk load balancer HTTP internal:

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 HTTPS target (untuk load balancer HTTPS internal) atau proxy HTTP target (untuk load balancer HTTP internal).
  • 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 atau proxy target load balancer.
  • 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, protokolnya harus TCP.
  • Untuk Load Balancer Jaringan passthrough internal, PORTS adalah array yang berisi hingga lima port menurut angka, atau kata ALL. Untuk load balancer HTTPS internal, Anda harus menggunakan 443 untuk port; untuk load balancer HTTP internal, Anda dapat menggunakan 80 atau 8080 untuk PORT. Lihat Spesifikasi port dalam konsep aturan penerusan untuk mengetahui detail selengkapnya.
  • SERVICE_LABEL adalah label layanan yang Anda inginkan. Nama tersebut harus mengikuti konvensi penamaan.

Melihat label layanan

Konsol

Anda dapat melihat nama DNS internal Compute Engine (yang dibuat dari label layanan) untuk setiap aturan penerusan internal pada 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 DNS name menampilkan nama DNS internal Compute Engine yang ditetapkan untuk 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. Buat daftar aturan penerusan dalam project Anda yang digunakan oleh Load Balancer Jaringan passthrough internal atau Load Balancer Aplikasi internal. Temukan yang Anda butuhkan, lalu catat nama dan regionnya 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, gunakan INTERNAL_MANAGED.
  2. Jelaskan aturan penerusan, dengan mengganti FORWARDING_RULE_NAME dengan namanya dan REGION dengan regionnya:

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

api

Lihat 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 TCP/UDP:

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

Respons HTTP(S):

{
  ...
  "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 Load Balancer Jaringan passthrough internal dan Load Balancer Aplikasi internal.

Jika Anda belum membuat aturan penerusan untuk load balancer internal, lewati contoh ini dan baca artikel 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 rute.

Langkah selanjutnya