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 host.
Jika Anda perlu menyiapkan konektor di project layanan, lihat Mengonfigurasi konektor di project layanan. Untuk mempelajari keuntungan dari setiap metode, lihat Menghubungkan ke jaringan VPC Bersama.
Sebelum memulai
Periksa peran Identity and Access Management (IAM) untuk akun yang sedang Anda gunakan. Akun aktif harus memiliki peran berikut di project host:
Pilih project host di lingkungan pilihan Anda.
Konsol
Buka dasbor konsol Google Cloud.
Pada panel menu di bagian atas dasbor, klik menu dropdown project lalu pilih project host.
gcloud
Tetapkan project default di gcloud CLI ke project host dengan menjalankan perintah berikut di terminal Anda:
gcloud config set project HOST_PROJECT_ID
Ganti kode berikut:
HOST_PROJECT_ID
: ID project host VPC Bersama
Membuat konektor Akses VPC Serverless
Untuk mengirim permintaan ke jaringan VPC dan menerima respons yang sesuai, Anda harus membuat konektor Akses VPC Serverless. Anda dapat membuat konektor menggunakan konsol Google Cloud, Google Cloud CLI, atau Terraform:
Konsol
Aktifkan API Akses VPC Serverless untuk project Anda.
Buka halaman ringkasan Akses VPC Serverless.
Klik Create connector.
Di kolom Name, masukkan nama untuk konektor Anda. Nama ini harus mengikuti konvensi penamaan Compute Engine dan kurang dari 21 karakter. 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 Anda berada di region
us-central
ataueurope-west
, gunakanus-central1
ataueurope-west1
.Di kolom Network, pilih jaringan VPC yang akan dipasangkan konektor.
Klik menu pull-down Subnetwork:
Pilih subnet
/28
yang tidak digunakan.- Subnet harus digunakan secara eksklusif oleh konektor. Subnet tidak dapat digunakan oleh resource lain seperti VM, Private Service Connect, atau load balancer.
- Untuk mengonfirmasi bahwa subnet Anda tidak digunakan untuk Private Service Connect atau Cloud Load Balancing, pastikan subnet
purpose
adalahPRIVATE
dengan menjalankan perintah berikut di gcloud CLI:gcloud compute networks subnets describe SUBNET_NAME
GantiSUBNET_NAME
dengan nama bucket Anda.
(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 saat traffic meningkat, tetapi konektor tidak diskalakan balik saat traffic menurun. Anda harus menggunakan nilai antara
2
dan10
, serta nilaiMIN
harus kurang dari nilaiMAX
. - Pada menu pull-down 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 saat traffic meningkat, tetapi konektor tidak diskalakan balik saat traffic menurun. Anda harus menggunakan nilai antara
Klik Create.
Tanda centang berwarna hijau akan muncul di samping nama konektor saat konektor siap digunakan.
gcloud
Update komponen
gcloud
ke versi terbaru:gcloud components update
Aktifkan API Akses VPC Serverless untuk project Anda:
gcloud services enable vpcaccess.googleapis.com
Buat konektor Akses VPC Serverless:
gcloud compute networks vpc-access connectors create CONNECTOR_NAME \ --region=REGION \ --subnet=SUBNET \ --subnet-project=HOST_PROJECT_ID \ # Optional: specify minimum and maximum instance values between 2 and 10, default is 2 min, 10 max. --min-instances=MIN \ --max-instances=MAX \ # Optional: specify machine type, default is e2-micro --machine-type=MACHINE_TYPE
Ganti kode berikut:
CONNECTOR_NAME
: nama untuk konektor Anda. Nama ini harus mengikuti konvensi penamaan Compute Engine dan kurang dari 21 karakter. Tanda hubung (-
) dihitung sebagai dua karakter.REGION
: region untuk konektor Anda; region ini harus cocok dengan region layanan serverless Anda. Jika layanan Anda berada di regionus-central
ataueurope-west
, gunakanus-central1
ataueurope-west1
.SUBNET
: nama subnet/28
yang tidak digunakan.- Subnet harus digunakan secara eksklusif oleh konektor. Subnet tidak dapat digunakan oleh resource lain seperti VM, Private Service Connect, atau load balancer.
- Untuk mengonfirmasi bahwa subnet Anda tidak digunakan untuk Private Service Connect atau Cloud Load Balancing, pastikan subnet
purpose
adalahPRIVATE
dengan menjalankan perintah berikut di gcloud CLI:gcloud compute networks subnets describe SUBNET_NAME
Ganti kode berikut:SUBNET_NAME
: nama subnet Anda
HOST_PROJECT_ID
: ID project hostMIN
: jumlah minimum instance yang akan digunakan untuk konektor. Gunakan bilangan bulat antara2
dan9
. Default-nya adalah2
. Untuk mempelajari penskalaan konektor, lihat Throughput dan penskalaan.MAX
: jumlah maksimum instance yang akan digunakan untuk konektor. Gunakan bilangan bulat antara3
dan10
. Default-nya adalah10
. Jika traffic memerlukannya, konektor akan diskalakan ke instance[MAX]
, tetapi tidak diskalakan balik. Untuk mempelajari penskalaan konektor, lihat Throughput dan penskalaan.MACHINE_TYPE
:f1-micro
,e2-micro
, ataue2-standard-4
. Untuk mempelajari throughput konektor, termasuk jenis mesin dan penskalaan, lihat Throughput dan penskalaan.
Untuk detail selengkapnya dan argumen opsional, lihat referensi
gcloud
.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 di langkah sebelumnyaREGION
: region konektor Anda; ini adalah region yang Anda tentukan di 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.
Memberikan akses ke konektor
Berikan akses ke konektor dengan memberikan peran IAM Serverless VPC Access User pada project host ke akun utama yang men-deploy layanan App Engine Anda.
Konsol
Buka halaman IAM.
Klik menu dropdown project lalu pilih project host.
Klik Tambahkan.
Di kolom New principals, tambahkan akun utama yang men-deploy layanan App Engine Anda.
Di kolom Peran, pilih Serverless VPC Access User.
Klik Save.
gcloud
Jalankan perintah berikut di terminal Anda:
gcloud projects add-iam-policy-binding HOST_PROJECT_ID \ --member=PRINCIPAL \ --role=roles/vpcaccess.user
Ganti kode berikut:
HOST_PROJECT_ID
: ID project host VPC BersamaPRINCIPAL
: akun utama yang men-deploy layanan App Engine Anda. Pelajari selengkapnya tentang flag--member
.
Membuat konektor dapat ditemukan
Untuk melihat konektor, akun utama memerlukan peran tampilan tertentu pada project host dan project layanan. Agar konektor Anda muncul saat akun utama melihat konektor yang tersedia di konsol Google Cloud atau dari terminalnya, tambahkan peran IAM untuk akun utama yang men-deploy layanan App Engine.
Memberikan peran IAM pada project host
Pada project host, berikan peran Serverless VPC Access Viewer (vpcaccess.viewer
) kepada akun utama yang men-deploy layanan App Engine.
Konsol
Buka halaman IAM.
Klik menu dropdown project lalu pilih project host.
Klik Add.
Di kolom Akun utama baru, masukkan alamat email akun utama yang akan dapat melihat konektor dari project layanan. Anda dapat memasukkan beberapa email di kolom ini.
Di kolom Role, pilih Serverless VPC Access Viewer.
Klik Save.
gcloud
Jalankan perintah berikut di terminal Anda:
gcloud projects add-iam-policy-binding HOST_PROJECT_ID \ --member=PRINCIPAL \ --role=roles/vpcaccess.viewer
Ganti kode berikut:
HOST_PROJECT_ID
: ID project host VPC BersamaPRINCIPAL
: akun utama yang men-deploy layanan App Engine. Pelajari selengkapnya tentang flag--member
.
Memberikan peran IAM pada project layanan
Pada project layanan, berikan peran Compute Network Viewer (compute.networkViewer
) kepada akun utama yang men-deploy layanan App Engine.
Konsol
Buka halaman IAM.
Klik menu dropdown project lalu pilih project layanan.
Klik Add.
Di kolom Akun utama baru, masukkan alamat email akun utama yang akan dapat melihat konektor dari project layanan. Anda dapat memasukkan beberapa email di kolom ini.
Di kolom Role, pilih Compute Network Viewer.
Klik Save.
gcloud
Jalankan perintah berikut di terminal Anda:
gcloud projects add-iam-policy-binding SERVICE_PROJECT_ID \ --member=PRINCIPAL \ --role=roles/compute.networkViewer
Ganti kode berikut:
SERVICE_PROJECT_ID
: ID project layananPRINCIPAL
: akun utama yang men-deploy layanan App Engine. Pelajari selengkapnya tentang flag--member
.
Mengonfigurasi layanan Anda agar menggunakan konektor
Untuk setiap layanan App Engine yang memerlukan akses ke VPC Bersama, Anda harus menentukan konektor untuk layanan tersebut. Langkah-langkah berikut menunjukkan cara mengonfigurasi layanan Anda untuk menggunakan konektor.
Nonaktifkan default URL-fetch dan hentikan semua penggunaan eksplisit dari library
urlfetch
. Akses VPC Serverless tidak kompatibel dengan layanan URL-fetch.Tambahkan
vpc_access_connector
ke fileapp.yaml
layanan Anda:vpc_access_connector: name: projects/HOST_PROJECT_ID/locations/REGION/connectors/CONNECTOR_NAME
Ganti kode berikut:
HOST_PROJECT_ID
: ID project host VPC BersamaREGION
: region konektor AndaCONNECTOR_NAME
: nama konektor Anda
Men-deploy layanan:
gcloud app deploy
Setelah melakukan deployment, layanan Anda dapat mengirim permintaan ke jaringan VPC Bersama dan menerima respons yang sesuai.
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 lingkungan standar App Engine.