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 jenis ini. FQDN di-resolve 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 merutekan traffic ke layanan pribadi yang dapat dijangkau menggunakan konektivitas hybrid, termasuk layanan internet, multi-cloud, dan lokal yang dinamai. Layanan jarak jauh dirujuk 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 merutekan 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.

Grup endpoint jaringan INTERNET_FQDN_PORT

Untuk merutekan 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 portnya. Cloud Service Mesh memprogram FQDN ke dalam proxy Envoy menggunakan konfigurasi xDS.

Cloud Service Mesh itu sendiri tidak menjamin resolusi nama dan keterjangkauan endpoint jarak jauh. FQDN harus dapat di-resolve oleh 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 lainnya yang digunakan dengan Cloud Load Balancing dan Cloud Service Mesh. Meskipun sebagian besar jenis endpoint jaringan lainnya menggunakan sistem pemeriksaan kondisi terpusat Google Cloud, NEG yang digunakan untuk endpoint di lingkungan multi-cloud (INTERNET_FQDN_PORT dan NON_GCP_PRIVATE_IP_PORT) menggunakan mekanisme pemeriksaan kondisi 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 terkait DNS:

  • Server DNS yang menghosting data resource layanan eksternal Anda.
  • Mode yang digunakan proxy Envoy untuk mengonfigurasi DNS guna manajemen koneksi.

Server Cloud DNS

Anda dapat membuat zona pribadi yang dikelola Cloud DNS untuk menghosting data DNS di project Google Cloud Anda. Anda juga dapat menggunakan fitur lain dari Cloud DNS, 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 di-resolve. Fitur ini mengikuti status health check dan menghabiskan koneksi ke endpoint yang tidak responsif atau tidak lagi di-resolve menggunakan DNS. Anda tidak dapat mengubah mode ini.

Untuk informasi selengkapnya tentang penemuan layanan, lihat dokumentasi Envoy.

Konektivitas dan pemilihan rute

Jika Anda merutekan traffic ke layanan pribadi, berikut adalah persyaratan untuk konektivitas jaringan yang mendasarinya:

  • 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 membangun keterjangkauan dua arah dari Envoy ke endpoint layanan pribadi Anda dan, jika berlaku, ke server DNS lokal.
  • Agar failover ketersediaan tinggi regional berhasil, perutean dinamis global harus diaktifkan. Untuk mengetahui detail selengkapnya, lihat mode pemilihan rute dinamis.

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

  • Instance virtual machine (VM) klien di jaringan VPC harus memiliki alamat IP eksternal atau Cloud NAT.
  • Rute default harus ada untuk 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 menyeluruh 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, pemeriksaan status endpoint jarak jauh dilakukan menggunakan mekanisme pemeriksaan status 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 pemeriksaan kesehatan 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:

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

Langkah selanjutnya