Cloud Service Mesh dengan grup endpoint jaringan internet

Anda dapat mengonfigurasi Cloud Service Mesh untuk menggunakan grup endpoint jaringan internet (NEG) dari jenis INTERNET_FQDN_PORT. Layanan eksternal diwakili oleh nama domain yang sepenuhnya memenuhi syarat (FQDN) dan nomor port di NEG. NEG hanya dapat berisi satu pasangan FQDN:Port, dan layanan backend hanya dapat berisi satu NEG dari jenis ini. FQDN diselesaikan menggunakan urutan resolusi nama jaringan Virtual Private Cloud (VPC) yang mendasarinya.

Memperluas mesh layanan Cloud Service Mesh menggunakan backend FQDN

Mesh layanan Cloud Service Mesh dapat mengarahkan traffic ke layanan pribadi yang dapat dijangkau menggunakan konektivitas hybrid, termasuk layanan lokal, multi-cloud, dan internet. Layanan jarak jauh direferensikan oleh FQDN-nya.

Memperluas mesh layanan Cloud Service Mesh ke lokasi lokal atau multi-cloud menggunakan backend FQDN melalui konektivitas hybrid.
Memperluas mesh layanan Cloud Service Mesh ke lokasi lokal atau multi-cloud menggunakan backend FQDN melalui konektivitas hybrid (klik untuk memperbesar)

Anda juga dapat mengarahkan traffic ke layanan yang dapat dijangkau melalui internet publik.

Memperluas mesh layanan Cloud Service Mesh ke layanan internet menggunakan backend FQDN.
Memperluas mesh layanan Cloud Service Mesh ke layanan internet menggunakan backend FQDN (klik untuk memperbesar)

Resource dan arsitektur Google Cloud

Bagian ini menjelaskan resource dan arsitektur untuk mengonfigurasi Cloud Service Mesh dengan NEG internet.

INTERNET_FQDN_PORT grup endpoint jaringan

Untuk mengarahkan traffic ke layanan eksternal yang dirujuk oleh FQDN-nya, gunakan NEG internet global dari jenis INTERNET_FQDN_PORT. NEG berisi FQDN layanan Anda dan nomor port-nya. Cloud Service Mesh memprogram FQDN ke dalam proxy Envoy menggunakan konfigurasi xDS.

Cloud Service Mesh sendiri tidak menjamin resolusi nama dan keterjangkauan endpoint jarak jauh. FQDN harus dapat diselesaikan berdasarkan urutan resolusi nama jaringan VPC tempat proxy Envoy dilampirkan, dan endpoint yang di-resolve harus dapat dijangkau dari proxy Envoy.

Health check

Perilaku health check untuk endpoint jaringan jenis INTERNET_FQDN_PORT berbeda dengan perilaku health check untuk jenis endpoint jaringan lain yang digunakan dengan Cloud Load Balancing dan Cloud Service Mesh. Meskipun sebagian besar jenis endpoint jaringan lainnya menggunakan sistem health check terpusat Google Cloud, NEG yang digunakan untuk endpoint di lingkungan multi-cloud (INTERNET_FQDN_PORT dan NON_GCP_PRIVATE_IP_PORT) menggunakan mekanisme health check terdistribusi Envoy.

Envoy mendukung protokol berikut untuk health check:

  • HTTP
  • HTTPS
  • HTTP/2
  • TCP

Anda mengonfigurasi health check menggunakan Compute Engine API.

Pertimbangan DNS

Ada dua pertimbangan yang berbeda mengenai DNS:

  • Server DNS yang menghosting data resource layanan eksternal Anda.
  • Mode yang mengonfigurasi proxy Envoy untuk menggunakan DNS untuk pengelolaan koneksi.

Server Cloud DNS

Anda dapat membuat zona pribadi terkelola Cloud DNS untuk menghosting data DNS di project Google Cloud Anda. Anda juga dapat menggunakan fitur Cloud DNS lainnya, seperti zona penerusan, untuk mengambil data dari server DNS lokal.

Mode DNS Envoy

Mode DNS Envoy, yang juga disebut penemuan layanan, menentukan cara proxy Envoy menggunakan data DNS untuk mengelola koneksi keluar. Cloud Service Mesh mengonfigurasi Envoy untuk menggunakan mode DNS ketat. Mode DNS ketat memungkinkan load balancing ke semua endpoint yang telah diselesaikan. DNS menerima status health check dan menghentikan koneksi ke endpoint yang tidak responsif atau tidak lagi di-resolve menggunakan DNS. Anda tidak dapat mengubah mode ini.

Untuk mengetahui informasi selengkapnya tentang penemuan layanan, lihat dokumentasi Envoy.

Konektivitas dan pemilihan rute

Jika Anda mengarahkan traffic ke layanan pribadi, berikut adalah persyaratan untuk konektivitas jaringan pokok:

  • Konektivitas hybrid antara jaringan VPC dan pusat data lokal atau cloud publik pihak ketiga dibuat menggunakan Cloud VPN atau Cloud Interconnect.
  • Aturan dan rute firewall VPC dikonfigurasi dengan benar untuk menetapkan keterjangkauan dua arah dari Envoy ke endpoint layanan pribadi Anda dan, jika berlaku, ke server DNS lokal.
  • Untuk failover ketersediaan tinggi regional yang berhasil, perutean dinamis global harus diaktifkan. Untuk detail selengkapnya, lihat mode perutean dinamis.

Jika Anda mengarahkan traffic ke layanan eksternal yang dapat dijangkau di internet, berikut persyaratannya:

  • Instance virtual machine (VM) klien di jaringan VPC harus memiliki alamat IP eksternal atau Cloud NAT.
  • Rute default harus ada ke traffic keluar ke internet.

Dalam kedua kasus sebelumnya, traffic menggunakan perutean jaringan VPC.

Keamanan

Backend FQDN kompatibel dengan fitur keamanan Cloud Service Mesh dan API. Pada koneksi keluar ke layanan eksternal, Anda dapat mengonfigurasi FQDN di header SNI menggunakan kebijakan TLS klien.

Batasan dan pertimbangan

  • NEG internet jenis INTERNET_IP_PORT tidak didukung dengan Cloud Service Mesh.
  • Envoy versi 1.15.0 atau yang lebih baru diperlukan dengan backend FQDN.
  • Gunakan Google Cloud CLI atau REST API untuk mengonfigurasi Cloud Service Mesh. Konfigurasi end-to-end menggunakan konsol Google Cloud tidak didukung.
  • Backend FQDN hanya didukung dengan Envoy. gRPC tanpa proxy tidak didukung.
  • Saat Anda menggunakan jenis NEG INTERNET_FQDN_PORT dengan Cloud Service Mesh, health check endpoint jarak jauh dilakukan menggunakan mekanisme health check terdistribusi Envoy. Setiap kali endpoint jarak jauh baru ditambahkan, semua proxy Envoy akan mulai melakukan health check secara independen.

    Demikian pula, saat proxy Envoy baru ditambahkan ke mesh, proxy tersebut akan mulai memeriksa semua endpoint jarak jauh. Oleh karena itu, bergantung pada jumlah proxy Envoy dan endpoint jarak jauh dalam deployment Anda, mesh health check yang dihasilkan dapat menyebabkan traffic jaringan yang signifikan dan beban yang tidak semestinya pada endpoint jarak jauh. Anda dapat memilih untuk tidak mengonfigurasi health check.

  • Status health check tidak terlihat di Konsol Google Cloud untuk backend FQDN.

  • Health check yang menggunakan protokol UDP, SSL, dan gRPC tidak didukung.

  • Opsi health check berikut tidak didukung:

    • Health check HTTP/HTTP2/HTTPS
      • --proxy-header
      • --response
    • Health check TCP
      • --proxy-header
      • --request
      • --response

Langkah selanjutnya