Mengonfigurasi kebijakan koneksi layanan
Halaman ini menjelaskan cara administrator jaringan dapat mengonfigurasi kebijakan koneksi layanan untuk mengotomatiskan konektivitas pribadi ke layanan terkelola.
Sebelum memulai
Pastikan layanan terkelola yang ingin Anda deploy mendukung kebijakan koneksi layanan. Menyediakan layanan untuk deployment menggunakan kebijakan koneksi layanan tersedia dalam Pratinjau terbatas. Untuk informasi selengkapnya tentang layanan yang mendukung kebijakan koneksi layanan, lihat Layanan yang didukung.
Anda harus mengetahui nama class layanan untuk instance layanan terkelola yang ingin di-deploy konektivitasnya.
Anda memerlukan jaringan Virtual Private Cloud (VPC) dan subnet.
Anda harus mengaktifkan Compute Engine API di project Anda.
Anda harus mengaktifkan Network Connectivity API dalam project Anda.
Anda harus mengaktifkan Service Consumer Management API di project konsumen tempat endpoint Private Service Connect di-deploy. API ini memungkinkan Google Cloud membuat Akun Layanan Network Connectivity yang men-deploy endpoint Private Service Connect.
Peran yang diperlukan
Untuk mendapatkan izin yang diperlukan untuk mengonfigurasi jaringan dan membuat kebijakan koneksi layanan,
minta administrator untuk memberi Anda
peran IAM Compute Network Admin (roles/compute.networkAdmin
) di project Anda.
Untuk menggunakan kebijakan koneksi layanan dengan VPC Bersama, Akun Layanan Konektivitas Jaringan harus diberi peran di project layanan dan host. Akun layanan ini dikonfigurasi secara otomatis saat kebijakan koneksi layanan dibuat, tetapi perannya dapat dihapus secara manual. Jika Anda melihat error tentang izin yang tidak ada, Admin Akun Layanan mungkin perlu memberikan peran lagi. Untuk informasi selengkapnya, lihat Mengonfigurasi akun layanan untuk VPC Bersama.
Membuat kebijakan koneksi layanan
Dengan kebijakan koneksi layanan, Anda dapat mengizinkan class layanan yang ditentukan untuk membuat koneksi Private Service Connect antara jaringan VPC produsen dan konsumen.
Anda dapat membuat maksimal satu kebijakan untuk setiap kombinasi class, region, dan jaringan VPC layanan. Kebijakan menentukan otomatisasi konektivitas layanan untuk kombinasi spesifik tersebut. Saat mengonfigurasi kebijakan, pilih subnet. Subnet digunakan untuk mengalokasikan alamat IP untuk endpoint yang dibuat melalui kebijakan. Anda dapat menggunakan kembali subnet yang sama dalam beberapa kebijakan koneksi jika kebijakan tersebut memiliki region yang sama.
Misalnya, jika Anda ingin menggunakan otomatisasi konektivitas layanan dengan dua layanan di tiga region berbeda, buatlah enam kebijakan. Anda dapat menggunakan minimal tiga subnet—satu untuk setiap region.
Setelah membuat kebijakan koneksi layanan, Anda hanya dapat mengupdate subnet dan batas koneksi kebijakan. Jika Anda perlu mengupdate kolom lain, hapus kebijakan dan buat yang baru.
Konsol
Di Konsol Google Cloud, buka halaman Private Service Connect.
Klik tab Kebijakan Koneksi.
Klik Create connection policy.
Masukkan Name untuk kebijakan koneksi.
Tentukan class layanan.
- Untuk layanan Google, lakukan hal berikut:
- Untuk Source service class, pilih Google services.
- Pilih class layanan dari menu Service class.
- Untuk layanan pihak ketiga, lakukan hal berikut:
- Untuk Source service class, pilih 3rd party services.
- Untuk Service class, masukkan nama class layanan.
- Untuk layanan Google, lakukan hal berikut:
Di bagian Target endpoint scope, pilih Network dan Region tempat kebijakan ini diterapkan.
Di bagian Policy, pilih satu atau beberapa subnet dari menu Subnetworks. Subnet digunakan untuk mengalokasikan alamat IP untuk endpoint.
Opsional: Tentukan Connection limit untuk kebijakan. Batas ini menentukan jumlah endpoint yang dapat dibuat dengan menggunakan kebijakan koneksi ini. Jika dihilangkan, batasnya menjadi tidak ada.
Klik Create policy.
gcloud
Gunakan
perintah service-connection-policies create
.
gcloud network-connectivity service-connection-policies create POLICY_NAME \ --network=NETWORK \ --project=PROJECT_ID \ --region=REGION \ --service-class=SERVICE_CLASS \ --subnets=https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/subnetworks/SUBNETS \ --psc-connection-limit=LIMIT \ --description=DESCRIPTION
Ganti yang berikut ini:
POLICY_NAME
: nama kebijakan koneksi layanan Anda.NETWORK
: jaringan tempat kebijakan ini diterapkan.PROJECT_ID
: project ID atau nomor project jaringan VPC. Untuk jaringan VPC Bersama, kebijakan koneksi layanan harus di-deploy di project host dan tidak didukung di project layanan.REGION
: region tempat kebijakan ini diterapkan. Kebijakan yang sama harus ada untuk setiap region tempat Anda ingin mengotomatiskan konektivitas layanan.SERVICE_CLASS
: ID resource yang disediakan produsen dari class layanan.SUBNETS
: satu atau beberapa subnet konsumen reguler yang digunakan untuk mengaloksir alamat IP untuk endpoint Private Service Connect. Alamat IP ini secara otomatis dialokasikan dan dikembalikan ke kumpulan subnet saat instance layanan terkelola dibuat dan dihapus. Subnet harus berada di region yang sama dengan kebijakan koneksi layanan. Anda dapat menggunakan kembali subnetwork yang sama dalam beberapa kebijakan koneksi jika kebijakan tersebut memiliki region yang sama. Anda dapat memasukkan beberapa subnet dalam daftar yang dipisahkan koma.LIMIT
: jumlah maksimum endpoint yang dapat dibuat menggunakan kebijakan ini. Jika tidak ditentukan, batasnya menjadi tidak ada.DESCRIPTION
: deskripsi opsional untuk kebijakan koneksi layanan.
Misalnya, perintah berikut akan membuat kebijakan koneksi layanan untuk class layanan gcp-database-service
yang mengalokasikan alamat IP dari subnet managed-services
. Maksimal 10 endpoint Private Service Connect dapat dibuat menggunakan kebijakan ini. Endpoint harus dibuat dalam project yang berada di organisasi yang sama dengan instance layanan terkelola.
gcloud network-connectivity service-connection-policies create gcp-database-cxn-policy \ --network=default \ --project=my-project \ --region=us-central1 \ --service-class=gcp-database-service \ --subnets=managed-service-subnet \ --psc-connection-limit=10
Terraform
Anda dapat menggunakan resource Terraform untuk membuat kebijakan koneksi layanan.
Untuk mempelajari cara menerapkan atau menghapus konfigurasi Terraform, lihat Perintah dasar Terraform.
API
Sebelum menggunakan salah satu data permintaan, buat pengganti berikut:
PROJECT_ID
: ID project Anda.REGION
: region kebijakan koneksi layanan Anda.POLICY_NAME
: nama kebijakan koneksi layanan Anda.DESCRIPTION
: deskripsi opsional dari kebijakan koneksi layanan Anda.NETWORK
: jaringan kebijakan koneksi layanan Anda.LIMIT
: jumlah maksimum endpoint yang dapat dibuat menggunakan kebijakan ini. Jika tidak ditentukan, batasnya menjadi tidak ada.SUBNET
: satu atau beberapa subnet konsumen reguler yang digunakan untuk mengalokasikan alamat IP untuk endpoint Private Service Connect. Alamat IP ini dialokasikan secara otomatis dan dikembalikan ke kumpulan subnet saat instance layanan terkelola dibuat dan dihapus. Subnet harus berada di region yang sama dengan kebijakan koneksi layanan. Anda dapat menggunakan kembali subnetwork yang sama dalam beberapa kebijakan koneksi jika kebijakan tersebut memiliki region yang sama. Anda dapat memasukkan beberapa URL subnet dalam daftar yang dipisahkan koma.SERVICE_CLASS
: ID resource yang disediakan produsen dari class layanan.
Metode HTTP dan URL:
POST https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/serviceConnectionPolicies?serviceConnectionPolicyId=POLICY_NAME
Meminta isi JSON:
{ "description": "DESCRIPTION", "network": "projects/PROJECT_ID/global/networks/NETWORK", "pscConfig": { "limit": "LIMIT", "subnetworks": [ "projects/PROJECT_ID/regions/REGION/subnetworks/SUBNET" ] }, "serviceClass": "SERVICE_CLASS" }
Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:
Anda akan melihat respons JSON seperti berikut:
{ "name": "projects/project-id/locations/us-central1/operations/operation-1692118768698-602f91a204523-8c6a2d93-d5c20a6a", "metadata": { "@type": "type.googleapis.com/google.cloud.networkconnectivity.v1.OperationMetadata", "createTime": "2023-08-15T16:59:29.236110917Z", "target": "projects/project-id/locations/us-central1/serviceConnectionPolicies/policy-name", "verb": "create", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }
Mencantumkan kebijakan koneksi layanan
Konsol
Di Konsol Google Cloud, buka halaman Private Service Connect.
Klik tab Kebijakan Koneksi.
Kebijakan koneksi akan ditampilkan.
gcloud
Gunakan perintah service-connection-policies list
.
gcloud network-connectivity service-connection-policies list \ --region=REGION
Ganti REGION
dengan region tempat Anda ingin mencantumkan kebijakan koneksi layanan.
API
Sebelum menggunakan salah satu data permintaan, buat pengganti berikut:
PROJECT_ID
: ID project Anda.REGION
: region untuk mencantumkan kebijakan koneksi layanan.
Metode HTTP dan URL:
GET https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/serviceConnectionPolicies
Untuk mengirim permintaan, perluas salah satu opsi berikut:
Anda akan menerima respons JSON yang mirip seperti berikut:
{ "serviceConnectionPolicies": [ { "name": "projects/project-id/locations/us-central1/serviceConnectionPolicies/policy-1", "createTime": "2023-08-15T15:33:54.712819865Z", "updateTime": "2023-08-15T15:33:54.945630882Z", "description": "descriptor", "network": "projects/project-id/global/networks/network-two", "serviceClass": "service-class", "infrastructure": "PSC", "pscConfig": { "subnetworks": [ "projects/project-id/regions/us-west1/subnetworks/us-west1-subnet" ], "limit": "12" }, "etag": "zCqDFBG1dS7B4gNdJKPR98YMUXpSrBIz0tZB_hwOIZI" }, { "name": "projects/project-id/locations/us-central1/serviceConnectionPolicies/policy-2", "createTime": "2023-08-15T16:59:29.230257109Z", "updateTime": "2023-08-15T16:59:29.508994923Z", "description": "descriptor", "network": "projects/project-id/global/networks/custom-test", "serviceClass": "service-class", "infrastructure": "PSC", "pscConfig": { "subnetworks": [ "projects/project-id/regions/us-central1/subnetworks/subnet-one" ], "limit": "25" }, "etag": "nB603i61nRGMZpNjWoWMM6wRzsgM8QN9C9v5QFLyOa8" } ] }
Menjelaskan kebijakan koneksi layanan
Konsol
Di Konsol Google Cloud, buka halaman Private Service Connect.
Klik tab Kebijakan Koneksi.
Klik kebijakan koneksi layanan yang ingin Anda lihat.
gcloud
Gunakan perintah service-connection-policies describe
.
gcloud network-connectivity service-connection-policies describe POLICY_NAME \ --region=REGION
Ganti yang berikut ini:
POLICY_NAME
: nama kebijakan koneksi layanan yang ingin Anda deskripsikan.REGION
: region kebijakan koneksi layanan yang ingin Anda deskripsikan.
API
Sebelum menggunakan salah satu data permintaan, buat pengganti berikut:
PROJECT_ID
: ID project Anda.REGION
: region kebijakan koneksi layanan Anda.POLICY_NAME
: nama kebijakan koneksi layanan yang akan dijelaskan.
Metode HTTP dan URL:
GET https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/serviceConnectionPolicies/POLICY_NAME
Untuk mengirim permintaan, perluas salah satu opsi berikut:
Anda akan menerima respons JSON yang mirip seperti berikut:
{ "name": "projects/project-id/locations/us-central1/serviceConnectionPolicies/policy-name", "createTime": "2023-08-15T16:59:29.230257109Z", "updateTime": "2023-08-15T16:59:29.508994923Z", "description": "description", "network": "projects/project-id/global/networks/custom-test", "serviceClass": "gcp-memorystore-redis", "infrastructure": "PSC", "pscConfig": { "subnetworks": [ "projects/project-id/regions/us-central1/subnetworks/subnet-one" ], "limit": "25" }, "etag": "nB603i61nRGMZpNjWoWMM6wRzsgM8QN9C9v5QFLyOa8" }
Mengupdate kebijakan koneksi layanan
Anda dapat memperbarui subnet dan batas koneksi untuk kebijakan koneksi layanan.
Jika Anda menghapus subnet dari kebijakan koneksi layanan, hal berikut akan berlaku:
- Endpoint Private Service Connect yang ada tidak akan terpengaruh.
- Endpoint baru tidak menggunakan subnet yang dihapus.
Jika Anda mengupdate batas koneksi kebijakan koneksi layanan, hal berikut akan berlaku:
- Endpoint yang ada tidak akan terpengaruh.
- Jika batas koneksi baru lebih rendah dari jumlah endpoint yang ada yang terkait dengan kebijakan, otomatisasi konektivitas layanan akan memblokir pembuatan endpoint baru yang menggunakan kebijakan ini.
- Jika batas koneksi baru lebih tinggi dari jumlah endpoint yang ada yang terkait dengan kebijakan, endpoint yang sebelumnya diblokir oleh batas koneksi dapat dibuat.
Jika Anda mengupdate kebijakan koneksi layanan dan tidak menentukan batas koneksi, kebijakan yang diupdate tidak akan memiliki batas koneksi.
Konsol
Di Konsol Google Cloud, buka halaman Private Service Connect.
Klik tab Kebijakan Koneksi.
Klik kebijakan koneksi layanan yang ingin Anda edit.
Klik Edit.
Untuk mengupdate subnetwork kebijakan, lakukan hal berikut:
- Klik Subnetworks, lalu pilih subnetwork yang ingin Anda kaitkan dengan kebijakan ini.
- Klik Oke.
Untuk memperbarui batas koneksi kebijakan, masukkan nilai baru di kolom Connection limit.
Klik Update policy.
gcloud
Gunakan perintah service-connection-policies update
.
gcloud network-connectivity service-connection-policies update POLICY_NAME \ --region=REGION --project=PROJECT_ID --subnets=SUBNETS --psc-connection-limit=LIMIT
POLICY_NAME
: nama kebijakan koneksi layanan Anda.REGION
: region kebijakan koneksi layanan. Anda tidak dapat mengupdate region kebijakan.PROJECT_ID
: project ID atau nomor project kebijakan.SUBNETS
: satu atau beberapa subnet konsumen reguler yang digunakan untuk mengaloksir alamat IP untuk endpoint Private Service Connect. Alamat IP ini secara otomatis dialokasikan dan dikembalikan ke kumpulan subnet saat instance layanan terkelola dibuat dan dihapus. Subnet harus berada di region yang sama dengan kebijakan koneksi layanan. Anda dapat menggunakan kembali subnetwork yang sama dalam beberapa kebijakan koneksi jika kebijakan tersebut memiliki region yang sama. Anda dapat memasukkan beberapa subnet dalam daftar yang dipisahkan koma.LIMIT
: jumlah maksimum endpoint yang dapat dibuat menggunakan kebijakan ini. Jika tidak ditentukan, batasnya menjadi tidak ada.
API
Sebelum menggunakan salah satu data permintaan, buat pengganti berikut:
PROJECT_ID
: ID project Anda.REGION
: region kebijakan koneksi layanan Anda. Anda tidak dapat mengupdate region kebijakan.POLICY_NAME
: nama kebijakan koneksi layanan Anda.LIMIT
: jumlah maksimum endpoint yang dapat dibuat menggunakan kebijakan ini. Jika tidak ditentukan, batasnya menjadi tidak ada.SUBNET
: satu atau beberapa subnet konsumen reguler yang digunakan untuk mengalokasikan alamat IP untuk endpoint Private Service Connect. Alamat IP ini dialokasikan secara otomatis dan dikembalikan ke kumpulan subnet saat instance layanan terkelola dibuat dan dihapus. Subnet harus berada di region yang sama dengan kebijakan koneksi layanan. Anda dapat menggunakan kembali subnetwork yang sama dalam beberapa kebijakan koneksi jika kebijakan tersebut memiliki region yang sama. Anda dapat memasukkan beberapa URL subnet dalam daftar yang dipisahkan koma.NETWORK
: jaringan kebijakan koneksi layanan Anda.
Metode HTTP dan URL:
PATCH https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/serviceConnectionPolicies/POLICY_NAME
Meminta isi JSON:
{ "pscConfig": { "limit": "LIMIT", "subnetworks": [ "projects/PROJECT_ID/regions/REGION/subnetworks/SUBNET" ] }, "network": "projects/PROJECT_ID/global/networks/NETWORK" }
Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:
Anda akan menerima respons JSON yang mirip seperti berikut:
{ "name": "projects/project-id/locations/us-central1/operations/operation-1692118768698-602f91a204523-8c6a2d93-d5c20a6a", "metadata": { "@type": "type.googleapis.com/google.cloud.networkconnectivity.v1.OperationMetadata", "createTime": "2023-08-15T16:59:29.236110917Z", "target": "projects/project-id/locations/us-central1/serviceConnectionPolicies/policy-name", "verb": "create", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }
Menghapus kebijakan koneksi layanan
Anda dapat menghapus kebijakan koneksi layanan jika sudah selesai menggunakan layanan atau ingin berhenti mengotomatiskan konektivitas. Penghapusan kebijakan akan diblokir jika koneksi Private Service Connect yang aktif dikaitkan dengan kebijakan. Sebelum menghapus kebijakan koneksi layanan, hapus semua koneksi aktif dengan menonaktifkan semua instance layanan terkait.
Konsol
Di Konsol Google Cloud, buka halaman Private Service Connect.
Klik tab Kebijakan Koneksi.
Pilih kebijakan koneksi layanan yang ingin Anda hapus, lalu klik Delete.
gcloud
Gunakan
perintah service-connection-policies delete
.
gcloud network-connectivity service-connection-policies delete POLICY_NAME \ --region=REGION
Ganti yang berikut ini:
POLICY_NAME
: nama kebijakan koneksi layanan yang ingin Anda hapus.REGION
: region kebijakan koneksi layanan yang ingin Anda hapus.
API
Sebelum menggunakan salah satu data permintaan, buat pengganti berikut:
PROJECT_ID
: ID project Anda.REGION
: region kebijakan koneksi layanan Anda.POLICY_NAME
: nama kebijakan koneksi layanan yang akan dihapus.
Metode HTTP dan URL:
DELETE https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/serviceConnectionPolicies/POLICY_NAME
Untuk mengirim permintaan, perluas salah satu opsi berikut:
Anda akan melihat respons JSON seperti berikut:
{ "name": "projects/project-id/locations/us-central1/operations/operation-1692128792549-602fb6f98194a-e0275435-36edc095", "metadata": { "@type": "type.googleapis.com/google.cloud.networkconnectivity.v1.OperationMetadata", "createTime": "2023-08-15T19:46:32.605032867Z", "target": "projects/project-id/locations/us-central1/serviceConnectionPolicies/policy-name", "verb": "delete", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }
Mengonfigurasi akun layanan untuk VPC Bersama
Akun layanan dikonfigurasi secara otomatis saat Anda menggunakan kebijakan koneksi layanan dengan VPC Bersama, tetapi peran dapat dihapus secara manual. Jika Anda melihat error tentang izin yang tidak ada, coba berikan peran lagi.
Untuk memberikan peran yang diperlukan, Admin Akun Layanan dapat melakukan hal berikut.
Memberikan peran ke akun layanan di project layanan
gcloud
Berikan peran Network Connectivity Service Agent (
roles/networkconnectivity.serviceAgent
) ke Akun Layanan Network Connectivity project layanan. Berikan peran tersebut ke project layanan.gcloud projects add-iam-policy-binding SERVICE_PROJECT_NUMBER \ --member=serviceAccount:service-SERVICE_PROJECT_NUMBER@gcp-sa-networkconnectivity. \ --role=roles/networkconnectivity.serviceAgent
Ganti
SERVICE_PROJECT_NUMBER
dengan nomor project untuk project layanan.Berikan peran Compute Network User (
roles/compute.networkUser
) ke Akun Layanan Network Connectivity project layanan. Lakukan salah satu tindakan berikut.Berikan peran tersebut ke project host.
gcloud projects add-iam-policy-binding HOST_PROJECT_NUMBER \ --member=serviceAccount:service-SERVICE_PROJECT_NUMBER@gcp-sa-networkconnectivity. \ --role=roles/compute.networkUser
Ganti
HOST_PROJECT_NUMBER
dengan nomor project untuk project host.Berikan peran di setiap subnet dalam project host yang dikaitkan dengan kebijakan koneksi layanan. Gunakan perintah berikut untuk setiap subnet.
gcloud compute networks subnets add-iam-policy-binding SUBNET \ --member=serviceAccount:service-SERVICE_PROJECT_NUMBER@gcp-sa-networkconnectivity. \ --role=roles/compute.networkUser \ --region=REGION \ --project=HOST_PROJECT_NUMBER
Ganti kode berikut:
SUBNET
: nama subnet yang terkait dengan kebijakan koneksi layanan Anda.REGION
: region subnet.
Memberikan peran ke akun layanan di project host
gcloud
Berikan peran Network Connectivity Service Agent (
roles/networkconnectivity.serviceAgent
) ke Akun Layanan Network Connectivity project host. Berikan peran tersebut ke project host.gcloud projects add-iam-policy-binding HOST_PROJECT_NUMBER \ --member=serviceAccount:service-HOST_PROJECT_NUMBER@gcp-sa-networkconnectivity. \ --role=roles/networkconnectivity.serviceAgent
Ganti
HOST_PROJECT_NUMBER
dengan nomor project untuk project host.