Halaman ini menjelaskan cara menggunakan setelan traffic masuk untuk membatasi akses jaringan ke
layanan Cloud Run Anda. Di tingkat jaringan, secara default, resource apa pun di
internet dapat menjangkau layanan Cloud Run Anda di
URL run.app
atau di domain kustom yang disiapkan di Cloud Run. Anda dapat mengubah
setelan default ini dengan menentukan setelan yang berbeda untuk traffic masuk. Semua jalur traffic masuk,
termasuk URL run.app
default, tunduk pada setelan ingress Anda.
Traffic masuk ditetapkan di tingkat layanan.
Setelan traffic masuk dan metode autentikasi IAM adalah dua cara untuk mengelola akses ke layanan. Keduanya tidak saling bergantung. Untuk pendekatan berlapis guna mengelola akses, gunakan keduanya.
Setelan masuk yang tersedia
Berikut adalah setelan yang tersedia:
Setelan | Deskripsi |
---|---|
Internal |
Batasan maksimum. Mengizinkan permintaan dari sumber berikut:
run.app . Permintaan
dari sumber lain, termasuk internet, tidak dapat menjangkau layanan Anda
di run.app URL atau domain kustom.Permintaan ke Cloud Run dari Cloud Run, Cloud Functions, atau App Engine harus diarahkan ke jaringan VPC agar dianggap internal. Untuk mengarahkan permintaan ke jaringan VPC, gunakan traffic keluar VPC Langsung atau konektor Akses VPC Serverless dan aktifkan Akses Google Pribadi pada subnet yang terkait dengan traffic keluar VPC Langsung atau konektornya. Tidak ada dukungan untuk multi-tenancy, yaitu, beberapa domain kepercayaan dalam project yang sama. |
Cloud Load Balancing dan Internal | Mengizinkan permintaan dari resource berikut:
|
Semua |
Batasan minimum. Mengizinkan semua permintaan, termasuk permintaan langsung dari
internet ke URL run.app .
|
Mengakses layanan internal
Pertimbangan tambahan berikut berlaku:
Saat mengakses layanan internal, panggil layanan seperti yang biasa Anda lakukan menggunakan URL publiknya, baik URL
run.app
default atau domain kustom yang disiapkan di Cloud Run.Untuk permintaan dari instance VM Compute Engine, tidak diperlukan penyiapan lebih lanjut untuk mesin yang memiliki alamat IP publik atau yang menggunakan Cloud NAT. Jika tidak, baca bagian Menerima permintaan dari jaringan VPC.
Untuk permintaan dari layanan Cloud Run lain atau dari Cloud Functions dalam project yang sama, hubungkan layanan atau fungsi ke jaringan VPC dan arahkan semua traffic keluar melalui konektor, seperti yang dijelaskan dalam VPC dengan konektor. Perlu diperhatikan bahwa izin invoker IAM masih diterapkan.
Permintaan dari resource dalam jaringan VPC pada project yang sama diklasifikasikan sebagai "internal" meskipun resource asalnya memiliki alamat IP publik.
Permintaan dari resource pada project terpisah tetapi dalam perimeter Kontrol Layanan VPC yang sama hanya dapat memanggil layanan internal jika Anda mengonfigurasi Cloud Run Admin API sebagai layanan terbatas di perimeter layanan.
Untuk informasi tentang kapan traffic VPC Bersama dikenali sebagai "internal", lihat Pertimbangan khusus untuk VPC Bersama.
Permintaan dari resource lokal yang terhubung ke jaringan VPC melalui Cloud VPN dan Cloud Interconnect dianggap "internal".
Untuk permintaan dari Cloud Scheduler, Cloud Tasks, Eventarc, Pub/Sub, BigQuery, dan Workflows ke layanan internal, pertimbangan berikut berlaku:
- Anda harus menggunakan URL
run.app
default Cloud Run untuk layanan tersebut, bukan domain kustom apa pun. - Job, tugas, langganan Pub/Sub, peristiwa, alur kerja, atau fungsi jarak jauh BigQuery harus berada dalam perimeter Kontrol Layanan VPC yang sama dengan layanan Cloud Run.
- Anda harus menggunakan URL
Anda dapat memanggil layanan internal dari sumber traffic di luar jaringan VPC menggunakan Cloud Scheduler, Cloud Tasks, Pub/Sub, Eventarc, Workflows, atau BigQuery dari dalam project atau perimeter Kontrol Layanan VPC.
Setelan masuk
Anda dapat menyetel traffic masuk menggunakan salah satu metode yang didukung di tab:
Konsol
Jika Anda mengonfigurasi layanan baru, klik Buat Layanan dan isi halaman setelan layanan awal seperti yang diinginkan.
Jika Anda mengonfigurasi layanan yang ada, klik layanan tersebut, lalu klik tab Networking.
Pilih traffic masuk yang ingin Anda izinkan:
Klik Buat atau Simpan.
Command line
Jika Anda men-deploy layanan baru, deploy layanan dengan flag
--ingress
:gcloud run deploy SERVICE --image IMAGE_URL --ingress INGRESS
Ganti
INGRESS
dengan salah satu setelan masuk yang tersedia:all
internal
internal-and-cloud-load-balancing
SERVICE
dengan nama layanan Anda- IMAGE_URL dengan 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 memiliki bentukLOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG
Jika Anda mengubah layanan masuk yang sudah ada:
gcloud run services update SERVICE --ingress INGRESS
Ganti
INGRESS
dengan salah satu setelan masuk yang tersedia:all
internal
internal-and-cloud-load-balancing
SERVICE
dengan nama layanan Anda
YAML
Jika Anda membuat layanan baru, lewati langkah ini. Jika Anda mengupdate layanan yang ada, download konfigurasi YAML:
gcloud run services describe SERVICE --format export > service.yaml
Update anotasi
run.googleapis.com/ingress:
:apiVersion: serving.knative.dev/v1 kind: Service metadata: annotations: run.googleapis.com/ingress: INGRESS name: SERVICE spec: template: metadata: name: REVISION
Ganti
- SERVICE dengan nama Cloud Run Anda.
- INGRESS dengan salah satu
setelan masuk yang tersedia:
all
internal
internal-and-cloud-load-balancing
- REVISION dengan nama revisi baru atau hapus (jika ada). Jika Anda memberikan nama revisi baru, nama tersebut harus memenuhi kriteria berikut:
- Dimulai dengan
SERVICE-
- Hanya berisi huruf kecil, angka, dan
-
- Tidak diakhiri dengan
-
- Tidak melebihi 63 karakter
- Dimulai dengan
Ganti layanan dengan konfigurasi barunya menggunakan perintah berikut:
gcloud run services replace service.yaml
Terraform
Untuk mempelajari cara menerapkan atau menghapus konfigurasi Terraform, lihat Perintah dasar Terraform.
Tambahkan berikut ini ke file main.tf
:
Langkah selanjutnya
- Pelajari setelan keluar
- Siapkan Aplikasi internal Load Balancer untuk Cloud Run
- Siapkan Aplikasi eksternal Load Balancer dengan Cloud Run
- Mengonfigurasi metode autentikasi IAM untuk mengakses layanan