Mengonfigurasi jaringan ambien

Jaringan ambient menghadirkan pengalaman jaringan resource yang disederhanakan dan terintegrasi ke dalam Cloud Run. Fitur ini memberi resource Anda bidang data yang terkelola sepenuhnya untuk menghilangkan beban operasional dalam membangun dan memelihara proxy kustom. Gateway API juga mengabstraksi konsep mesh layanan, sehingga Anda mendapatkan fitur jaringan lanjutan tanpa perlu mempelajari atau mengonfigurasi mesh.

Saat Anda mengaktifkan Ambient Networking, traffic akan diteruskan tanpa perubahan secara default sehingga traffic HTTP dan TCP yang ada akan terus berfungsi. Mengaktifkan jaringan ambien saja tidak akan mengubah perilaku resource Anda. Sebagai fondasi, jaringan ambien memungkinkan Anda memilih kemampuan yang dijelaskan di bagian berikut.

Kasus penggunaan

Ambient networking adalah fondasi untuk kemampuan jaringan lanjutan di Cloud Run. Setelah mengaktifkan jaringan ambien, Anda dapat memilih untuk menggunakan Agent Gateway di Cloud Run. Fitur ini mengatur traffic agen dengan kebijakan akses dan keamanan yang dikelola organisasi Anda secara terpusat.

Arsitektur

Jaringan ambient menjalankan container sidecar Envoy yang terkelola sepenuhnya di dalam setiap instance container resource Cloud Run, bersama dengan container aplikasi Anda. Sidecar mencegat traffic jaringan instance dan menerapkan kebijakan pemilihan rute dan keamanan yang didistribusikan Cloud Run ke instance tersebut.

Container sidecar ambient yang berjalan bersama container aplikasi
  di dalam instance container resource Cloud Run, dengan
  traffic yang mengalir dari sidecar ke resource Cloud Run
  lainnya.
Container sidecar ambient mencegat traffic antara container aplikasi Anda dan tujuan yang dipanggilnya (klik untuk memperbesar).

Cakupan Ambient Networking

Jaringan ambient mendukung cakupan global dan cakupan regional. Cakupan menentukan apakah sidecar terhubung ke bidang perutean global atau regional:

  • Regional (default): Cloud Run menghubungkan sidecar ke bidang pemilihan rute regional, sehingga membatasi kebijakan pemilihan rute dan keamanan ke tujuan dalam region layanan Anda. Cakupan ini mendukung persyaratan residensi data (DRZ) untuk data dalam penyimpanan, dalam penggunaan, dan dalam pengiriman. Jika Anda tidak menentukan cakupan, jaringan ambien akan menggunakan cakupan regional.
  • Global: Cloud Run menghubungkan file bantuan ke bidang perutean global, sehingga dapat merutekan traffic ke tujuan di region mana pun.

Setiap fitur yang menggunakan jaringan ambien memerlukan cakupan tertentu:

Fitur Cakupan global Cakupan regional
Agent Gateway di Cloud Run Tidak didukung Didukung

Batasan

Batasan berikut berlaku untuk jaringan ambient:

  • Traffic UDP tidak didukung. Jaringan ambient hanya mendukung traffic HTTP dan TCP.
  • Permintaan masuk tidak mendukung HTTP/2 end-to-end. Untuk mengetahui detailnya, lihat Masalah umum.
  • Cakupan regional tidak mendukung jaringan VPC yang me-resolve *.googleapis.com ke alamat IP Akses Google Pribadi. Untuk mengetahui detailnya, lihat Masalah umum.
  • Lingkungan eksekusi generasi pertama tidak didukung. Jika Anda tidak menentukan lingkungan eksekusi, Cloud Run akan menggunakan generasi kedua.
  • Instance container memerlukan waktu lebih lama untuk dimulai. Untuk mengetahui detailnya, lihat Masalah umum.

Sebelum memulai

  1. Login ke akun Google Cloud Anda. Jika Anda baru menggunakan Google Cloud, buat akun untuk mengevaluasi performa produk kami dalam skenario dunia nyata. Pelanggan baru juga mendapatkan kredit gratis senilai $300 untuk menjalankan, menguji, dan men-deploy workload.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  5. Verify that billing is enabled for your Google Cloud project.

  6. Aktifkan Cloud Run API, Network Services API, dan Traffic Director API, jika belum diaktifkan.

    Peran yang diperlukan untuk mengaktifkan API

    Untuk mengaktifkan API, Anda memerlukan izin serviceusage.services.enable. Jika Anda membuat project, kemungkinan Anda sudah memiliki izin ini melalui peran Pemilik (roles/owner). Jika tidak, Anda bisa mendapatkan izin ini melalui peran Service Usage Admin (roles/serviceusage.serviceUsageAdmin). Pelajari cara memberikan peran.

    Aktifkan API

  7. Tingkatkan batas CPU resource Cloud Run Anda sebesar 1 vCPU dan batas memorinya sebesar 1 GiB. Jika batas CPU baru bukan nilai yang didukung, gunakan nilai berikutnya yang lebih tinggi yang didukung. Sidecar ambient berbagi CPU dan memori instance container Anda, sehingga peningkatan ini memastikan aplikasi Anda tetap memiliki resource yang diperlukan.

  8. Baca halaman harga Cloud Run untuk mengetahui penggunaan sidecar Ambient Networking. Penagihan untuk fitur standby tidak diberlakukan selama Pratinjau.

Peran yang diperlukan

Untuk mendapatkan izin yang Anda perlukan untuk mengonfigurasi dan men-deploy layanan Cloud Run, minta administrator untuk memberi Anda peran IAM berikut:

Jika Anda men-deploy layanan atau fungsi dari kode sumber, Anda juga harus memiliki peran tambahan yang diberikan kepada Anda di project dan akun layanan Cloud Build.

Identitas layanan resource Cloud Run juga harus memiliki peran berikut:

  • Klien Traffic Director (roles/trafficdirector.client)
  • Cloud Trace Agent (roles/cloudtrace.agent)

Untuk memberikan peran ini ke identitas layanan, gunakan gcloud:

gcloud projects add-iam-policy-binding PROJECT_ID \
    --member="serviceAccount:RUN_CLIENT_SA@PROJECT_ID.iam.gserviceaccount.com" \
    --role="roles/trafficdirector.client"

gcloud projects add-iam-policy-binding PROJECT_ID \
    --member="serviceAccount:RUN_CLIENT_SA@PROJECT_ID.iam.gserviceaccount.com" \
    --role="roles/cloudtrace.agent"

Ganti kode berikut:

  • PROJECT_ID: Project ID Google Cloud Anda.
  • RUN_CLIENT_SA: nama akun layanan yang dilampirkan ke layanan Cloud Run Anda.

Jika identitas layanan tidak memiliki peran ini, resource Cloud Run tetap di-deploy, tetapi fitur yang menggunakan ambient networking tidak akan berfungsi.

Untuk mengetahui daftar peran dan izin IAM yang terkait dengan Cloud Run, lihat Peran IAM Cloud Run dan Izin IAM Cloud Run. Jika layanan Cloud Run Anda berinteraksi dengan APIGoogle Cloud , seperti Library Klien Cloud, lihat panduan konfigurasi identitas layanan. Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat izin deployment dan mengelola akses.

Mengonfigurasi jaringan ambien

Konfigurasikan ambient networking menggunakan gcloud atau file YAML.

gcloud

  • Untuk mengaktifkan ambient networking di layanan baru, teruskan flag --ambient-networking dan, secara opsional, flag --ambient-scope:

    gcloud beta run deploy SERVICE \
      --image=IMAGE_URL \
      --ambient-networking \
      --ambient-scope=SCOPE \
      --region=REGION
  • Untuk mengaktifkan ambient networking pada layanan yang ada, teruskan flag yang sama ke perintah gcloud beta run services update, yang men-deploy revisi baru dengan ambient networking diaktifkan:

    gcloud beta run services update SERVICE \
      --ambient-networking \
      --ambient-scope=SCOPE \
      --region=REGION
  • Untuk menonaktifkan jaringan ambient, teruskan flag --no-ambient-networking:

    gcloud beta run services update SERVICE \
      --no-ambient-networking \
      --region=REGION

Ganti kode berikut:

  • SERVICE: nama layanan Cloud Run Anda.
  • IMAGE_URL: referensi ke image container, misalnya, us-docker.pkg.dev/cloudrun/container/hello:latest. Jika Anda menggunakan Artifact Registry, repositori REPO_NAME harus sudah dibuat. URL mengikuti format LOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG .
  • SCOPE: cakupan jaringan ambien, global atau regional.
  • REGION: region untuk layanan Anda.

YAML

  1. Jika Anda membuat layanan baru, lewati langkah ini. Jika Anda mengupdate layanan yang sudah ada, download konfigurasi YAML-nya:

    gcloud run services describe SERVICE --format export > service.yaml
  2. Tambahkan anotasi run.googleapis.com/ambient-networking dan, opsional, anotasi run.googleapis.com/ambient-scope:

    spec:
     template:
       metadata:
         annotations:
           run.googleapis.com/ambient-networking: 'true'
           run.googleapis.com/ambient-scope: SCOPE

    Ganti SCOPE dengan cakupan jaringan ambient, baik global maupun regional. Untuk menonaktifkan ambient networking, tetapkan run.googleapis.com/ambient-networking ke 'false' dan hapus anotasi run.googleapis.com/ambient-scope.

  3. Buat atau update layanan menggunakan perintah berikut:

    gcloud run services replace service.yaml

    Perintah gcloud run services replace secara default menggunakan file service.yaml jika ada.

Melihat setelan jaringan ambien

Untuk melihat setelan ambient networking saat ini untuk layanan Cloud Run Anda:

Konsol

  1. Di konsol Google Cloud , buka halaman Services Cloud Run:

    Buka Cloud Run

  2. Klik layanan untuk membuka halaman Service details.

  3. Klik tab Networking.

  4. Di kartu Ambient networking, lihat setelan Scope.

gcloud

  1. Gunakan perintah berikut:

    gcloud beta run services describe SERVICE \
       --region=REGION
  2. Temukan anotasi run.googleapis.com/ambient-networking dan run.googleapis.com/ambient-scope dalam konfigurasi yang ditampilkan.

Langkah berikutnya