Untuk mendapatkan hasil maksimal dari konten ini, Anda harus memahami beberapa konsep berikut:
- Jaringan dasar
- Google Cloud Jaringan Virtual Private Cloud (VPC)
Guna mengamankan traffic jaringan untuk layanan dan aplikasinya, banyak organisasi menggunakan jaringan pribadi di Google Cloud dengan kontrol perimeter untuk mencegah pemindahan data yang tidak sah. Jaringan pribadi Anda mungkin memiliki properti berikut:
- Anda mungkin memiliki sejumlah resource, seperti VM, yang berada di satu atau beberapa jaringan VPC.
- VM ini mungkin dimiliki oleh banyak project yang berbeda, dan mungkin terhubung bersama dengan VPC Bersama.
- Anda mungkin memiliki workload lokal atau workload di cloud lain yang terhubung ke lingkungan ini menggunakanCloud VPN atau Cloud Interconnect.
- Anda mungkin telah mengaktifkan perimeter Kontrol Layanan VPC untuk mengurangi risiko pemindahan data yang tidak sah.
- Anda mungkin memiliki beberapa jaringan pribadi, satu untuk setiap lingkungan yang berbeda, misalnya satu untuk produksi, satu untuk staging, dan satu untuk pengembangan.
Tidak seperti VM, sumber daya Cloud Run secara default tidak terkait dengan jaringan VPC tertentu. Halaman ini menjelaskan cara menggabungkan resource Cloud Run ke dalam jaringan pribadi Anda.
Narasi jaringan serverless
Untuk mempelajari berbagai konfigurasi umum perusahaan untuk jaringan publik dan pribadi, baca Narasi jaringan serverless kami.
Titik awal ini memperkenalkan skenario Cloud Run dari dasar hingga lanjutan berikut:
- Men-deploy aplikasi "Hello, World!" yang menggunakan domain kustom dengan aman
- Mengembangkan aplikasi dan microservice perusahaan
- Mengakses database dan sistem file secara publik atau pribadi
- Menghubungkan dengan penyedia SaaS
- Menerapkan kontrol keamanan
Lihat daftar modul Terraform yang sesuai.
Menerima permintaan dari jaringan pribadi Anda
Penerimaan permintaan dari jaringan pribadi Anda memerlukan konfigurasi berdasarkan kondisi berikut:
- Asal permintaan.
- Apakah resource Cloud Run hanya mengizinkan permintaan dari jaringan pribadi Anda.
Misalnya, penerimaan permintaan dari jaringan VPC mungkin memerlukan konfigurasi yang berbeda dibandingkan menerima permintaan dari resource lokal dan cloud lainnya.
Menerima permintaan dari resource Cloud Run atau App Engine lainnya
Saat resource Cloud Run tujuan Anda menerima traffic dari resource Cloud Run atau App Engine lain, dan menggunakan setelan ingress "internal" atau "internal dan load balancing", traffic harus menggunakan jaringan VPC agar dianggap internal.
Untuk menerima permintaan dari resource Cloud Run atau App Engine lainnya, lakukan langkah-langkah berikut:
Konfigurasikan resource source untuk menggunakan Direct VPC egress atau konektor.
Pastikan traffic ke rute Cloud Run melalui jaringan VPC menggunakan salah satu opsi berikut:
- Konfigurasikan sumber daya source untuk merutekan semua lalu lintas melalui jaringan VPC dan aktifkan Akses Google Pribadi pada subnet yang terkait dengan egress Direct VPC atau konektor.
- Siapkan Private Service Connect atau Load Balancer Aplikasi internal untuk menghadap ke resource Cloud Run tujuan Anda. Dengan konfigurasi ini, Anda dapat mengakses Cloud Run menggunakan alamat IP internal, sehingga permintaan dirutekan melalui jaringan VPC.
- Aktifkan Akses Google Pribadi di subnet yang terkait dengan resource sumber dan konfigurasi DNS untuk me-resolve URL
run.appke rentangprivate.googleapis.com(199.36.153.8/30) ataurestricted.googleapis.com(199.36.153.4/30). Permintaan ke rentang ini dirutekan melalui jaringan VPC.
Menerima permintaan dari jaringan VPC
Secara default, hanya resource yang memiliki alamat IP eksternal atau menggunakan Cloud NAT yang dapat langsung mengakses internet danGoogle Cloud layanan seperti Pub/Sub dan Cloud Run. Untuk resource lainnya, ada beberapa opsi untuk mengaktifkan jalur traffic ke Cloud Run:
- Jalur paling langsung adalah mengaktifkan Akses Google Pribadi
di subnet yang menghosting resource Anda. Saat Akses Google Pribadi diaktifkan, sumber daya di subnet dapat mengakses sumber daya Cloud Run Anda di URL
run.appdefault. Lalu lintas dari jaringan VPC Anda ke Cloud Run tetap berada di jaringan Google. Dalam hal ini, rentang IP untuk permintaan yang dikirim ke sumber daya Cloud Run adalah0.0.0.0/32. Artinya, dalam entri log permintaan, atributremoteIpdari HttpRequest akan menjadi0.0.0.0. - Jika Anda perlu mengakses resource Cloud Run (bersama dengan Google API lainnya) melalui alamat IP internal di jaringan VPC, pertimbangkan untuk membuat endpoint Private Service Connect dan mengonfigurasi zona DNS pribadi untuk
run.app. Dengan konfigurasi ini, resource di jaringan VPC dapat mengakses resource Cloud Run di URLrun.appdefault melalui alamat IP endpoint Private Service Connect. - Jika Anda memerlukan kemampuan dan kontrol load balancing, pertimbangkan untuk menggunakan Load Balancer Aplikasi internal. Dengan pendekatan ini, resource di jaringan VPC mengakses resource Cloud Run Anda menggunakan URL yang terkait dengan Load Balancer Aplikasi internal.
- Jika ingin mengekspos layanan Anda ke klien internal sebagai layanan terkelola dan dapat mengontrol project yang dapat mengaksesnya, Anda dapat menghosting layanan dengan Load Balancer Aplikasi internal dan memublikasikan layanan menggunakan Private Service Connect. Project yang perlu menggunakan layanan dapat mengaksesnya menggunakan endpoint Private Service Connect atau backend Private Service Connect.
Respons akan ditampilkan menggunakan jalur yang sama dengan yang dilalui permintaan.
Pertimbangkan dengan khusus untuk VPC bersama
Saat menggunakan setelan internal dengan kontrol masuk Cloud Run untuk menerapkan bahwa semua traffic harus berasal dari jaringan pribadi Anda, traffic VPC Bersama hanya dikenali sebagai "internal" dalam situasi berikut:
Resource Cloud Run berjalan di project host VPC Bersama.
Ingress VPC Bersama: resource Cloud Run dilampirkan ke jaringan VPC Bersama. Dalam skenario ini, perhatikan pertimbangan berikut:
Hanya revisi layanan atau instance Cloud Run yang telah mengonfigurasi Traffic keluar VPC Langsung atau yang telah mengonfigurasi konektor Akses VPC Serverless untuk mengirim traffic ke jaringan VPC Bersama yang akan juga menerima traffic dari jaringan VPC Bersama yang sama.
Permintaan menggunakan jalur yang berbeda berdasarkan arah traffic. Permintaan yang dikirim dari Cloud Run ke jaringan VPC Bersama dirutekan oleh Direct VPC egress atau konektor. Namun, permintaan yang dikirim dari jaringan VPC Bersama ke Cloud Run menggunakan jalur ingress standar.
Untuk melepaskan resource Cloud Run dari jaringan VPC Bersama, deploy ulang tanpa akses jaringan VPC, atau dengan resource yang dikonfigurasi untuk mengirim traffic ke jaringan VPC yang berbeda.
Anda menggunakan Load Balancer Aplikasi internal untuk mem-proxy traffic.
Anda telah menempatkan host VPC Bersama dan semua project layanan di dalam perimeter Kontrol Layanan VPC yang sama. Untuk menyiapkan Kontrol Layanan VPC, lihat Menggunakan Kontrol Layanan VPC (VPC SC).
Pertimbangan khusus untuk jaringan VPC lain di luar project Anda
Saat menggunakaninternal pengaturan dengan Cloud Runkontrol masuk Untuk memastikan bahwa semua lalu lintas harus berasal dari jaringan pribadi Anda, lalu lintas dari jaringan VPC lain di luar proyek Anda tidak akan dikenali sebagai "internal" kecuali dalam situasi berikut:
- Kontrol Layanan VPC dikonfigurasi untuk mengizinkan traffic dengan
run.googleapis.comsebagai layanan yang dibatasi, dan Akses Google Pribadi diaktifkan untuk subnet sumber. - Resource Cloud Run Anda dipublikasikan sebagai layanan terkelola dengan menggunakan Private Service Connect (memerlukan Load Balancer Aplikasi internal), dan diakses dari jaringan VPC lain.
Peering dengan jaringan VPC yang berada di luar project Anda tidak mengizinkan traffic dikenali sebagai "internal".
Menerima permintaan dari layanan Google Cloud lainnya
Permintaan ke Cloud Run dari Google Cloud layanan seperti Pub/Sub tetap berada dalam jaringan Google.
Ada beberapa pertimbangan khusus jika Anda telah mengonfigurasi kontrol ingress Cloud Run agar hanya mengizinkan traffic "internal":
- Permintaan dari BigQuery, Cloud Scheduler, Cloud Tasks, Dialogflow CX, Eventarc, Pub/Sub, monitor sintetis (termasuk pemeriksaan uptime), dan Workflows dalam project atau perimeter Kontrol Layanan VPC yang sama dikenali sebagai "internal".
- Permintaan dari Cloud Run atau App Engine yang dikirim dari dalam project atau perimeter Kontrol Layanan VPC yang sama memerlukan konfigurasi tambahan sebelum diakui sebagai "internal". Untuk mengetahui detailnya, lihat bagian Menerima permintaan dari layanan Cloud Run atau App Engine lainnya.
- Jika Google Cloud layanan pilihan Anda tidak dapat mengakses sumber daya Cloud Run yang memiliki ingress yang diatur ke
internal, perhatikan bahwa banyak layanan mendukung otentikasi ke Cloud Run, seperti Pub/Sub (mendukunginternaldan otentikasi), Gateway API, dan Dialogflow CX (mendukunginternaldan otentikasi). Bergantung pada kebutuhan keamanan Anda, resource Cloud Run tujuan mungkin cukup untuk meminta autentikasi, bukan ingress "internal". - Permintaan dari layanan Google Cloud yang tidak disebutkan sebelumnya tidak diakui sebagai internal dan tidak dapat diterima oleh resource Cloud Run yang menetapkan ingress ke
internalatauinternal-and-cloud-load-balancing.
Menerima permintaan dari resource lokal atau cloud lainnya
Ada beberapa cara untuk menerima permintaan secara pribadi dari resource lokal dan cloud lainnya.
- Konfigurasi dasar: Agar permintaan dari resource lokal dan cloud lain melintasi jaringan pribadi Anda, konfigurasikan Akses Google Pribadi untuk host lokal.
- Membuat resource Cloud Run dapat diakses melalui alamat IP internal: Untuk memanggil resource Cloud Run menggunakan alamat IP internal, buat endpoint Private Service Connect untuk mengakses Google API, konfigurasi zona DNS pribadi untuk
run.app, dan konfigurasi jaringan lokal Anda untuk mengakses endpoint. Dengan konfigurasi ini, host lokal dapat mengakses resource Cloud Run di URLrun.appdefault melalui alamat IP endpoint Private Service Connect. - Dengan kemampuan load balancing: Jika Anda memerlukan kemampuan dan kontrol load balancing, gunakan Load Balancer Aplikasi internal. Untuk mengetahui informasi tentang cara mengakses Load Balancer Aplikasi internal dari jaringan lokal, lihat bagian Menggunakan Cloud VPN dan Cloud Interconnect.
- Di seluruh batas administratif: Jika ingin mengekspos layanan Anda kepada klien internal sebagai layanan terkelola dan dapat mengontrol project mana yang dapat mengaksesnya, Anda dapat memublikasikan layanan menggunakan Private Service Connect (memerlukan Load Balancer Aplikasi internal). Untuk mengakses layanan dari host lokal, buat endpoint Private Service Connect dan konfigurasi jaringan lokal untuk mengakses endpoint. Untuk mengetahui informasi selengkapnya, lihat Mengakses endpoint dari jaringan hybrid. Atau, Anda dapat menggunakan backend Private Service Connect dengan load balancer. Untuk mengetahui informasi tentang cara mengakses load balancer dari jaringan lokal, lihat dokumentasi untuk load balancer yang Anda gunakan--misalnya, untuk Load Balancer Aplikasi internal, lihat Menggunakan Cloud VPN dan Cloud Interconnect.
Mewajibkan permintaan berasal dari jaringan pribadi Anda
Untuk mencegah lalu lintas masuk (ingress) dari sumber eksternal, Anda menentukan pengaturan ingress yang restriktif.
Setelan ingress yang paling ketat adalah internal. Dengan traffic masuk ditetapkan ke internal, layanan Anda hanya mengizinkan permintaan dari project Anda, jaringan VPC Bersama tempat project Anda terpasang, dan perimeter Kontrol Layanan VPC Anda. Ada beberapa batasan pada setelan ini, bergantung pada dari mana
permintaan berasal. Untuk mempelajari batasan ini dan cara mengatasinya, lihat bagian Menerima permintaan dari jaringan pribadi Anda.
Anda dapat menentukan pengaturan ingress untuk setiap sumber daya Cloud Run, atau memberlakukan penggunaan pengaturan ingress pilihan Anda untuk semua sumber daya Cloud Run di organisasi Anda.
- Untuk menentukan pengaturan ingress untuk setiap sumber daya Cloud Run: Lihat Pengaturan ingress.
- Untuk menerapkan setelan ingress tertentu bagi semua resource Cloud Run di project, folder, atau organisasi Anda: Konfigurasikan batasan kebijakan organisasi
run.allowedIngress. Untuk mempelajari caranya, lihat Menyesuaikan kebijakan untuk batasan daftar.
Kirim permintaan ke jaringan pribadi Anda
Jika resource Cloud Run Anda perlu mengakses resource di jaringan pribadi, Anda mengonfigurasi jalur untuk permintaan pribadi ke jaringan Anda. Konfigurasi ini bergantung pada tujuan akhir permintaan.
Mengirim permintaan ke jaringan VPC Anda
Untuk mengirim permintaan ke Jaringan VPC, Anda harus mengonfigurasi Direct VPC egress atau konektor Akses VPC Serverless. Bandingkan Direct VPC egress dan Konektor VPC. Tinjau harga untuk memahami biaya.
Saat Direct VPC egress atau konektor dikonfigurasi, pertimbangan berikut berlaku secara default:
Semua kueri DNS dikirim ke server DNS yang dikonfigurasi untuk jaringan VPC yang terkait dengan penyiapan traffic keluar jaringan VPC Anda.
Permintaan ke alamat IP internal dirutekan ke jaringan VPC dengan menggunakan Direct VPC egress atau konektor. Permintaan ke tujuan publik terus dirutekan langsung ke internet, kecuali pengaturan egress Anda dikonfigurasi sebaliknya.
Dengan permintaan yang dirutekan menggunakan Direct VPC egress atau konektor, respons akan ditampilkan menggunakan jalur yang dilalui permintaan tersebut. Permintaan dari Jaringan VPC ke Cloud Run diaktifkan dengan menggunakan teknologi lain dan tidak dirutekan melalui Direct VPC egress atau konektor, dan respons terhadap permintaan tersebut ditampilkan menggunakan jalur yang sama. Untuk mempelajari lebih lanjut cara mengirim permintaan dari jaringan VPC ke Cloud Run, lihat Menerima permintaan dari jaringan VPC.
Mengirim permintaan ke jaringan CPC di luar project Anda
Untuk mengirim permintaan ke jaringan VPC di luar project Anda:
- Untuk pengguna VPC Bersama, lihat Menghubungkan ke jaringan VPC Bersama.
- Untuk jaringan VPC lainnya, konfigurasikan Direct VPC egress atau konektor untuk terhubung ke VPC di proyek Anda.
- Jaringan VPC yang di-peering: Untuk mengirim ke VPC yang di-peering ke VPC yang menggunakan traffic keluar jaringan VPC, tidak ada konfigurasi tambahan yang diperlukan. Namun, VM di subnet yang menghosting traffic keluar jaringan VPC harus dapat menjangkau jaringan VPC target.
- Jaringan VPC lainnya: Untuk jaringan VPC di luar project Anda yang bukan bagian dari lingkungan VPC Bersama yang sama atau tidak terhubung ke jaringan VPC project Anda, konfigurasikan Private Service Connect setelah menyiapkan egress jaringan VPC.
Mengirim permintaan ke resource dan Google Cloud layanan Cloud Run lainnya
Permintaan dari satu resource Cloud Run ke resource Cloud Run lainnya atau keGoogle Cloud layanan lain tetap berada dalam jaringan internal Google dan tunduk pada Kontrol Layanan VPC.
Untuk permintaan ke resource Cloud Run dengan setelan ingress yang ketat, konfigurasi tambahan diperlukan. Lihat Menerima permintaan dari resource Cloud Run atau App Engine lainnya.
Kirim permintaan ke resource lokal dan cloud lainnya
Untuk mengirim permintaan ke sumber daya lokal dan cloud lain melalui jaringan pribadi Anda, Anda harus melakukan hal berikut:
- Pastikan jaringan VPC Anda dikonfigurasi untuk mengarahkan traffic ke tujuan secara pribadi, seperti melalui tunnel VPN.
- Konfigurasi layanan Anda untuk mengirim permintaan ke jaringan VPC Anda.
- Wajibkan semua permintaan masuk ke jaringan VPC Anda.
Mewajibkan semua permintaan masuk ke jaringan VPC Anda
Untuk mewajibkan semua permintaan dari resource Cloud Run Anda masuk ke jaringan VPC Anda, tentukan all-traffic
setelan traffic keluar jaringan VPC.
Anda dapat menentukan setelan traffic keluar untuk setiap resource Cloud Run yang menggunakan traffic keluar jaringan VPC, atau Anda dapat menerapkan penggunaan setelan traffic keluar yang diinginkan untuk semua resource Cloud Run di project, folder, atau organisasi Anda.
Hal ini berguna dalam situasi berikut:
- Anda ingin menyiapkan alamat IP keluar statis untuk resource Cloud Run.
- Anda ingin menerapkan aturan firewall untuk semua traffic keluar dari resource Cloud Run.
- Anda ingin mengirim permintaan ke resource lokal dan cloud lainnya melalui jaringan pribadi.
Jika resource Cloud Run Anda membuat permintaan ke tujuan akhir di luar jaringan VPC Anda, mewajibkan semua permintaan untuk masuk ke jaringan VPC Anda akan meningkatkan penggunaan bandwidth pada konektor Akses VPC Serverless yang dikonfigurasi dan dapat meningkatkan biaya yang sesuai. Konektor secara otomatis akan menyebarkan skala saat traffic meningkat, tetapi tidak akan meningkatkan skala jika traffic berkurang. Tinjau harga untuk memahami biaya.
- Untuk menentukan setelan egress untuk masing-masing resource Cloud Run: lihat Mengontrol traffic layanan egress.
- Untuk memberlakukan pengaturan egress tertentu untuk semua sumber daya Cloud Run di proyek, folder, atau organisasi Anda: konfigurasikan batasan kebijakan organisasi
run.allowedVPCEgress. Untuk mempelajari caranya, lihat Menyesuaikan kebijakan untuk batasan daftar.
Kontrol tambahan
- Kontrol perimeter: Guna mengurangi risiko pemindahan data yang tidak sah untuk
grup resource, tempatkan resource dalam perimeter kontekstual menggunakan
Kontrol Layanan VPC.
- Untuk memahami Kontrol Layanan VPC, lihat Ringkasan Kontrol Layanan VPC.
- Untuk memulai, lihat panduan Cloud Run Menggunakan Kontrol Layanan VPC (VPC SC).
- Untuk memahami biaya, tinjau harga.
- Kontrol terperinci: Untuk mengontrol akses traffic dari resource tertentu dalam jaringan pribadi Anda, seperti resource Cloud Run atau mesin virtual Compute Engine tertentu, gunakan akun layanan untuk mengontrol izin dan otentikasi.
- Untuk memahami akun layanan, lihat Apa yang dimaksud dengan akun layanan?
- Untuk memulai, lihat panduan autentikasi Cloud Run.
Langkah berikutnya
Untuk mempelajari lebih lanjut cara memberikan latensi rendah dan throughput tinggi menggunakan jalur jaringan langsung, lihat Direct VPC egress dengan Jaringan VPC.