Halaman ini menjelaskan cara menggunakan setelan masuk untuk membatasi akses jaringan ke
layanan Cloud Run Anda. Di tingkat jaringan, secara default,
resource di internet dapat menjangkau Cloud Run Anda
layanan di URL run.app
defaultnya atau di domain kustom yang disiapkan di Cloud Run.
Semua jalur masuk, termasuk URL run.app
default, tunduk pada
setelan traffic masuk. Traffic masuk ditetapkan di tingkat layanan.
Anda dapat mengubah setelan default ini dengan menentukan setelan traffic masuk yang berbeda
atau dengan menonaktifkan URL run.app
.
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:
Permintaan dari sumber ini tetap berada dalam jaringan Google, meskipun akses layanan Anda di URL run.app . Permintaan
dari sumber lain, termasuk internet, tidak dapat menjangkau layanan Anda di
URL run.app atau domain kustom.Untuk permintaan dari Cloud Scheduler, Cloud Tasks, Eventarc, Pub/Sub, BigQuery, dan Workflows ke layanan internal, Anda harus menggunakan opsi default Cloud Run run.app
URL untuk layanan tersebut. Anda tidak dapat menggunakan domain kustom.
|
Cloud Load Balancing dan Internal | Setelan ini mengizinkan permintaan dari resource berikut:
Catatan: Untuk mengaktifkan setelan ini di gcloud CLI, gunakan internal-and-cloud-load-balancing .
Untuk mengaktifkan setelan ini di Konsol Google Cloud, pilih
Internal > Mengizinkan traffic dari Load Balancer Aplikasi eksternal.
|
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 eksternal atau yang menggunakan Cloud NAT. Jika tidak, lihat Menerima permintaan dari jaringan VPC.
Saat memanggil dari Cloud Run, App Engine, atau Cloud Functions ke layanan Cloud Run yang disetel ke "Internal" atau "Internal dan Cloud Load Balancing", traffic harus diarahkan melalui VPC jaringan yang dianggap internal. Lihat Menerima permintaan dari layanan Cloud Run, App Engine, dan Cloud Functions lainnya.
Permintaan dari resource dalam jaringan VPC dalam project yang sama adalah "internal" meskipun resource asalnya memiliki IP eksternal alamat IPv6
Permintaan dari resource lokal yang terhubung ke jaringan VPC menggunakan Cloud VPN dan Cloud Interconnect bersifat "internal".
Setel traffic masuk
Anda dapat menyetel traffic masuk menggunakan salah satu metode yang didukung di tab:
Konsol
Jika Anda mengonfigurasi layanan baru, klik Create service dan isi halaman setelan layanan awal sesuai keinginan.
Jika Anda mengonfigurasi layanan yang ada, klik layanan tersebut, dan lalu klik tab Networking.
Pilih traffic masuk yang ingin Anda izinkan:
Klik Buat atau Simpan.
gcloud
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 sudah 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 kode berikut ke file main.tf
Anda:
Nonaktifkan URL default
Menonaktifkan URL run.app
default untuk Cloud Run Anda
layanan Google untuk mencegah akses ke layanan apa pun kecuali melalui Cloud Load Balancing
yang Anda kelola. Hal ini mengarahkan semua lalu lintas masuk
ke kebijakan keamanan yang Anda
melakukan konfigurasi pada load balancer.
Menonaktifkan URL run.app
akan mencegah layanan Google Cloud berikut
dari pemanggilan layanan Cloud Run:
- Fungsi jarak jauh BigQuery
- Cloud Scheduler
- Cloud Service Mesh
- Cloud Tasks
- Eventarc
- Hosting Aplikasi Firebase
- Firebase Hosting
- Pub/Sub
- Monitor sintetis dan cek uptime
Command line
Untuk menonaktifkan URL
run.app
untuk suatu layanan, jalankangcloud beta run deploy
dengan flag--no-default-url
:gcloud beta run deploy SERVICE_NAME --no-default-url
dengan SERVICE_NAME adalah nama Cloud Run Anda layanan.
Di output, URL akan ditampilkan sebagai None
.
YAML
Jika Anda membuat layanan baru, lewati langkah ini. Jika Anda mengupdate layanan yang sudah ada, download konfigurasi YAML:
gcloud run services describe SERVICE --format export > service.yaml
Untuk menonaktifkan URL
run.app
, deploy layanan Anda dengan anotasidefault-url-disabled:
:apiVersion: serving.knative.dev/v1 kind: Service metadata: annotations: run.googleapis.com/default-url-disabled: true run.googleapis.com/launch-stage: BETA name: SERVICE spec: template: metadata: name: REVISION
Ganti
- SERVICE dengan nama layanan Cloud Run Anda.
- 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
Langkah selanjutnya
- Pelajari setelan keluar
- Siapkan Load Balancer Aplikasi internal untuk Cloud Run.
- Siapkan Load Balancer Aplikasi eksternal dengan Cloud Run.
- Mengonfigurasi IAM metode otentikasi untuk mengakses layanan.