Halaman ini menguraikan praktik terbaik untuk mengonfigurasi opsi jaringan untuk resource Cloud Run. Sebelum membuat resource, sebaiknya Anda meninjau semua bagian di halaman ini untuk memahami opsi jaringan yang didukung Cloud Run, serta implikasinya.
Praktik terbaik:
Memantau penggunaan alamat IP.Menggunakan alamat IP non-RFC 1918.
Gunakan subnet IPv4 dan IPv6 (dual-stack).
Gunakan penggabungan koneksi dan gunakan kembali koneksi.
Mengisolasi traffic internet keluar.
Throughput eksternal yang lebih cepat ke internet.
Throughput internal yang lebih cepat ke Google API.
Memantau penggunaan alamat IP
Jika Anda menggunakan egress Direct VPC, pastikan Anda memiliki alamat IP yang cukup untuk subnet Anda. Jumlah alamat IP yang Anda gunakan bergantung pada jumlah instance container yang dijalankan workload Anda, jadi sebaiknya pantau penggunaan alamat IP Anda. Pastikan penggunaan IP Anda dari waktu ke waktu tetap berada dalam batas yang didukung oleh subnet.
Untuk memperkirakan penggunaan alamat IP Anda:
Di konsol Google Cloud , buka halaman Cloud Monitoring Metrics Explorer:
Cari jumlah instance container di project Anda menggunakan jenis metrik
run.googleapis.com/container/instance_count. Cloud Monitoring memungkinkan Anda melihat nilai metrik ini dari waktu ke waktu.Kalikan nilai metrik jumlah instance dengan 2 untuk mendapatkan perkiraan jumlah alamat IP yang digunakan.
Strategi kehabisan alamat IP
Memiliki workload Cloud Run dalam jumlah besar dapat menyebabkan tantangan kehabisan IP saat menggunakan ruang alamat IP pribadi RFC 1918 dengan egress Direct VPC. Strategi berikut dapat membantu Anda mengelola kehabisan alamat IP dengan menggunakan rentang alamat IP alternatif.
Menggunakan alamat IPv4 non-RFC 1918
Selain rentang alamat IPv4 RFC 1918, Cloud Run juga mendukung rentang RFC 6598 dan Class E/RFC 5735. Semua layanan dan fiturGoogle Cloud berfungsi dengan rentang non-RFC 1918 ini, termasuk jaringan VPC, Cloud Load Balancing, dan Private Service Connect.
Untuk kompatibilitas terbaik, sebaiknya mulai dengan rentang RFC 6598 (100.64.0.0/10). Jika Anda sudah menggunakan rentang ini di tempat lain, pertimbangkan untuk menggunakan Class E/RFC 5735 (240.0.0.0/4). Class E adalah ruang yang sangat besar dengan lebih dari 268 juta alamat IP yang tersedia, sehingga akan mendukung pertumbuhan Anda dalam waktu yang lama. Namun, Class E memiliki beberapa batasan. Misalnya, fitur ini tidak didukung di Windows dan di beberapa hardware lokal. Baca cara memanfaatkan ruang Alamat IPv4 Class E untuk mengurangi masalah kehabisan IPv4 di GKE.
Menggunakan Cloud NAT atau Private Service Connect
Jika workload Cloud Run Anda yang menggunakan rentang non-RFC 1918 perlu menjangkau tujuan lokal yang hanya menerima RFC 1918, gunakan salah satu solusi berikut:
- Gunakan NAT Hybrid untuk melakukan penerjemahan alamat dan egress menggunakan rentang RFC 1918 yang kecil.
- Mengekspos layanan lokal sebagai layanan hybrid Private Service Connect.
Menggunakan subnet IPv4 dan IPv6 (dual-stack)
Meskipun tidak akan mengurangi kehabisan IPv4, memindahkan aplikasi Anda ke IPv6 adalah langkah awal yang baik. Siapkan resource stack ganda untuk menghindari masalah kehabisan IPv4 di masa mendatang.
Strategi pengurangan kehabisan port
Bagian berikut menjelaskan strategi untuk mengurangi kehabisan port dengan Cloud Run.
Menggunakan penggabungan koneksi dan menggunakan kembali koneksi
Saat mengirim permintaan dalam jumlah besar ke satu alamat IP tujuan, gunakan penggabungan koneksi untuk mempertahankan dan menggunakan kembali koneksi ke tujuan. Tingkat koneksi yang tinggi ke satu alamat IP dapat menghabiskan port keluar dan menyebabkan error koneksi ditolak.
Mengisolasi traffic internet keluar
Secara default, Cloud Run mengirim traffic internet keluar melalui kumpulan alamat IP dinamis regional yang digunakan bersama di seluruh workload serverless. Jangan gunakan pool bersama default ini untuk workload yang bergantung pada reputasi IP atau menghasilkan traffic pemeriksaan bervolume tinggi.
Sebagai gantinya, konfigurasikan egress VPC Langsung
dengan --vpc-egress=all-traffic,
dan rutekan traffic melalui Cloud NAT dengan
alamat IP keluar statis khusus dalam
kasus berikut:
- Workload Anda terhubung ke endpoint eksternal yang sensitif terhadap reputasi, seperti gateway pembayaran, database yang dihosting, atau API partner di balik firewall aplikasi web (WAF) pihak ketiga. Alamat IP statis khusus mencegah traffic yang mengganggu dari tenant lain di kumpulan bersama memicu pemblokiran WAF eksternal atau error
HTTP 403. - Workload Anda menjalankan pemindaian jaringan yang diizinkan, enumerasi port, sidik jari host, pemeriksaan kerentanan, scraping web, atau pengujian beban. Menjalankan workload ini melalui kumpulan IP bersama default akan menurunkan reputasi IP, dapat mengganggu layanan bagi pelanggan lain yang melanggar Google Cloud Kebijakan Penggunaan yang Dapat Diterima, dan dapat menyebabkan Google membatasi atau menangguhkan workload Anda.
Saat Anda menjalankan pemindaian yang diizinkan atau workload koneksi tinggi melalui Cloud NAT, alokasikan alamat IP statis yang cukup dan konfigurasikan reservasi port untuk mencegah kehabisan port.
Strategi performa dan throughput
Bagian ini membahas opsi skalabel untuk meningkatkan performa jaringan dan throughput ke layanan internet dan Google.
Menggunakan lingkungan eksekusi generasi kedua
Untuk performa jaringan terbaik untuk layanan Cloud Run, gunakan lingkungan eksekusi generasi kedua saat merutekan traffic dengan egress VPC Langsung. Lingkungan generasi kedua memberikan performa jaringan yang lebih cepat, terutama dengan hadirnya paket yang hilang.
Anda dapat memilih lingkungan eksekusi menggunakan konsol Google Cloud , gcloud CLI, YAML, atau Terraform.
Menggunakan egress VPC Langsung untuk throughput egress jaringan yang lebih cepat
Untuk mencapai throughput yang lebih cepat di seluruh koneksi egress jaringan, gunakan egress VPC Langsung untuk merutekan traffic melalui jaringan VPC Anda. Sebaiknya gunakan ini bersama dengan lingkungan eksekusi generasi kedua seperti yang disebutkan sebelumnya.
Contoh 1: Traffic eksternal ke internet
Jika Anda mengirim traffic eksternal ke internet publik, rutekan semua traffic
melalui jaringan VPC dengan menetapkan
--vpc-egress=all-traffic.
Dengan pendekatan ini, Anda harus menyiapkan Cloud NAT untuk menjangkau internet publik.
Agar Cloud Run dapat menggunakan gateway Cloud NAT untuk Public NAT atau Private NAT, lihat Interaksi egress VPC Langsung Cloud NAT.
Contoh 2: Traffic internal ke Google API
Jika Anda menggunakan traffic egress VPC Langsung untuk mengirim traffic ke Google API, seperti Cloud Storage, pilih salah satu opsi berikut:
- Tentukan
private-ranges-only(default) dengan Akses Google Pribadi:- Tetapkan flag
--vpc-egress=private-ranges-only. - Mengaktifkan Akses Google Pribadi.
- Konfigurasikan DNS untuk Akses Google Pribadi.
Pastikan domain target Anda (seperti
storage.googleapis.com) dipetakan ke salah satu rentang alamat IP internal berikut:199.36.153.8/30199.36.153.4/30
- Tetapkan flag
- Tentukan
all-trafficdengan Akses Google Pribadi:- Tetapkan flag
--vpc-egress=all-traffic. - Mengaktifkan Akses Google Pribadi.
- Tetapkan flag
Menggunakan setelan MTU default untuk Cloud Run
Jangan mengubah setelan unit transmisi maksimum (MTU) jaringan VPC saat menggunakannya dengan Cloud Run. Gunakan MTU default 1.460 byte.
Pertimbangan biaya
Saat mengonfigurasi opsi jaringan untuk resource Anda, pertimbangkan hal berikut:
- Tempatkan resource Anda di lokasi yang sama: Coba deploy resource Cloud Run Anda di region yang sama dengan database backend (seperti Cloud SQL atau Firestore) dan bucket Cloud Storage Anda. Transfer data antara resource Google Cloud dalam region yang sama tidak dikenai biaya.
- Beralih ke traffic keluar VPC Langsung: Jika Anda merutekan traffic dengan aman ke resource jaringan VPC internal, pertimbangkan untuk beralih ke traffic keluar VPC Langsung dari konektor Akses VPC Serverless. Traffic keluar VPC langsung diskalakan ke nol, sehingga menghilangkan overhead komputasi dasar dan biaya tidak ada aktivitas yang terkait dengan instance konektor.
- Gunakan Cloud CDN: Kurangi beban aset statis dan konten yang sangat mudah di-cache dengan menempatkan Cloud CDN di depan resource Cloud Run Anda. Menyajikan data dari edge jauh lebih murah daripada membayar traffic egress internet standar langsung dari Cloud Run.
- Pantau traffic egress internet: Traffic masuk (ingress) selalu gratis, dan Anda menerima transfer data internet keluar gratis sebesar 1 GiB per bulan di Amerika Utara. Fokuskan upaya pemantauan Anda pada traffic keluar yang melintasi batas region atau melebihi paket gratis.
Tinjau harga Cloud Run atau perkirakan biaya dengan kalkulator harga untuk mengetahui informasi selengkapnya.
Langkah berikutnya
- Membandingkan egress Direct VPC dan konektor VPC.
- Menggunakan tag untuk pengujian, migrasi traffic, dan rollback.