Terhubung ke jaringan VPC
Halaman ini menunjukkan cara menghubungkan layanan atau tugas Cloud Run ke jaringan VPC Anda, yang memungkinkan traffic keluar (outbound) dari Cloud Run ke Instance VM Compute Engine, instance Memorystore, dan resource lainnya dengan alamat IP internal.
Anda dapat mengaktifkan layanan atau tugas untuk mengirim traffic ke jaringan VPC dengan mengonfigurasi konektor Akses VPC Serverless atau menggunakan Traffic keluar VPC Langsung tanpa memerlukan konektor.
Sebelum memulai
Buat jaringan VPC di project Anda jika belum memilikinya.
Jika Anda menggunakan VPC Bersama, lihat dokumentasi yang secara khusus membahas konfigurasi Akses VPC Serverless untuk produk Anda.
- Cloud Run: Menghubungkan ke jaringan VPC Bersama
- Cloud Run Functions: Menghubungkan ke jaringan VPC Bersama
- App Engine: Menghubungkan ke jaringan VPC Bersama
Jika memiliki batasan kebijakan organisasi yang mencegah penggunaan Cloud Deployment Manager, Anda tidak akan bisa membuat atau menghapus konektor Akses VPC Serverless. Membuat atau menghapus konektor memerlukan fungsi Deployment Manager.
Jika Anda telah menyiapkan kebijakan image tepercaya untuk project, pastikan untuk mengizinkan project
serverless-vpc-access-images
dalam kebijakan organisasiconstraints/compute.trustedimageProjects
.Persyaratan subnet konektor
Setiap konektor memerlukan subnet khusus tujuan
PRIVATE
dengan rentang alamat IPv4 utama/28
. Subnet ini tidak dapat digunakan oleh resource lain, seperti VM, Private Service Connect, atau load balancer.Untuk membuat konektor di project layanan yang menggunakan jaringan VPC Bersama dalam project host, administrator jaringan untuk jaringan VPC Bersama harus membuat subnet konektor secara manual sebelum Anda dapat membuat konektor.
Untuk menentukan apakah subnet yang ada dan dibuat secara manual dapat digunakan oleh konektor, deskripsikan subnet:
gcloud compute networks subnets describe SUBNET --region=REGION
Ganti SUBNET dengan nama subnet dan REGION dengan region yang berisi subnet.
Pada output, verifikasi hal berikut:
- Subnet adalah subnet reguler. Di Google Cloud CLI, ini berarti bahwa nilai untuk purpose adalah
PRIVATE
. - Rentang alamat IPv4 utama subnet,
ipCidrRange
, adalah/28
.
- Subnet adalah subnet reguler. Di Google Cloud CLI, ini berarti bahwa nilai untuk purpose adalah
Jika perlu membuat konektor Akses VPC Tanpa Server di project yang sama yang berisi jaringan VPC yang digunakan oleh konektor, Anda dapat membuat subnet konektor secara manual sebelum membuat konektor, atau Google Cloud dapat membuat subnet untuk konektor secara otomatis.
Saat Google Cloud membuat subnet untuk konektor, perhatikan hal berikut:
Subnet yang dibuat secara otomatis untuk konektor tidak terlihat saat Anda mencantumkan subnet, terlepas dari apakah Anda menggunakan Konsol Google Cloud, Google Cloud CLI, atau Compute Engine API.
Subnet yang dibuat secara otomatis untuk konektor tidak dapat dijelaskan.
Subnet yang dibuat secara otomatis disertakan dalam daftar subnet yang ditampilkan saat Anda menjelaskan jaringan VPC.
Untuk mengetahui informasi selengkapnya tentang subnet, termasuk cara mencantumkan subnet yang ada untuk menentukan rentang alamat IP yang sudah digunakan, lihat Menggunakan subnet.
Batasan
Traffic IPv6 tidak didukung.
Buat konektor
Untuk mengirim permintaan ke jaringan VPC dan menerima respons yang sesuai tanpa menggunakan internet publik, Anda dapat menggunakan konektor Akses VPC Serverless.
Jika konektor berada di project yang sama dengan jaringan VPC-nya, Anda dapat membuat konektor menggunakan subnet yang ada atau membuat konektor dan subnet baru.
Jika konektor Anda berada dalam project layanan dan menggunakan jaringan VPC Bersama, konektor dan jaringan VPC terkaitnya berada dalam project yang berbeda. Jika konektor dan jaringan VPC-nya berada di project yang berbeda, administrator jaringan VPC Bersama harus membuat subnet konektor di jaringan VPC Bersama sebelum Anda dapat membuat konektor, dan Anda harus membuat konektor menggunakan subnet yang ada.
Untuk mempelajari persyaratan subnet lebih lanjut, lihat persyaratan subnet konektor.
Untuk mempelajari throughput konektor, termasuk jenis mesin dan penskalaan, lihat Throughput dan penskalaan.
Anda dapat membuat konektor menggunakan konsol Google Cloud, Google Cloud CLI, atau Terraform.
Konsol
Buka halaman ringkasan Akses VPC Serverless.
Klik Create connector.
Di kolom Name, masukkan nama untuk konektor Anda, yang cocok dengan konvensi penamaan Compute Engine, dengan persyaratan tambahan bahwa nama harus kurang dari 21 karakter, dan tanda hubung (-) dihitung sebagai dua karakter.
Di kolom Region, pilih region untuk konektor Anda. Region ini harus cocok dengan region layanan serverless Anda.
Jika layanan atau tugas Anda berada di region
us-central
ataueurope-west
, gunakanus-central1
ataueurope-west1
.Di kolom Jaringan, pilih jaringan VPC yang akan dipasangkan konektor.
Di kolom Subnet, pilih salah satu opsi berikut:
Membuat konektor menggunakan subnet yang ada: Pilih subnet yang ada di kolom Subnet.
Buat konektor dan subnet baru: Pilih Rentang IP kustom di kolom Subnet. Kemudian, masukkan alamat pertama di CIDR
/28
yang tidak digunakan (misalnya10.8.0.0/28
) untuk digunakan sebagai rentang alamat IPv4 utama dari subnet baru yang dibuat Google Cloud di jaringan VPC konektor. Pastikan rentang IP tidak bertentangan dengan rute yang ada di jaringan VPC konektor. Nama subnet baru dimulai dengan awalan "aet-".
(Opsional) Guna menetapkan opsi penskalaan untuk mendapatkan kontrol tambahan atas konektor, klik Tampilkan Setelan Penskalaan untuk menampilkan formulir penskalaan.
- Tetapkan jumlah minimum dan maksimum instance untuk konektor Anda,
atau gunakan default, yaitu 2 (minimum) dan 10 (maksimum). Konektor
diskalakan hingga batas maksimum yang ditentukan jika penggunaan traffic memerlukannya, tetapi konektor tidak diskalakan kembali saat traffic menurun. Anda harus menggunakan nilai antara
2
dan10
. - Di menu Jenis Instance, pilih jenis mesin yang akan
digunakan untuk konektor, atau gunakan
e2-micro
default. Perhatikan sidebar biaya di sisi kanan saat Anda memilih jenis instance, yang menampilkan estimasi biaya dan bandwidth.
- Tetapkan jumlah minimum dan maksimum instance untuk konektor Anda,
atau gunakan default, yaitu 2 (minimum) dan 10 (maksimum). Konektor
diskalakan hingga batas maksimum yang ditentukan jika penggunaan traffic memerlukannya, tetapi konektor tidak diskalakan kembali saat traffic menurun. Anda harus menggunakan nilai antara
Klik Buat.
Tanda centang berwarna hijau akan muncul di samping nama konektor saat konektor siap digunakan.
gcloud
-
Di konsol Google Cloud, aktifkan Cloud Shell.
Di bagian bawah Google Cloud Console, Cloud Shell sesi akan terbuka dan menampilkan perintah command line. Cloud Shell adalah lingkungan shell dengan Google Cloud CLI yang sudah terinstal, dan dengan nilai yang sudah ditetapkan untuk project Anda saat ini. Diperlukan waktu beberapa detik untuk melakukan inisialisasi sesi.
Update komponen
gcloud
ke versi terbaru:gcloud components update
Pastikan API Akses VPC Serverless diaktifkan untuk project Anda:
gcloud services enable vpcaccess.googleapis.com
Buat konektor menggunakan salah satu opsi berikut:
Untuk mengetahui detail selengkapnya dan argumen opsional, lihat referensi
gcloud
.Membuat konektor menggunakan subnet yang ada:
gcloud compute networks vpc-access connectors create CONNECTOR_NAME \ --region REGION \ --subnet SUBNET_NAME \ --subnet-project HOST_PROJECT_ID \ --min-instances MIN \ --max-instances MAX \ --machine-type MACHINE_TYPE
Ganti kode berikut:
CONNECTOR_NAME
: nama untuk konektor Anda, yang cocok dengan konvensi penamaan Compute Engine, dengan persyaratan tambahan bahwa nama harus kurang dari 21 karakter, dan tanda hubung (-) dihitung sebagai dua karakter.REGION
: region untuk konektor Anda, yang cocok dengan region layanan atau tugas serverless Anda. Jika layanan atau tugas Anda berada dius-central
ataueurope-west
, gunakanus-central1
ataueurope-west1
.SUBNET_NAME
: nama subnet yang ada.HOST_PROJECT_ID
: ID project host VPC Bersama. Jika konektor dan subnet yang ada berada di project yang sama, hapus tanda--subnet-project
.MIN
: jumlah minimum instance yang akan digunakan untuk konektor. Gunakan bilangan bulat antara2
(default) dan9
.MAX
: jumlah maksimum instance yang akan digunakan untuk konektor. Gunakan bilangan bulat antara3
dan10
(default). Jika diskalakan hingga jumlah instance maksimum, konektor tidak akan diskalakan kembali ke bawah.MACHINE_TYPE
: harus berupa salah satu dari hal berikut:f1-micro
,e2-micro
, ataue2-standard-4
.
Buat konektor dan subnet baru:
gcloud compute networks vpc-access connectors create CONNECTOR_NAME \ --region REGION \ --network VPC_NETWORK \ --range IP_RANGE --min-instances MIN \ --max-instances MAX \ --machine-type MACHINE_TYPE
Ganti kode berikut:
CONNECTOR_NAME
: nama untuk konektor Anda, yang cocok dengan konvensi penamaan Compute Engine, dengan persyaratan tambahan bahwa nama harus kurang dari 21 karakter, dan tanda hubung (-) dihitung sebagai dua karakter.REGION
: region untuk konektor Anda, yang cocok dengan region layanan atau tugas serverless Anda. Jika layanan atau tugas Anda berada dius-central
ataueurope-west
, gunakanus-central1
ataueurope-west1
.VPC_NETWORK
: nama jaringan VPC yang akan dilampirkan konektor. Konektor dan jaringan VPC harus berada dalam project yang sama.IP_RANGE
: berikan CIDR/28
yang tidak digunakan (misalnya,10.8.0.0/28
) untuk digunakan sebagai rentang alamat IPv4 utama dari subnet baru yang dibuat Google Cloud di jaringan VPC konektor. Pastikan rentang IP tidak bertentangan dengan rute yang ada di jaringan VPC konektor. Nama subnet baru dimulai dengan awalan "aet-".MIN
: jumlah minimum instance yang akan digunakan untuk konektor. Gunakan bilangan bulat antara2
(default) dan9
.MAX
: jumlah maksimum instance yang akan digunakan untuk konektor. Gunakan bilangan bulat antara3
dan10
(default). Jika diskalakan hingga jumlah instance maksimum, konektor tidak akan diskalakan kembali ke bawah.MACHINE_TYPE
: harus berupa salah satu dari hal berikut:f1-micro
,e2-micro
, ataue2-standard-4
.
Pastikan konektor Anda berstatus
READY
sebelum menggunakannya:gcloud compute networks vpc-access connectors describe CONNECTOR_NAME \ --region REGION
Ganti kode berikut:
CONNECTOR_NAME
: nama konektor Anda; ini adalah nama yang Anda tentukan pada langkah sebelumnya.REGION
: region konektor Anda; ini adalah region yang Anda tentukan pada langkah sebelumnya.
Output harus berisi baris
state: READY
.
Terraform
Anda dapat menggunakan resource Terraform
untuk mengaktifkan API vpcaccess.googleapis.com
.
Anda dapat menggunakan modul Terraform untuk membuat jaringan VPC dan subnet, lalu membuat konektor.
Konfigurasikan lingkungan serverless Anda untuk menggunakan konektor
Setelah Anda membuat konektor Akses VPC Serverless, konfigurasikan lingkungan serverless Anda untuk menggunakan konektor dengan mengikuti petunjuk untuk lingkungan serverless Anda:
- Mengonfigurasi Cloud Run
- Mengonfigurasi fungsi Cloud Run
- Mengonfigurasi App Engine
Mengonfigurasikan Cloud Run untuk menggunakan konektor.
Saat Anda membuat layanan baru atau men-deploy revisi baru, Anda dapat mengonfigurasi layanan tersebut supaya menggunakan konektor dengan menggunakan Konsol Google Cloud, Google Cloud CLI, file YAML, atau resource Terraform.
Konsol
Di konsol Google Cloud, buka Cloud Run:
Klik Deploy container dan pilih Service untuk mengonfigurasi layanan baru. Jika Anda mengonfigurasi layanan yang sudah ada, klik layanan, lalu klik Edit dan deploy revisi baru.
Jika Anda mengonfigurasi layanan baru, isi halaman setelan layanan awal, lalu klik Container, volume, networking, security untuk memperluas halaman konfigurasi layanan.
Klik tab Koneksi.
- Di kolom VPC Connector, pilih konektor yang akan digunakan atau pilih None untuk memutuskan koneksi layanan Anda dari jaringan VPC.
Klik Buat atau Deploy.
gcloud
-
Di konsol Google Cloud, aktifkan Cloud Shell.
Di bagian bawah Google Cloud Console, Cloud Shell sesi akan terbuka dan menampilkan perintah command line. Cloud Shell adalah lingkungan shell dengan Google Cloud CLI yang sudah terinstal, dan dengan nilai yang sudah ditetapkan untuk project Anda saat ini. Diperlukan waktu beberapa detik untuk melakukan inisialisasi sesi.
Untuk menentukan konektor selama proses deployment, gunakan flag
--vpc-connector
:gcloud run deploy SERVICE --image IMAGE_URL --vpc-connector CONNECTOR_NAME
- Ganti
SERVICE
dengan nama layanan Anda. - Ganti
IMAGE_URL
. - Ganti
CONNECTOR_NAME
dengan nama konektor Anda. Jika konektor Anda berada dalam project host VPC Bersama, maka nama tersebut harus sepenuhnya ditentukan, misalnya: dengan HOST_PROJECT_ID sebagai ID project host, CONNECTOR_REGION adalah region konektor Anda, dan CONNECTOR_NAME adalah nama yang Anda berikan untuk konektor.projects/HOST_PROJECT_ID/locations/CONNECTOR_REGION/connectors/CONNECTOR_NAME
Untuk memasang, memperbarui, atau menghapus konektor dari layanan yang ada, gunakan perintah
gcloud run services update
dengan salah satu flag berikut sesuai kebutuhan:Misalnya, untuk memasang atau memperbarui konektor:
gcloud run services update SERVICE --vpc-connector CONNECTOR_NAME
- Ganti
SERVICE
dengan nama layanan Anda. - Ganti
CONNECTOR_NAME
dengan nama konektor Anda.
- Ganti
YAML
Jika Anda membuat layanan baru, lewati langkah ini. Jika Anda mengupdate layanan yang sudah ada, download konfigurasi YAML-nya:
gcloud run services describe SERVICE --format export > service.yaml
Tambahkan atau perbarui atribut
run.googleapis.com/vpc-access-connector
di bagianannotations
pada atributspec
level teratas:apiVersion: serving.knative.dev/v1 kind: Service metadata: name: SERVICE spec: template: metadata: annotations: run.googleapis.com/vpc-access-connector: CONNECTOR_NAME
- Ganti
SERVICE
dengan nama layanan Cloud Run Anda - Ganti
CONNECTOR_NAME
dengan nama konektor Anda. Jika konektor Anda berada dalam project host VPC Bersama, maka nama tersebut harus sepenuhnya ditentukan, misalnya: dengan HOST_PROJECT_ID sebagai ID project host, CONNECTOR_REGION adalah region konektor Anda, dan CONNECTOR_NAME adalah nama yang Anda berikan untuk konektor.projects/HOST_PROJECT_ID/locations/CONNECTOR_REGION/connectors/CONNECTOR_NAME
- Ganti
Ganti layanan dengan konfigurasi barunya menggunakan perintah berikut:
gcloud beta run services replace service.yaml
Terraform
Anda dapat menggunakan resource Terraform untuk membuat layanan dan mengonfigurasinya untuk menggunakan konektor Anda.
Mengonfigurasi fungsi Cloud Run untuk menggunakan konektor
Anda dapat mengonfigurasi fungsi untuk menggunakan konektor dari konsol Google Cloud atau Google Cloud CLI:
Konsol
Buka halaman ringkasan fungsi Cloud Run di konsol Google Cloud:
Klik Create function. Atau, klik fungsi yang ada untuk membuka halaman detailnya dan klik Edit.
Perluas setelan lanjutan dengan mengklik RUNTIME, BUILD AND CONNECTIONS SETTINGS.
Di tab Koneksi di bagian Setelan keluar, masukkan nama konektor Anda di kolom Konektor VPC.
gcloud
-
Di konsol Google Cloud, aktifkan Cloud Shell.
Di bagian bawah Google Cloud Console, Cloud Shell sesi akan terbuka dan menampilkan perintah command line. Cloud Shell adalah lingkungan shell dengan Google Cloud CLI yang sudah terinstal, dan dengan nilai yang sudah ditetapkan untuk project Anda saat ini. Diperlukan waktu beberapa detik untuk melakukan inisialisasi sesi.
Gunakan perintah
gcloud functions deploy
untuk men-deploy fungsi tersebut dan menentukan flag--vpc-connector
:gcloud functions deploy FUNCTION_NAME \ --vpc-connector CONNECTOR_NAME \ FLAGS...
dengan:
FUNCTION_NAME
adalah nama fungsi Anda.CONNECTOR_NAME
adalah nama konektor Anda. Jika konektor Anda berada dalam project host VPC Bersama, maka nama tersebut harus sepenuhnya ditentukan, misalnya: dengan HOST_PROJECT_ID sebagai ID project host, CONNECTOR_REGION adalah region konektor Anda, dan CONNECTOR_NAME adalah nama yang Anda berikan untuk konektor.projects/HOST_PROJECT_ID/locations/CONNECTOR_REGION/connectors/CONNECTOR_NAME
FLAGS...
merujuk pada flag lain yang Anda teruskan selama deployment fungsi.
Untuk kontrol lebih lanjut atas permintaan yang dirutekan melalui konektor, lihat Setelan trafic keluar.
Mengonfigurasi App Engine untuk menggunakan konektor
Python 2
Hentikan penggunaan layanan URL-fetch App Engine.
Secara default, semua permintaan dirutekan melalui layanan URL Fetch. Hal ini menyebabkan permintaan ke jaringan VPC Anda gagal. Untuk menonaktifkan default ini, lihat Menonaktifkan URL Fetch agar tidak menangani semua permintaan keluar.
Anda masih dapat menggunakan library
urlfetch
secara langsung untuk setiap permintaan jika diperlukan, tetapi hal ini tidak direkomendasikan.Tambahkan kolom Akses VPC Serverless ke file
app.yaml
Anda:vpc_access_connector: name: projects/PROJECT_ID/locations/REGION/connectors/CONNECTOR_NAME
Ganti kode berikut:
PROJECT_ID
dengan project ID Google Cloud Anda. Jika konektor Anda berada dalam project host VPC Bersama, ID ini harus merupakan ID project host.REGION
dengan region tempat konektor Anda berada.CONNECTOR_NAME
dengan nama konektor Anda.
Men-deploy layanan:
gcloud app deploy
Layanan yang telah Anda deploy dapat mengirim permintaan ke alamat IP internal untuk mengakses resource di jaringan VPC Anda.
Java 8
Hentikan penggunaan layanan URL-fetch App Engine
URLFetchService
.Tambahkan elemen Akses VPC Serverless ke file
appengine-web.xml
layanan Anda:<vpc-access-connector> <name>projects/PROJECT_ID/locations/REGION/connectors/CONNECTOR_NAME</name> </vpc-access-connector>
Ganti kode berikut:
PROJECT_ID
dengan project ID Google Cloud Anda. Jika konektor Anda berada dalam project host VPC Bersama, ID ini harus merupakan ID project host.REGION
dengan region tempat konektor Anda berada.CONNECTOR_NAME
dengan nama konektor Anda.
Men-deploy layanan:
gcloud app deploy WEB-INF/appengine-web.xml
Layanan yang telah Anda deploy dapat mengirim permintaan ke alamat IP internal untuk mengakses resource di jaringan VPC Anda.
Go 1.11
Hentikan penggunaan layanan URL-fetch App Engine.
Akses VPC Serverless tidak mendukung URL Fetch, dan permintaan yang dibuat menggunakan URL Fetch akan mengabaikan setelan Akses VPC Serverless. Buat koneksi keluar dengan soket sebagai gantinya.
Tambahkan kolom Akses VPC Serverless ke file
app.yaml
Anda:vpc_access_connector: name: projects/PROJECT_ID/locations/REGION/connectors/CONNECTOR_NAME
Ganti kode berikut:
PROJECT_ID
dengan project ID Google Cloud AndaREGION
dengan region tempat konektor Anda beradaCONNECTOR_NAME
dengan nama konektor Anda
Men-deploy layanan:
gcloud app deploy
Layanan yang telah Anda deploy dapat mengirim permintaan ke alamat IP internal untuk mengakses resource di jaringan VPC Anda.
Semua runtime lainnya
Tambahkan kolom Akses VPC Serverless ke file
app.yaml
Anda:vpc_access_connector: name: projects/PROJECT_ID/locations/REGION/connectors/CONNECTOR_NAME
Ganti kode berikut:
PROJECT_ID
dengan project ID Google Cloud Anda. Jika konektor Anda berada dalam project host VPC Bersama, ID ini harus merupakan ID project host.REGION
dengan region tempat konektor Anda berada.CONNECTOR_NAME
dengan nama konektor Anda.
Men-deploy layanan:
gcloud app deploy
Layanan yang telah Anda deploy dapat mengirim permintaan ke alamat IP internal untuk mengakses resource di jaringan VPC Anda.
Mengonfigurasi aturan firewall untuk konektor
Aturan firewall yang diperlukan untuk konektor di project layanan
Jika Anda membuat konektor di jaringan VPC mandiri atau di project host jaringan VPC Bersama, Google Cloud akan membuat semua aturan firewall yang diperlukan untuk pengoperasian konektor. Untuk informasi selengkapnya, lihat Aturan firewall untuk konektor di jaringan VPC mandiri atau project host VPC Bersama.
Namun, jika Anda membuat konektor di project layanan dan konektor menargetkan jaringan VPC Bersama di project host, Anda harus menambahkan aturan firewall untuk mengizinkan traffic yang diperlukan bagi operasi konektor dari rentang berikut:
- Rentang IP infrastruktur serverless:
35.199.224.0/19
- Rentang IP probe health check:
35.191.0.0/16
,35.191.192.0/18
, dan130.211.0.0/22
Rentang ini digunakan oleh infrastruktur Google yang mendasari Cloud Run, fungsi Cloud Run, dan lingkungan standar App Engine. Semua permintaan dari alamat IP ini berasal dari infrastruktur Google untuk memastikan bahwa setiap resource serverless hanya berkomunikasi dengan konektor yang terhubung dengannya.
Anda juga harus mengizinkan traffic dari subnet konektor ke resource di jaringan VPC Anda.
Untuk melakukan langkah-langkah ini, Anda harus memiliki salah satu peran berikut pada project host:
- Peran pemilik(
roles/owner
) - Peran Compute Security Admin (
roles/compute.securityAdmin
) - Peran Identity and Access Management (IAM) kustom dengan izin
compute.firewalls.create
yang diaktifkan
Untuk konfigurasi dasar, terapkan aturan guna mengizinkan resource 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 perintah berikut di project host:
Buat aturan firewall yang mengizinkan permintaan dari infrastruktur serverless dan pemeriksaan health check Google untuk menjangkau semua konektor di jaringan. Dalam perintah ini, port UDP dan TCP masing-masing digunakan sebagai proxy dan untuk health check HTTP. Jangan ubah port yang ditentukan.
gcloud compute firewall-rules create serverless-to-vpc-connector \ --allow tcp:667,udp:665-666,icmp \ --source-ranges=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=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=35.191.0.0/16,35.191.192.0/18,130.211.0.0/22 \ --direction=INGRESS \ --target-tags vpc-connector \ --network=VPC_NETWORK
Ganti
VPC_NETWORK
dengan nama jaringan VPC tempat konektor Anda akan dilampirkan.Buat aturan firewall traffic masuk di jaringan VPC Anda untuk mengizinkan permintaan dari konektor yang menargetkan jaringan ini:
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, lihat Membatasi akses VM konektor ke resource jaringan VPC.
Membuat aturan firewall untuk konektor tertentu
Mengikuti prosedur dalam artikel Aturan firewall yang diperlukan untuk konektor di project layanan 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:
- Tag jaringan: 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 aturan traffic masuk. Anda dapat menggunakan rentang IP subnet konektor untuk membatasi cakupan aturan firewall ke satu konektor VPC.
Membatasi akses VM konektor ke resource jaringan VPC
Anda dapat membatasi akses konektor ke resource di jaringan VPC targetnya menggunakan aturan firewall VPC atau aturan dalam kebijakan firewall. Anda dapat membuat batasan ini menggunakan salah satu strategi berikut:
- Buat aturan traffic masuk yang targetnya mewakili resource yang ingin Anda batasi aksesnya ke VM konektor dan sumbernya mewakili VM konektor.
- Buat aturan traffic keluar yang targetnya mewakili VM konektor, dan yang tujuannya mewakili resource yang ingin Anda batasi aksesnya ke VM konektor.
Contoh berikut mengilustrasikan setiap strategi.
Membatasi akses menggunakan aturan traffic masuk
Pilih tag jaringan atau rentang CIDR untuk mengontrol traffic masuk ke jaringan VPC Anda.
Network tags
Langkah-langkah berikut menunjukkan cara membuat aturan traffic masuk yang membatasi akses konektor ke jaringan VPC berdasarkan tag jaringan konektor.
Pastikan Anda memiliki izin yang diperlukan untuk menyisipkan aturan firewall. Anda harus memiliki salah satu peran Identity and Access Management (IAM) berikut:
- Peran Compute Security Admin
- Peran IAM kustom dengan izin
compute.firewalls.create
diaktifkan
Tolak traffic konektor di seluruh jaringan VPC Anda.
Buat aturan firewall traffic masuk dengan prioritas di bawah 1000 di jaringan VPC Anda untuk menolak traffic masuk dari tag jaringan konektor. Aturan ini akan menggantikan aturan firewall implisit yang secara default dibuat oleh Akses VPC Serverless di jaringan VPC Anda secara default.
gcloud compute firewall-rules create RULE_NAME \ --action=DENY \ --rules=PROTOCOL \ --source-tags=VPC_CONNECTOR_NETWORK_TAG \ --direction=INGRESS \ --network=VPC_NETWORK \ --priority=PRIORITY
Ganti kode berikut:
RULE_NAME: nama aturan firewall baru. Contoh,
deny-vpc-connector
.PROTOCOL: satu atau beberapa protokol yang ingin Anda izinkan dari konektor VPC. Protokol yang didukung adalah
tcp
atauudp
. Misalnya,tcp:80,udp
mengizinkan traffic TCP melalui port 80 dan traffic UDP. Untuk mengetahui informasi selengkapnya, lihat dokumentasi untuk flagallow
.Untuk tujuan keamanan dan validasi, Anda juga dapat mengonfigurasi aturan penolakan guna memblokir traffic untuk protokol yang tidak didukung berikut:
ah
,all
,esp
,icmp
,ipip
, dansctp
.VPC_CONNECTOR_NETWORK_TAG: tag jaringan konektor universal jika Anda ingin membatasi akses untuk semua konektor (termasuk konektor yang dibuat di masa mendatang), atau tag jaringan unik jika Anda ingin membatasi akses untuk konektor tertentu.
- Tag jaringan universal:
vpc-connector
Tag jaringan unik:
vpc-connector-REGION-CONNECTOR_NAME
Ganti:
- REGION: region konektor yang ingin Anda batasi
- CONNECTOR_NAME: nama konektor yang ingin Anda batasi
Untuk mempelajari tag jaringan konektor lebih lanjut, lihat Tag jaringan.
- Tag jaringan universal:
VPC_NETWORK: nama jaringan VPC
PRIORITY: bilangan bulat antara 0-65535. Misalnya, 0 ditetapkan sebagai prioritas tertinggi.
Izinkan traffic konektor ke resource yang akan menerima traffic konektor.
Gunakan flag
allow
dantarget-tags
untuk membuat aturan firewall traffic masuk yang menargetkan resource di jaringan VPC yang Anda inginkan untuk diakses oleh konektor VPC. Tetapkan prioritas untuk aturan ini ke nilai yang lebih rendah daripada prioritas aturan yang Anda buat di langkah sebelumnya.gcloud compute firewall-rules create RULE_NAME \ --allow=PROTOCOL \ --source-tags=VPC_CONNECTOR_NETWORK_TAG \ --direction=INGRESS \ --network=VPC_NETWORK \ --target-tags=RESOURCE_TAG \ --priority=PRIORITY
Ganti kode berikut:
RULE_NAME: nama aturan firewall baru. Contoh,
allow-vpc-connector-for-select-resources
.PROTOCOL: satu atau beberapa protokol yang ingin Anda izinkan dari konektor VPC. Protokol yang didukung adalah
tcp
atauudp
. Misalnya,tcp:80,udp
mengizinkan traffic TCP melalui port 80 dan traffic UDP. Untuk mengetahui informasi selengkapnya, lihat dokumentasi untuk flagallow
.VPC_CONNECTOR_NETWORK_TAG: tag jaringan konektor universal jika Anda ingin membatasi akses untuk semua konektor (termasuk konektor yang dibuat di masa mendatang), atau tag jaringan unik jika Anda ingin membatasi akses untuk konektor tertentu. Tag ini harus sama dengan tag jaringan yang Anda tentukan di langkah sebelumnya.
- Tag jaringan universal:
vpc-connector
Tag jaringan unik:
vpc-connector-REGION-CONNECTOR_NAME
Ganti:
- REGION: region konektor yang ingin Anda batasi
- CONNECTOR_NAME: nama konektor yang ingin Anda batasi
Untuk mempelajari tag jaringan konektor lebih lanjut, lihat Tag jaringan.
- Tag jaringan universal:
VPC_NETWORK: nama jaringan VPC Anda
RESOURCE_TAG: tag jaringan untuk resource VPC yang Anda inginkan untuk diakses oleh konektor VPC
PRIORITY: bilangan bulat yang lebih kecil daripada prioritas yang Anda tetapkan pada langkah sebelumnya. Misalnya, jika Anda menetapkan prioritas untuk aturan yang dibuat di langkah sebelumnya ke 990, coba 980.
Untuk informasi selengkapnya tentang flag wajib dan opsional dalam membuat
aturan firewall, baca
dokumentasi untuk gcloud compute firewall-rules create
.
Rentang CIDR
Langkah-langkah berikut menunjukkan cara membuat aturan traffic masuk yang membatasi akses konektor ke jaringan VPC berdasarkan rentang CIDR konektor.
Pastikan Anda memiliki izin yang diperlukan untuk menyisipkan aturan firewall. Anda harus memiliki salah satu peran Identity and Access Management (IAM) berikut:
- Peran Compute Security Admin
- Peran IAM kustom dengan izin
compute.firewalls.create
diaktifkan
Tolak traffic konektor di seluruh jaringan VPC Anda.
Buat aturan firewall traffic masuk dengan prioritas di bawah 1000 di jaringan VPC Anda untuk menolak traffic masuk dari rentang CIDR konektor. Aturan ini akan menggantikan aturan firewall implisit yang secara default dibuat oleh Akses VPC Serverless di jaringan VPC Anda secara default.
gcloud compute firewall-rules create RULE_NAME \ --action=DENY \ --rules=PROTOCOL \ --source-ranges=VPC_CONNECTOR_CIDR_RANGE \ --direction=INGRESS \ --network=VPC_NETWORK \ --priority=PRIORITY
Ganti kode berikut:
RULE_NAME: nama aturan firewall baru. Contoh,
deny-vpc-connector
.PROTOCOL: satu atau beberapa protokol yang ingin Anda izinkan dari konektor VPC. Protokol yang didukung adalah
tcp
atauudp
. Misalnya,tcp:80,udp
mengizinkan traffic TCP melalui port 80 dan traffic UDP. Untuk mengetahui informasi selengkapnya, lihat dokumentasi untuk flagallow
.Untuk tujuan keamanan dan validasi, Anda juga dapat mengonfigurasi aturan penolakan guna memblokir traffic untuk protokol yang tidak didukung berikut:
ah
,all
,esp
,icmp
,ipip
, dansctp
.VPC_CONNECTOR_CIDR_RANGE: rentang CIDR untuk konektor yang aksesnya Anda batasi
VPC_NETWORK: nama jaringan VPC Anda
PRIORITY: bilangan bulat antara 0-65535. Misalnya, 0 ditetapkan sebagai prioritas tertinggi.
Izinkan traffic konektor ke resource yang akan menerima traffic konektor.
Gunakan flag
allow
dantarget-tags
untuk membuat aturan firewall traffic masuk yang menargetkan resource di jaringan VPC yang Anda inginkan untuk diakses oleh konektor VPC. Tetapkan prioritas untuk aturan ini ke nilai yang lebih rendah daripada prioritas aturan yang Anda buat di langkah sebelumnya.gcloud compute firewall-rules create RULE_NAME \ --allow=PROTOCOL \ --source-ranges=VPC_CONNECTOR_CIDR_RANGE \ --direction=INGRESS \ --network=VPC_NETWORK \ --target-tags=RESOURCE_TAG \ --priority=PRIORITY
Ganti kode berikut:
RULE_NAME: nama aturan firewall baru. Contoh,
allow-vpc-connector-for-select-resources
.PROTOCOL: satu atau beberapa protokol yang ingin Anda izinkan dari konektor VPC. Protokol yang didukung adalah
tcp
atauudp
. Misalnya,tcp:80,udp
mengizinkan traffic TCP melalui port 80 dan traffic UDP. Untuk mengetahui informasi selengkapnya, lihat dokumentasi untuk flagallow
.VPC_CONNECTOR_CIDR_RANGE: rentang CIDR untuk konektor yang aksesnya Anda batasi
VPC_NETWORK: nama jaringan VPC Anda
RESOURCE_TAG: tag jaringan untuk resource VPC yang Anda inginkan untuk diakses oleh konektor VPC
PRIORITY: bilangan bulat yang lebih kecil daripada prioritas yang Anda tetapkan pada langkah sebelumnya. Misalnya, jika Anda menetapkan prioritas untuk aturan yang dibuat di langkah sebelumnya ke 990, coba 980.
Untuk informasi selengkapnya tentang flag wajib dan opsional dalam membuat
aturan firewall, lihat
dokumentasi untuk gcloud compute firewall-rules create
.
Membatasi akses menggunakan aturan traffic keluar
Langkah-langkah berikut menunjukkan cara membuat aturan traffic keluar untuk membatasi akses konektor.
Pastikan Anda memiliki izin yang diperlukan untuk menyisipkan aturan firewall. Anda harus memiliki salah satu peran Identity and Access Management (IAM) berikut:
- Peran Compute Security Admin
- Peran IAM kustom dengan izin
compute.firewalls.create
diaktifkan
Tolak traffic keluar dari konektor Anda.
Buat aturan firewall traffic keluar di konektor Akses VPC Serverless Anda agar tidak mengirim traffic keluar, dengan pengecualian untuk respons yang sudah ditetapkan, ke tujuan mana pun.
gcloud compute firewall-rules create RULE_NAME \ --action=DENY \ --rules=PROTOCOL \ --direction=EGRESS \ --target-tags=VPC_CONNECTOR_NETWORK_TAG \ --network=VPC_NETWORK \ --priority=PRIORITY
Ganti kode berikut:
RULE_NAME: nama aturan firewall baru. Contoh,
deny-vpc-connector
.PROTOCOL: satu atau beberapa protokol yang ingin Anda izinkan dari konektor VPC. Protokol yang didukung adalah
tcp
atauudp
. Misalnya,tcp:80,udp
mengizinkan traffic TCP melalui port 80 dan traffic UDP. Untuk mengetahui informasi selengkapnya, lihat dokumentasi untuk flagallow
.Untuk tujuan keamanan dan validasi, Anda juga dapat mengonfigurasi aturan penolakan guna memblokir traffic untuk protokol yang tidak didukung berikut:
ah
,all
,esp
,icmp
,ipip
, dansctp
.VPC_CONNECTOR_NETWORK_TAG: tag jaringan konektor VPC universal jika Anda ingin aturan tersebut diterapkan ke semua konektor VPC yang ada dan konektor VPC apa pun yang dibuat di masa mendatang. Atau, tag jaringan konektor VPC unik jika Anda ingin mengontrol konektor tertentu.
VPC_NETWORK: nama jaringan VPC Anda
PRIORITY: bilangan bulat antara 0-65535. Misalnya, 0 ditetapkan sebagai prioritas tertinggi.
Izinkan traffic keluar saat tujuan berada dalam rentang CIDR yang Anda inginkan untuk diakses oleh konektor Anda.
Gunakan flag
allow
dandestination-ranges
untuk membuat aturan firewall yang mengizinkan traffic keluar dari konektor Anda untuk rentang tujuan tertentu. Tetapkan rentang tujuan ke rentang CIDR resource di jaringan VPC yang Anda inginkan untuk diakses oleh konektor. Tetapkan prioritas untuk aturan ini ke nilai yang lebih rendah daripada prioritas aturan yang Anda buat di langkah sebelumnya.gcloud compute firewall-rules create RULE_NAME \ --allow=PROTOCOL \ --destination-ranges=RESOURCE_CIDR_RANGE \ --direction=EGRESS \ --network=VPC_NETWORK \ --target-tags=VPC_CONNECTOR_NETWORK_TAG \ --priority=PRIORITY
Ganti kode berikut:
RULE_NAME: nama aturan firewall baru. Contoh,
allow-vpc-connector-for-select-resources
.PROTOCOL: satu atau beberapa protokol yang ingin Anda izinkan dari konektor VPC. Protokol yang didukung adalah
tcp
atauudp
. Misalnya,tcp:80,udp
mengizinkan traffic TCP melalui port 80 dan traffic UDP. Untuk mengetahui informasi selengkapnya, lihat dokumentasi untuk flagallow
.RESOURCE_CIDR_RANGE: rentang CIDR untuk konektor yang aksesnya Anda batasi
VPC_NETWORK: nama jaringan VPC Anda
VPC_CONNECTOR_NETWORK_TAG: tag jaringan konektor VPC universal jika Anda ingin aturan tersebut diterapkan ke semua konektor VPC yang ada dan konektor VPC apa pun yang dibuat di masa mendatang. Atau, tag jaringan konektor VPC unik jika Anda ingin mengontrol konektor tertentu. Jika Anda menggunakan tag jaringan unik pada langkah sebelumnya, gunakan tag jaringan unik tersebut.
PRIORITY: bilangan bulat yang lebih kecil daripada prioritas yang Anda tetapkan pada langkah sebelumnya. Misalnya, jika Anda menetapkan prioritas untuk aturan yang dibuat di langkah sebelumnya ke 990, coba 980.
Untuk informasi selengkapnya tentang flag wajib dan opsional dalam membuat aturan
firewall, baca
dokumentasi untuk gcloud compute firewall-rules create
.
Memperbarui konektor
Anda dapat memperbarui dan memantau atribut konektor berikut menggunakan konsol Google Cloud, Google Cloud CLI, atau API:
- Jenis mesin (instance)
- Jumlah minimum dan maksimum instance
- Throughput terbaru, jumlah instance, dan penggunaan CPU
Update jenis mesin
Konsol
Buka halaman ringkasan Akses VPC Serverless.
Pilih konektor yang ingin Anda edit, lalu klik Edit.
Dalam daftar Jenis instance, pilih jenis mesin (instance) yang Anda inginkan. Untuk mempelajari jenis mesin yang tersedia, baca dokumentasi tentang Throughput dan penskalaan.
gcloud
-
Di konsol Google Cloud, aktifkan Cloud Shell.
Di bagian bawah Google Cloud Console, Cloud Shell sesi akan terbuka dan menampilkan perintah command line. Cloud Shell adalah lingkungan shell dengan Google Cloud CLI yang sudah terinstal, dan dengan nilai yang sudah ditetapkan untuk project Anda saat ini. Diperlukan waktu beberapa detik untuk melakukan inisialisasi sesi.
Untuk mengupdate jenis mesin konektor, jalankan perintah berikut di terminal Anda:
Ganti kode berikut:gcloud beta compute networks vpc-access connectors update CONNECTOR_NAME --region=REGION --machine-type=MACHINE_TYPE
CONNECTOR_NAME
: nama konektor AndaREGION
: nama region konektor AndaMACHINE_TYPE
: jenis mesin pilihan Anda. Untuk mempelajari tentang jenis mesin yang tersedia, baca dokumentasi tentang Throughput dan penskalaan.
Mengurangi jumlah minimum dan maksimum instance
Untuk mengurangi jumlah minimum dan maksimum instance, lakukan tindakan berikut:
- Buat konektor baru dengan nilai yang Anda inginkan.
- Perbarui fungsi atau layanan Anda agar dapat menggunakan konektor baru.
- Hapus konektor lama setelah Anda memindahkan traffic-nya.
Baca Membuat konektor Akses VPC Serverless untuk informasi selengkapnya.
Menambah jumlah minimum dan maksimum instance
Konsol
Buka halaman ringkasan Akses VPC Serverless.
Pilih konektor yang ingin Anda edit, lalu klik Edit.
Di kolom Instance minimum, pilih jumlah minimum instance yang Anda inginkan.
Nilai terkecil yang mungkin untuk kolom ini adalah nilai saat ini. Nilai terbesar yang mungkin untuk kolom ini adalah nilai saat ini di kolom Instance maksimum dikurangi 1. Misalnya, jika nilai di kolom Instance maksimum adalah 8, nilai terbesar yang mungkin untuk kolom Instance minimum adalah 7.
Di kolom Instance maksimum, pilih jumlah maksimum instance yang Anda inginkan.
Nilai terkecil yang mungkin untuk kolom ini adalah nilai saat ini. Nilai terbesar yang mungkin untuk kolom ini adalah 10.
gcloud
-
Di konsol Google Cloud, aktifkan Cloud Shell.
Di bagian bawah Google Cloud Console, Cloud Shell sesi akan terbuka dan menampilkan perintah command line. Cloud Shell adalah lingkungan shell dengan Google Cloud CLI yang sudah terinstal, dan dengan nilai yang sudah ditetapkan untuk project Anda saat ini. Diperlukan waktu beberapa detik untuk melakukan inisialisasi sesi.
Untuk menambah jumlah minimum atau maksimum instance konektor, jalankan perintah berikut di terminal Anda:
Ganti kode berikut:gcloud beta compute networks vpc-access connectors update CONNECTOR_NAME --region=REGION --min-instances=MIN_INSTANCES --max-instances=MAX_INSTANCES
CONNECTOR_NAME
: nama konektor AndaREGION
: nama region konektor AndaMIN_INSTANCES
: jumlah minimum instance yang Anda inginkan.- Nilai terkecil yang mungkin untuk kolom ini adalah nilai
min_instances
saat ini. Untuk mengetahui nilai saat ini, baca Menemukan nilai atribut saat ini. - Nilai terbesar yang mungkin untuk kolom ini adalah nilai
max_instances
saat ini dikurangi 1, karenamin_instances
harus lebih kecil darimax_instances
. Misalnya, jikamax_instances
adalah 8, nilai terbesar yang mungkin untuk kolom ini adalah 7. Jika konektor Anda menggunakan nilaimax-instances
default 10, nilai terbesar yang mungkin untuk kolom ini adalah 9. Untuk mengetahui nilaimax-instances
, lihat Menemukan nilai atribut saat ini.
- Nilai terkecil yang mungkin untuk kolom ini adalah nilai
MAX_INSTANCES
:- Nilai terkecil yang mungkin untuk kolom ini adalah nilai
max_instances
saat ini. Untuk mengetahui nilai saat ini, baca Menemukan nilai atribut saat ini. - Nilai terbesar yang mungkin untuk kolom ini adalah 10.
Jika hanya ingin menambah jumlah minimum instance, tetapi bukan jumlah maksimumnya, Anda tetap harus menentukan jumlah maksimum instance. Sebaliknya, jika Anda hanya ingin memperbarui jumlah maksimum instance, tetapi bukan jumlah minimumnya, Anda tetap harus menentukan jumlah minimum instance. Untuk mempertahankan jumlah minimum atau maksimum instance pada nilainya saat ini, tentukan nilai instance saat ini. Untuk mengetahui nilainya saat ini, baca Menemukan nilai atribut saat ini.
- Nilai terkecil yang mungkin untuk kolom ini adalah nilai
Menemukan nilai atribut saat ini
Untuk menemukan nilai atribut saat ini bagi konektor Anda, jalankan perintah berikut ini di terminal Anda:
gcloud compute networks vpc-access connectors describe CONNECTOR_NAME --region=REGION --project=PROJECT
CONNECTOR_NAME
: nama konektor AndaREGION
: nama region konektor AndaPROJECT
: nama project Google Cloud Anda
Memantau penggunaan konektor
Memantau penggunaan dari waktu ke waktu dapat membantu Anda menentukan kapan harus menyesuaikan setelan konektor. Misalnya, jika pemakaian CPU melonjak, Anda dapat mencoba meningkatkan jumlah maksimum instance untuk mendapatkan hasil yang lebih baik. Atau, jika throughput sudah maksimal, Anda dapat memutuskan untuk beralih ke jenis mesin yang lebih besar.
Untuk menampilkan diagram throughput konektor, jumlah instance, dan metrik penggunaan CPU dari waktu ke waktu menggunakan konsol Google Cloud:
Buka halaman ringkasan Akses VPC Serverless.
Klik nama konektor yang ingin Anda pantau.
Pilih jumlah hari yang ingin Anda tampilkan antara 1 dan 90 hari.
Pada diagram Throughput, arahkan kursor ke diagram untuk melihat throughput terbaru konektor.
Pada diagram Jumlah instance, arahkan kursor ke diagram untuk melihat jumlah instance yang baru-baru ini digunakan oleh konektor.
Pada diagram CPU Utilization, arahkan kursor ke diagram untuk melihat penggunaan CPU konektor terbaru. Diagram menampilkan penggunaan CPU yang didistribusikan di seluruh instance untuk persentil ke-50, ke-95, dan ke-99.
Menghapus konektor
Sebelum Anda menghapus konektor, pastikan tidak ada layanan atau tugas yang masih terhubung ke konektor tersebut.
Untuk pengguna VPC Bersama yang menyiapkan konektor di project host
VPC Bersama, Anda dapat menggunakan perintah
gcloud compute networks vpc-access connectors describe
untuk mencantumkan project yang memiliki layanan atau tugas yang menggunakan konektor tertentu.
Untuk menghapus konektor, gunakan konsol Google Cloud atau Google Cloud CLI:
Konsol
Buka halaman ringkasan Akses VPC Serverless di konsol Google Cloud:
Pilih konektor yang ingin dihapus.
Klik Delete.
gcloud
-
Di konsol Google Cloud, aktifkan Cloud Shell.
Di bagian bawah Google Cloud Console, Cloud Shell sesi akan terbuka dan menampilkan perintah command line. Cloud Shell adalah lingkungan shell dengan Google Cloud CLI yang sudah terinstal, dan dengan nilai yang sudah ditetapkan untuk project Anda saat ini. Diperlukan waktu beberapa detik untuk melakukan inisialisasi sesi.
Gunakan perintah
gcloud
berikut untuk menghapus konektor:gcloud compute networks vpc-access connectors delete CONNECTOR_NAME --region=REGION
Ganti kode berikut:
- CONNECTOR_NAME dengan nama konektor yang ingin dihapus
- REGION dengan region tempat konektor berada
Mengonfigurasi lingkungan Cloud Run Anda untuk menggunakan VPC Langsung, bukan konektor
Anda dapat mengaktifkan layanan Cloud Run untuk mengirim traffic keluar (eksternal) langsung ke jaringan VPC, sehingga memungkinkan akses ke instance VM Compute Engine, instance Memorystore, dan resource lainnya dengan alamat IP internal.
Mengonfigurasi layanan untuk menggunakan VPC Langsung
Traffic keluar VPC langsung memungkinkan layanan Cloud Run Anda mengirim traffic ke jaringan VPC tanpa konektor Akses VPC Serverless. Biaya jaringan diskalakan hingga ke nol seperti layanan itu sendiri. Anda juga dapat menambahkan tag jaringan secara langsung pada revisi layanan Cloud Run untuk keamanan jaringan yang lebih terperinci, seperti menerapkan aturan firewall VPC.
Anda dapat mengonfigurasi traffic keluar VPC Langsung dengan layanan menggunakan konsol Google Cloud, Google Cloud CLI, YAML, atau Terraform.
Konsol
Klik Buat Layanan jika Anda mengonfigurasi layanan baru yang akan di-deploy. Jika Anda mengonfigurasi dan men-deploy layanan yang sudah ada, klik layanan, lalu klik Edit dan deploy revisi baru.
Jika Anda mengonfigurasi layanan baru, isi halaman setelan layanan awal sesuai kebutuhan, lalu klik Container, volume, networking, security untuk memperluas halaman konfigurasi layanan.
Klik tab Networking.
Klik Hubungkan ke VPC untuk traffic keluar.
Klik Kirim traffic langsung ke VPC.
Di kolom Network, pilih jaringan VPC yang ingin Anda kirimi traffic.
Di kolom Subnet, pilih subnet tempat alamat IP diterima oleh layanan Anda. Anda dapat men-deploy beberapa layanan di subnet yang sama.
Opsional: Masukkan nama tag jaringan yang ingin dikaitkan dengan layanan Anda atau layanan lainnya. Tag jaringan ditentukan pada tingkat revisi. Setiap revisi layanan dapat memiliki tag jaringan yang berbeda, seperti
network-tag-2
.Untuk Pemilihan rute traffic, pilih salah satu opsi berikut:
- Rutekan hanya permintaan IP pribadi ke VPC untuk hanya mengirim traffic ke alamat internal melalui jaringan VPC.
- Rutekan semua traffic ke VPC untuk mengirim semua traffic keluar melalui jaringan VPC.
Klik Buat atau Deploy.
Untuk memverifikasi bahwa layanan Anda berada di jaringan VPC, klik layanan tersebut, lalu klik tab Networking. Jaringan dan subnet tercantum dalam kartu VPC.
Kini Anda dapat mengirim permintaan dari layanan Cloud Run ke resource mana pun di jaringan VPC, sebagaimana diizinkan oleh aturan firewall Anda.
gcloud
Untuk men-deploy layanan Cloud Run tanpa konektor dari Google Cloud CLI:
Update komponen
gcloud
ke versi terbaru:gcloud components update
Pastikan Compute Engine API diaktifkan untuk project Anda:
gcloud services enable compute.googleapis.com
Deploy layanan Cloud Run Anda dengan perintah berikut:
gcloud run deploy SERVICE_NAME \ --image=IMAGE_URL \ --network=NETWORK \ --subnet=SUBNET \ --network-tags=NETWORK_TAG_NAMES \ --vpc-egress=EGRESS_SETTING \ --region=REGION
Ganti:
- SERVICE_NAME dengan nama layanan Cloud Run 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
- NETWORK dengan nama jaringan VPC Anda.
-
SUBNET dengan nama subnet Anda. Subnet harus berukuran
/26
atau lebih besar. Traffic keluar VPC langsung mendukung rentang IPv4 RFC 1918, RFC 6598, dan Class E. Anda dapat men-deploy atau menjalankan beberapa layanan atau tugas di subnet yang sama, tetapi subnet tersebut tidak dapat digunakan bersama oleh konektor yang ada. - Opsional: NETWORK_TAG_NAMES dengan nama tag jaringan yang dipisahkan
koma yang ingin Anda kaitkan
dengan layanan. Untuk layanan, tag jaringan
ditentukan pada tingkat revisi. Setiap revisi jaringan dapat memiliki
tag jaringan yang berbeda, seperti
network-tag-2
. - EGRESS_SETTING dengan
nilai setelan traffic keluar:
all-traffic
: Mengirim semua traffic keluar melalui jaringan VPC.private-ranges-only
: Hanya mengirim traffic ke alamat internal melalui jaringan VPC.
- REGION dengan region untuk layanan Anda.
Untuk memverifikasi bahwa layanan Anda berada di jaringan VPC, jalankan perintah berikut:
gcloud run services describe SERVICE_NAME \ --region=REGION
Ganti:
SERVICE_NAME
dengan nama layanan Anda.REGION
dengan region untuk layanan yang Anda tentukan di langkah sebelumnya.
Output harus berisi nama jaringan, subnet, dan setelan egress, misalnya:
VPC access: Network: default Subnet: subnet Egress: private-ranges-only
Kini Anda dapat mengirim permintaan dari layanan Cloud Run ke resource mana pun di jaringan VPC, sebagaimana diizinkan oleh aturan firewall Anda.
YAML
Jika Anda membuat layanan baru, lewati langkah ini. Jika Anda mengupdate layanan yang sudah ada, download konfigurasi YAML-nya:
gcloud run services describe SERVICE --format export > service.yaml
Perbarui atribut berikut:
apiVersion: serving.knative.dev/v1 kind: Service metadata: name: SERVICE_NAME labels: cloud.googleapis.com/location: REGION spec: template: metadata: annotations: run.googleapis.com/network-interfaces: '[{"network":"NETWORK","subnetwork":"SUBNET","tags":"NETWORK_TAG_NAMES"}]' run.googleapis.com/vpc-access-egress: EGRESS_SETTING spec: containers: - image: IMAGE
Ganti:
- SERVICE_NAME dengan nama layanan Cloud Run Anda. Nama layanan harus terdiri dari 49 karakter atau kurang dan harus unik per region dan project.
- REGION dengan region untuk layanan Cloud Run, yang harus sesuai dengan region subnet Anda.
- NETWORK dengan nama jaringan VPC Anda.
-
SUBNET dengan nama subnet Anda. Subnet harus berukuran
/26
atau lebih besar. Traffic keluar VPC langsung mendukung rentang IPv4 RFC 1918, RFC 6598, dan Class E. Anda dapat men-deploy atau menjalankan beberapa layanan atau tugas di subnet yang sama, tetapi subnet tersebut tidak dapat digunakan bersama oleh konektor yang ada. - Opsional NETWORK_TAG_NAMES dengan nama
tag jaringan
yang ingin Anda kaitkan dengan layanan. Untuk layanan, tag jaringan
ditentukan pada tingkat revisi. Setiap revisi jaringan dapat memiliki
tag jaringan yang berbeda, seperti
network-tag-2
. - EGRESS_SETTING dengan
nilai setelan traffic keluar:
all-traffic
: Mengirim semua traffic keluar melalui jaringan VPC.private-ranges-only
: Hanya mengirim traffic ke alamat internal melalui jaringan VPC.
- IMAGE dengan URL image container layanan Anda.
Anda juga dapat menentukan lebih banyak konfigurasi, seperti variabel lingkungan atau batas memori.
Buat atau perbarui layanan 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:
Sebagai opsi, tampilkan layanan Anda ke publik jika Anda ingin mengizinkan akses tanpa autentikasi ke layanan.
Mengonfigurasi tugas untuk menggunakan VPC Langsung
Traffic keluar VPC langsung memungkinkan tugas Cloud Run Anda mengirim traffic ke jaringan VPC tanpa konektor Akses VPC Serverless. Anda juga dapat menambahkan tag jaringan secara langsung pada tugas Cloud Run untuk keamanan jaringan yang lebih terperinci, seperti menerapkan aturan firewall VPC.
Anda dapat mengonfigurasi traffic keluar VPC Langsung dengan tugas menggunakan konsol Google Cloud, Google Cloud CLI, atau YAML.
Konsol
Jika Anda mengonfigurasi tugas baru, klik tab Tugas dan isi halaman setelan tugas awal sesuai kebutuhan. Jika Anda mengonfigurasi tugas yang sudah ada, klik tugas, kemudian klik Edit.
Klik Container, Variabel, & Rahasia, Koneksi, Keamanan untuk memperluas halaman properti tugas.
Klik tab Koneksi.
Klik Hubungkan ke VPC untuk traffic keluar.
Klik Kirim traffic langsung ke VPC.
Di kolom Network, pilih jaringan VPC yang ingin Anda kirimi traffic.
Di kolom Subnet, pilih subnet tempat alamat IP diterima oleh tugas Anda. Anda dapat menjalankan beberapa tugas di subnet yang sama.
Untuk Pemilihan rute traffic, pilih salah satu opsi berikut:
- Rutekan hanya permintaan IP pribadi ke VPC untuk hanya mengirim traffic ke alamat internal melalui jaringan VPC.
- Rutekan semua traffic ke VPC untuk mengirim semua traffic keluar melalui jaringan VPC.
Opsional: Masukkan nama tag jaringan yang ingin dikaitkan dengan layanan Anda atau layanan lainnya. Tag jaringan ditentukan pada tingkat revisi. Setiap revisi layanan dapat memiliki tag jaringan yang berbeda, seperti
network-tag-2
.Opsional: Masukkan nama tag jaringan yang ingin dikaitkan dengan tugas Anda. Untuk tugas, tag jaringan ditentukan pada tingkat eksekusi. Setiap eksekusi tugas dapat memiliki tag jaringan yang berbeda, seperti
network-tag-2
.Klik Buat atau Perbarui.
Untuk memverifikasi bahwa tugas Anda berada di jaringan VPC, klik tugas tersebut, lalu klik tab Konfigurasi. Jaringan dan subnet tercantum dalam kartuVPC.
Sekarang Anda dapat menjalankan tugas Cloud Run dan mengirim permintaan dari tugas ke resource mana pun di jaringan VPC, sebagaimana diizinkan oleh aturan firewall Anda.
gcloud
Untuk membuat tugas Cloud Run tanpa konektor dari Google Cloud CLI:
Update komponen
gcloud
ke versi terbaru:gcloud components update
Pastikan Compute Engine API diaktifkan untuk project Anda:
gcloud services enable compute.googleapis.com
Buat tugas Cloud Run dengan perintah berikut:
gcloud run jobs create JOB_NAME \ --image=IMAGE_URL \ --network=NETWORK \ --subnet=SUBNET \ --network-tags=NETWORK_TAG_NAMES \ --vpc-egress=EGRESS_SETTING \ --region=REGION
Ganti:
- JOB_NAME dengan nama tugas Cloud Run Anda
- IMAGE_URL dengan referensi ke image container,
misalnya,
us-docker.pkg.dev/cloudrun/container/job:latest
- NETWORK dengan nama jaringan VPC Anda.
-
SUBNET dengan nama subnet Anda. Subnet harus berukuran
/26
atau lebih besar. Traffic keluar VPC langsung mendukung rentang IPv4 RFC 1918, RFC 6598, dan Class E. Anda dapat men-deploy atau menjalankan beberapa layanan atau tugas di subnet yang sama, tetapi subnet tersebut tidak dapat digunakan bersama oleh konektor yang ada. - Opsional: NETWORK_TAG_NAMES dengan nama
tag jaringan
yang ingin Anda kaitkan dengan tugas. Untuk tugas, tag jaringan ditentukan
pada tingkat eksekusi. Setiap eksekusi tugas dapat memiliki tag jaringan
yang berbeda, seperti
network-tag-2
. - EGRESS_SETTING dengan
nilai setelan traffic keluar:
all-traffic
: Mengirim semua traffic keluar melalui jaringan VPC.private-ranges-only
: Hanya mengirim traffic ke alamat internal melalui jaringan VPC.
- REGION dengan region untuk tugas Anda.
Untuk memverifikasi bahwa tugas berada di jaringan VPC Anda, jalankan perintah berikut:
gcloud run jobs describe JOB_NAME \ --region=REGION
Ganti:
JOB_NAME
dengan nama tugas Anda.REGION
dengan region untuk tugas yang Anda tentukan di langkah sebelumnya.
Output harus berisi nama jaringan dan subnet, misalnya:
VPC network: Network: default Subnet: default
Sekarang Anda dapat menjalankan tugas Cloud Run dan mengirim permintaan dari tugas ke resource mana pun di jaringan VPC, sebagaimana diizinkan oleh aturan firewall Anda.
YAML
Jika Anda membuat tugas baru, lewati langkah ini. Jika Anda mengupdate tugas yang ada, download konfigurasi YAML-nya:
gcloud run jobs describe JOB_NAME --format export > job.yaml
Perbarui atribut berikut:
apiVersion: run.googleapis.com/v1 kind: Job metadata: name: JOB_NAME annotations: run.googleapis.com/launch-stage: BETA labels: cloud.googleapis.com/location: REGION spec: template: metadata: annotations: run.googleapis.com/network-interfaces: '[{"network":"NETWORK","subnetwork":"SUBNET","tags":"NETWORK_TAG_NAMES"}]' run.googleapis.com/vpc-access-egress: EGRESS_SETTING spec: containers: - image: IMAGE
Ganti:
- JOB_NAME dengan nama tugas Cloud Run Anda Nama tugas harus terdiri dari 49 karakter atau kurang dan harus unik per region dan project.
- REGION dengan region untuk tugas Cloud Run, yang harus sesuai dengan region subnet Anda.
- NETWORK dengan nama jaringan VPC Anda.
-
SUBNET dengan nama subnet Anda. Subnet harus berukuran
/26
atau lebih besar. Traffic keluar VPC langsung mendukung rentang IPv4 RFC 1918, RFC 6598, dan Class E. Anda dapat men-deploy atau menjalankan beberapa layanan atau tugas di subnet yang sama, tetapi subnet tersebut tidak dapat digunakan bersama oleh konektor yang ada. - Opsional: NETWORK_TAG_NAMES dengan nama
tag jaringan
yang ingin Anda kaitkan dengan tugas. Untuk tugas, tag jaringan ditentukan
pada tingkat eksekusi. Setiap eksekusi tugas dapat memiliki tag jaringan
yang berbeda, seperti
network-tag-2
. - EGRESS_SETTING dengan
nilai setelan traffic keluar:
all-traffic
: Mengirim semua traffic keluar melalui jaringan VPC.private-ranges-only
: Hanya mengirim traffic ke alamat internal melalui jaringan VPC.
- IMAGE dengan URL image container tugas Anda.
Buat atau perbarui tugas menggunakan perintah berikut:
gcloud run jobs replace job.yaml
Pemecahan masalah
Izin akun layanan
Untuk menjalankan operasi di project Google Cloud Anda, Akses VPC Serverless menggunakan akun layanan Agen Layanan Akses VPC Serverless. Alamat email akun layanan ini memiliki format berikut:
service-PROJECT_NUMBER@gcp-sa-vpcaccess.
Secara default, akun layanan ini memiliki
peran Agen Layanan Akses VPC Serverless
(roles/vpcaccess.serviceAgent
). Operasi Akses VPC Serverless
mungkin gagal jika Anda mengubah izin akun ini.
Performa jaringan yang buruk atau penggunaan CPU yang tidak ada aktivitasnya tinggi
Menggunakan satu konektor untuk ribuan instance dapat menyebabkan penurunan performa dan peningkatan penggunaan CPU saat tidak ada aktivitas. Untuk memperbaikinya, bagi layanan Anda di antara beberapa konektor.
Error
Error akun layanan memerlukan peran Agen Layanan
Jika menggunakan batasan kebijakan organisasi
Batasi Service Usage Resource
untuk memblokir Cloud Deployment Manager (deploymentmanager.googleapis.com
), Anda
mungkin melihat pesan error berikut:
Serverless VPC Access service account (service-<PROJECT_NUMBER>@gcp-sa-vpcaccess.) needs Serverless VPC Access Service Agent role in the project.
Tetapkan kebijakan organisasi untuk menghapus Deployment Manager dari daftar tolak atau menambahkannya ke daftar yang diizinkan.
Error pembuatan konektor
Jika pembuatan konektor menghasilkan error, coba langkah berikut:
- Tentukan rentang IP internal RFC 1918 yang tidak tumpang-tindih dengan reservasi alamat IP yang ada di jaringan VPC.
- Beri project Anda izin untuk menggunakan image VM Compute Engine dari
project dengan ID
serverless-vpc-access-images
. Untuk informasi selengkapnya tentang cara memperbarui kebijakan organisasi, lihat Menetapkan batasan akses image.
Tidak dapat mengakses resource
Jika Anda telah menentukan konektor, tetapi masih tidak dapat mengakses resource di jaringan VPC Anda, pastikan tidak ada aturan firewall di jaringan VPC dengan prioritas di bawah 1000 yang menolak traffic masuk dari rentang alamat IP konektor Anda.
Jika Anda mengonfigurasi konektor di project layanan VPC Bersama, pastikan aturan firewall Anda mengizinkan traffic masuk dari infrastruktur serverless ke konektor.
Error koneksi ditolak
Jika Anda menerima error connection refused
atau connection timeout
yang menurunkan
performa jaringan, koneksi Anda dapat berkembang tanpa batas di seluruh
pemanggilan aplikasi serverless Anda. Untuk membatasi jumlah maksimum
koneksi yang digunakan per instance, gunakan library klien yang mendukung kumpulan
koneksi. Untuk contoh mendetail tentang cara menggunakan kumpulan koneksi, lihat
Mengelola koneksi database.
Error resource tidak ditemukan
Saat menghapus jaringan VPC atau aturan firewall, Anda mungkin melihat
pesan yang mirip dengan berikut ini: The resource
"aet-uscentral1-subnet--1-egrfw" was not found.
Untuk informasi tentang error ini dan solusinya, lihat Error resource tidak ditemukan dalam dokumentasi aturan firewall VPC.
Langkah berikutnya
- Pantau aktivitas admin dengan pembuatan log audit Akses VPC Serverless.
- Lindungi resource dan data dengan membuat perimeter layanan dengan Kontrol Layanan VPC.
- Pelajari peran Identity and Access Management (IAM) yang terkait dengan Akses VPC Serverless. Lihat peran Akses VPC Serverless dalam dokumentasi IAM untuk mengetahui daftar izin yang terkait dengan setiap peran.
- Pelajari cara terhubung ke Memorystore dari: