Jika organisasi Anda menggunakan VPC Bersama, Anda dapat menyiapkan konektor Akses VPC Serverless di project layanan atau project host. Panduan ini menunjukkan cara menyiapkan konektor di project layanan.
Jika Anda perlu menyiapkan konektor di project host, lihat Mengonfigurasi konektor di project host. Untuk mempelajari keuntungan dari setiap metode, lihat Menghubungkan ke jaringan VPC Bersama.
Pada level yang tinggi, Anda harus melakukan langkah-langkah berikut:
- Menambahkan aturan firewall untuk mengizinkan rentang IP yang diperlukan
- Memberikan izin
- Membuat subnet
- Di halaman Mengonfigurasi Akses VPC Serverless, selesaikan langkah-langkah di bagian berikut:
Sebelum memulai
Akses VPC Serverless tidak kompatibel dengan layanan URL-fetch. Sebelum memulai, nonaktifkan default URL-fetch dan hentikan penggunaan library urlfetch
secara eksplisit.
Menambahkan aturan firewall untuk mengizinkan rentang IP
Untuk melakukan langkah-langkah ini, Anda harus memiliki salah satu peran berikut pada project host:
- Peran Security Admin Compute Engine
- Peran Identity and Access Management (IAM) kustom dengan izin
compute.firewalls.create
yang diaktifkan
Anda harus membuat aturan firewall untuk mengizinkan permintaan dari rentang IP berikut agar dapat menjangkau konektor dan dijangkau oleh konektor:
- Rentang NAT
107.178.230.64/26
35.199.224.0/19
- Rentang health check
130.211.0.0/22
35.191.0.0/16
108.170.220.0/23
Rentang ini digunakan oleh infrastruktur Google yang mendasari Cloud Run, fungsi Cloud Run, dan lingkungan standar App Engine. Semua permintaan dari IP ini dijamin berasal dari infrastruktur Google, yang memastikan bahwa setiap layanan/fungsi/aplikasi Cloud Run, Cloud Run, dan App Engine hanya berkomunikasi dengan Konektor VPC yang terhubung dengan layanan/fungsi/aplikasi tersebut.
Untuk konfigurasi sederhana, terapkan aturan guna mengizinkan layanan serverless dalam project layanan apa pun yang terhubung ke jaringan VPC Bersama untuk mengirim permintaan ke resource apa pun di jaringan.
Untuk menerapkan aturan ini:
Jalankan tiga perintah berikut untuk menetapkan aturan guna mengizinkan permintaan dari lingkungan serverless untuk menjangkau semua Konektor VPC di jaringan:
gcloud compute firewall-rules create serverless-to-vpc-connector \ --allow tcp:667,udp:665-666,icmp \ --source-ranges 107.178.230.64/26,35.199.224.0/19 \ --direction=INGRESS \ --target-tags vpc-connector \ --network=VPC_NETWORK
gcloud compute firewall-rules create vpc-connector-to-serverless \ --allow tcp:667,udp:665-666,icmp \ --destination-ranges 107.178.230.64/26,35.199.224.0/19 \ --direction=EGRESS \ --target-tags vpc-connector \ --network=VPC_NETWORK
gcloud compute firewall-rules create vpc-connector-health-checks \ --allow tcp:667 \ --source-ranges 130.211.0.0/22,35.191.0.0/16,108.170.220.0/23 \ --direction=INGRESS \ --target-tags vpc-connector \ --network=VPC_NETWORK
Dengan
VPC_NETWORK
adalah jaringan VPC yang akan dipasang konektor Anda.Buat aturan traffic masuk di jaringan VPC Anda untuk mengizinkan permintaan dari konektor:
gcloud compute firewall-rules create vpc-connector-requests \ --allow tcp,udp,icmp \ --direction=INGRESS \ --source-tags vpc-connector \ --network=VPC_NETWORK
Aturan ini memberi konektor VPC akses ke setiap resource dalam jaringan. Untuk membatasi resource yang dapat dijangkau lingkungan serverless Anda menggunakan Akses VPC Serverless, tentukan target untuk aturan firewall tersebut.
Membuat aturan firewall untuk konektor tertentu
Mengikuti prosedur dalam artikel Menambahkan aturan firewall untuk mengizinkan rentang IP akan menghasilkan aturan firewall yang berlaku untuk semua konektor, baik yang saat ini maupun yang dibuat di masa mendatang. Jika Anda tidak menginginkannya, tetapi ingin membuat aturan untuk konektor tertentu saja, Anda dapat menentukan cakupan aturan tersebut sehingga aturan tersebut hanya berlaku untuk konektor tersebut.
Untuk membatasi cakupan aturan ke konektor tertentu, Anda dapat menggunakan salah satu mekanisme berikut:
- Network tags. Setiap konektor memiliki dua tag jaringan:
vpc-connector
danvpc-connector-REGION-CONNECTOR_NAME
. Gunakan format yang terakhir digunakan untuk membatasi cakupan aturan firewall ke konektor tertentu. - Rentang IP. Gunakan metode ini hanya untuk aturan Traffic Keluar, karena tidak berfungsi untuk Traffic Masuk. Anda dapat menggunakan rentang IP subnet konektor untuk membatasi cakupan aturan firewall ke satu konektor VPC.
Memberikan izin ke akun layanan di project layanan Anda
Untuk setiap project layanan yang akan menggunakan Konektor VPC, Admin VPC Bersama harus memberikan peran Compute Network User (compute.networkUser
) dalam project host ke layanan tersebut project cloudservices
dan akun layanan
vpcaccess
.
Untuk memberikan peran:
Gunakan command berikut:
gcloud projects add-iam-policy-binding HOST_PROJECT_ID \ --role "roles/compute.networkUser" \ --member "serviceAccount:service-SERVICE_PROJECT_NUMBER@gcp-sa-vpcaccess.iam.gserviceaccount.com"
gcloud projects add-iam-policy-binding HOST_PROJECT_ID \ --role "roles/compute.networkUser" \ --member "serviceAccount:SERVICE_PROJECT_NUMBER@cloudservices.gserviceaccount.com"
Jika akun layanan
@gcp-sa-vpcaccess
tidak ada, aktifkan API Akses VPC Serverless dalam project layanan, lalu coba lagi:gcloud services enable vpcaccess.googleapis.com
Jika memilih untuk tidak memberikan akses ke seluruh jaringan VPC Bersama dan hanya ingin memberikan akses ke subnet tertentu, Anda dapat memberikan peran ini ke akun layanan ini hanya pada subnet tertentu.
Membuat subnet
Saat menggunakan VPC Bersama, Admin VPC Bersama harus membuat subnet untuk setiap konektor. Ikuti dokumentasi dalam menambahkan subnet untuk menambahkan subnet /28
ke jaringan VPC Bersama. Subnet ini harus berada di region yang sama dengan layanan serverless yang akan menggunakan konektor.
Langkah berikutnya
- Di halaman Mengonfigurasi Akses VPC Serverless, selesaikan langkah-langkah di bagian berikut: