Untuk mendapatkan hasil maksimal dari konten ini, Anda harus memahami konsep berikut:
- Jaringan dasar
- Jaringan Virtual Private Cloud (VPC) Google Cloud
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, layanan Cloud Run secara default tidak dikaitkan dengan jaringan VPC tertentu. Halaman ini menjelaskan cara menggabungkan layanan Cloud Run ke dalam jaringan pribadi Anda.
Narasi tentang jaringan serverless
Untuk mempelajari berbagai konfigurasi perusahaan umum untuk jaringan publik dan pribadi, baca Narasi jaringan serverless kami.
Titik awal ini memperkenalkan skenario Cloud Run 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, baik secara publik maupun pribadi
- Terhubung 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 layanan 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 layanan Cloud Run, App Engine, dan Cloud Functions lain
Saat layanan Cloud Run tujuan Anda menerima traffic dari layanan Cloud Run, App Engine, atau Cloud Functions lain, dan menggunakan setelan ingress "internal" atau "internal dan load balancing", lalu lintas harus menggunakan jaringan VPC agar dianggap internal.
Untuk menerima permintaan dari layanan Cloud Run, App Engine, atau Cloud Functions lainnya, lakukan langkah-langkah berikut:
Konfigurasikan layanan source untuk menggunakan traffic keluar VPC Langsung atau konektor.
Pastikan traffic ke rute Cloud Run melalui jaringan VPC menggunakan salah satu opsi berikut:
- Konfigurasikan layanan source untuk mengirim semua traffic melalui jaringan VPC dan mengaktifkan Akses Google Pribadi pada subnet yang terkait dengan Langsung Traffic keluar VPC atau konektor.
- Siapkan Private Service Connect atau Load Balancer Aplikasi internal untuk menghadap ke layanan 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 layanan sumber,
lalu konfigurasi DNS
untuk me-resolve URL
run.app
ke 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 VPC yang memiliki alamat IP publik atau menggunakan Cloud NAT yang dapat langsung mengakses internet dan layanan Google Cloud seperti Pub/Sub dan Cloud Run. Untuk resource VPC lainnya, ada beberapa opsi untuk mengaktifkan jalur traffic ke Cloud Run:
- Jalur paling langsung adalah mengaktifkan Akses Google Pribadi di subnet yang menghosting resource VPC Anda. Setelah diaktifkan, resource di subnet dapat mengakses layanan Cloud Run Anda di URL
run.app
default. Traffic dari VPC Anda ke Cloud Run tetap berada di jaringan Google. Dalam hal ini, rentang IP untuk permintaan yang dikirim ke layanan Cloud Run adalah0.0.0.0/32
. Artinya, dalam entri log permintaan, atributremoteIp
dari HttpRequest akan menjadi0.0.0.0
. - Jika Anda perlu mengakses layanan Cloud Run (bersama dengan Google API lainnya) sebagai alamat IP internal di jaringan VPC, pertimbangkan Private Service Connect.
Setelah diaktifkan, resource VPC dapat mengakses
layanan Cloud Run Anda di URL
run.app
default menggunakan alamat IP internal. - Jika Anda memerlukan kemampuan dan kontrol load balancing, pertimbangkan untuk menggunakan Load Balancer Aplikasi internal. Dengan pendekatan ini, resource VPC mengakses layanan Cloud Run 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 memublikasikannya menggunakan Private Service Connect. Project yang perlu menggunakan layanan juga dapat mengaksesnya menggunakan Private Service Connect.
Respons akan ditampilkan menggunakan jalur yang sama dengan yang dilalui permintaan.
Pertimbangan khusus untuk VPC Bersama
Jika Anda menggunakan kontrol masuk Cloud Run untuk menerapkan bahwa semua traffic harus berasal dari jaringan pribadi Anda (menggunakan setelan internal
), perhatikan bahwa VPC Bersama traffic hanya dikenali sebagai "internal" dalam
situasi berikut:
Layanan Cloud Run berjalan di project host VPC Bersama.
Ingress VPC Bersama: Layanan Cloud Run dilampirkan ke jaringan VPC Bersama. Dalam skenario ini, perhatikan pertimbangan berikut:
Hanya revisi layanan 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 melalui traffic keluar VPC Langsung atau konektor. Namun, permintaan yang dikirim dari jaringan VPC Bersama ke Cloud Run menggunakan jalur ingress standar.
Untuk melepaskan layanan Cloud Run dari jaringan VPC Bersama, deploy ulang tanpa akses jaringan VPC, atau dengan layanan 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 VPC lain di luar project Anda
Jika Anda menggunakan kontrol masuk Cloud Run untuk menerapkan bahwa semua traffic harus berasal dari jaringan pribadi Anda (menggunakan setelan internal
), perhatikan bahwa traffic dari VPC lain di luar project Anda tidak diakui sebagai "internal" kecuali dalam situasi berikut:
- Kontrol Layanan VPC dikonfigurasi untuk mengizinkan traffic, dan Akses Google Pribadi diaktifkan untuk subnet sumber.
- Layanan Cloud Run Anda dipublikasikan sebagai layanan terkelola dengan menggunakan Private Service Connect (memerlukan Load Balancer Aplikasi internal), dan diakses dari jaringan VPC lain.
Peering VPC di luar project Anda tidak mengizinkan traffic untuk dikenali sebagai "internal".
Menerima permintaan dari layanan Google Cloud lainnya
Permintaan ke Cloud Run dari layanan Google Cloud, 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 Cloud Scheduler, Cloud Tasks, Eventarc, Pub/Sub, dan Workflows dalam project atau perimeter Kontrol Layanan VPC yang sama dikenali sebagai "internal".
- Permintaan dari Cloud Run, App Engine, dan Cloud Functions yang dikirim dari dalam project atau perimeter Kontrol Layanan VPC yang sama memerlukan konfigurasi tambahan sebelum diakui sebagai "internal". Untuk mengetahui detailnya, baca bagian Menerima permintaan dari layanan Cloud Run, App Engine, dan Cloud Functions lainnya.
- Jika layanan Google Cloud yang Anda pilih tidak dapat mengakses layanan Cloud Run yang memiliki ingress yang ditetapkan ke
internal
, perhatikan bahwa banyak yang mendukung autentikasi ke Cloud Run, seperti Pub/Sub (mendukunginternal
dan autentikasi), API Gateway, dan Dialogflow CX. Bergantung pada kebutuhan keamanan Anda, layanan Cloud Run mungkin cukup untuk meminta autentikasi, bukan ingress "internal". - Permintaan dari layanan Google Cloud yang tidak disebutkan di atas tidak diakui sebagai internal dan tidak dapat diterima oleh layanan Cloud Run yang menetapkan ingress ke
internal
atauinternal-and-cloud-load-balancing
.
Menerima permintaan dari cloud 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.
- Mengekspos layanan Cloud Run dengan alamat IP internal: Untuk memanggil layanan Cloud Run menggunakan alamat IP internal, konfigurasikan Private Service Connect untuk host lokal Menambahkan Private Service Connect untuk host lokal memungkinkan Anda mengekspos layanan Cloud Run ke jaringan VPC Anda sebagai alamat IP internal. Private Service Connect menimbulkan biaya.
- Dengan kemampuan load balancing: Jika Anda memerlukan kemampuan dan kontrol load balancing, gunakan Load Balancer Aplikasi internal.
- 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 memublikasikannya menggunakan Private Service Connect. Untuk menggunakannya, lihat Menggunakan Private Service Connect dari host lokal (memerlukan Load Balancer Aplikasi internal).
Mewajibkan permintaan untuk berasal dari jaringan pribadi Anda
Untuk mencegah traffic masuk (masuk) dari sumber eksternal, Anda dapat menentukan setelan masuk yang terbatas.
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 setelan ingress untuk setiap layanan Cloud Run, atau menerapkan penggunaan setelan ingress yang diinginkan untuk semua layanan Cloud Run di organisasi Anda.
- Untuk menentukan setelan ingress bagi setiap layanan: Lihat Menetapkan ingress.
- Untuk menerapkan setelan ingress tertentu bagi semua
layanan Cloud Run di project, folder, atau
organisasi Anda: Konfigurasikan batasan kebijakan organisasi
run.allowedIngress
. Untuk mempelajari caranya, lihat Menyesuaikan kebijakan untuk batasan daftar.
Mengirim permintaan ke jaringan pribadi Anda
Jika layanan Cloud Run perlu mengakses resource di jaringan pribadi, Anda dapat 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 traffic VPC Langsung atau konektor Akses VPC Tanpa Server. Bandingkan traffic VPC Langsung dan konektor VPC. Tinjau pricing untuk memahami biaya.
Saat konektor akses keluar VPC Langsung atau Akses VPC Tanpa Server 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 menggunakan traffic keluar VPC Langsung atau konektor. Permintaan ke tujuan publik akan terus dirutekan langsung ke internet, kecuali jika setelan traffic keluar Anda dikonfigurasi jika tidak.
Dengan permintaan yang dirutekan menggunakan traffic keluar VPC Langsung atau konektor Akses VPC Tanpa Server, respons akan ditampilkan menggunakan jalur yang dilalui permintaan tersebut. Permintaandari VPC ke Cloud Run diaktifkan dengan menggunakan teknologi lain dan tidak dirutekan melalui Akses VPC Tanpa Server atau traffic keluar VPC Langsung, dan respons terhadap permintaan tersebut ditampilkan menggunakan jalur yang sama. Untuk mempelajari lebih lanjut cara mengirim permintaan dari VPC Anda ke Cloud Run, lihat bagian Menerima permintaan dari jaringan VPC.
Mengirim permintaan ke jaringan VPC 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 VPC lain, konfigurasikan traffic keluar VPC Langsung atau konektor Akses VPC Tanpa Server untuk terhubung ke VPC di project Anda.
- 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 traffic keluar jaringan VPC yang menghosting harus dapat menjangkau jaringan VPC target.
- VPC Lain: Untuk jaringan VPC di luar project Anda yang bukan bagian dari lingkungan VPC Bersama yang sama atau di-peering ke VPC project Anda, konfigurasikan Private Service Connect setelah menyiapkan traffic keluar jaringan VPC.
Mengirim permintaan ke layanan Cloud Run dan layanan Google Cloud lainnya
Permintaan dari satu layanan Cloud Run ke layanan Cloud Run lainnya atau ke layanan Google Cloud lainnya tetap berada dalam jaringan internal Google dan tunduk pada Kontrol Layanan VPC.
Untuk permintaan ke layanan Cloud Run dengan setelan ingress yang ketat, konfigurasi tambahan diperlukan. Lihat Menerima permintaan dari layanan Cloud Run, App Engine, dan Cloud Functions lainnya.
Kirim permintaan ke resource lokal dan cloud lainnya
Untuk mengirim permintaan ke resource lokal dan cloud lain melalui jaringan pribadi, Anda harus:
- 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.
- Kemudian, wajibkan semua permintaan untuk masuk ke jaringan VPC Anda.
Mengharuskan semua permintaan untuk masuk ke jaringan VPC Anda
Untuk mewajibkan semua permintaan dari layanan Cloud Run Anda dimasukkan ke jaringan VPC Anda, tentukan setelan traffic keluar jaringan VPC "semua traffic". Anda dapat menentukan setelan egress untuk setiap layanan Cloud Run yang menggunakan traffic keluar jaringan VPC, atau Anda dapat menerapkan penggunaan setelan egress yang diinginkan untuk semua layanan Cloud Run di project, folder, atau organisasi Anda. singkat ini.
Hal ini berguna dalam situasi berikut:
- Anda ingin menyiapkan alamat IP keluar statis untuk layanan Cloud Run.
- Anda ingin menerapkan aturan firewall untuk semua traffic keluar dari layanan Cloud Run.
- Anda ingin mengirim permintaan ke resource lokal dan cloud lainnya melalui jaringan pribadi.
Jika layanan Cloud Run 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 Tanpa Server (jika dikonfigurasikan) dan dapat meningkat dan biaya yang sesuai. Konektor Akses VPC Serverless secara otomatis menyebarkan skala saat traffic meningkat, tetapi jangan melakukan penskalaan jika traffic menurun. Tinjau pricing untuk memahami biaya.
- Untuk menentukan setelan traffic keluar untuk setiap layanan Cloud Run: Lihat Mengontrol traffic layanan traffic keluar.
- Untuk menerapkan setelan egress tertentu bagi semua layanan Cloud Run di project, 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 pricing.
- Kontrol terperinci: Untuk mengontrol akses traffic dari resource tertentu dalam jaringan pribadi Anda, seperti layanan 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 selanjutnya
Jika Anda menggunakan Terraform, kode contoh Terraform tersedia untuk menyiapkan layanan Cloud Run di jaringan pribadi.