Halaman ini menjelaskan cara menggunakan Private Service Connect untuk terhubung ke instance Cloud SQL.
Anda dapat menggunakan Private Service Connect untuk terhubung ke instance Cloud SQL utama atau replika baca-nya dari beberapa jaringan Virtual Private Cloud (VPC) yang tergabung dalam berbagai grup, tim, project, atau organisasi.
Sebelum memulai
Dukungan untuk menggunakan Private Service Connect dengan instance Cloud SQL tersedia untuk gcloud CLI
versi 416.0.0 dan yang lebih baru.
Peran pengguna
Tabel berikut memberikan informasi tentang peran yang diperlukan untuk menggunakan Private Service Connect dengan instance Cloud SQL:
Peran | Deskripsi |
---|---|
compute.networkAdmin |
Memberikan kontrol penuh atas jaringan VPC yang memulai koneksi ke instance Cloud SQL. Anda dapat membuat dan mengelola alamat IP, aturan firewall, dan endpoint Private Service Connect. Jika Anda menggunakan Private Service Connect untuk terhubung ke instance Cloud SQL dari beberapa jaringan VPC, setiap jaringan memiliki administrator sendiri. |
dns.admin |
Memberikan kontrol penuh atas resource Cloud DNS, termasuk zona dan data DNS. |
cloudsql.admin |
Memberikan kontrol penuh atas instance Cloud SQL dan mengontrol instance selama siklus prosesnya. |
cloudsql.instanceUser |
Memberikan akses ke instance Cloud SQL. Jika terhubung melalui klien Proxy Auth Cloud SQL, Anda harus memiliki peran Klien Cloud SQL. Jika terhubung secara langsung, Anda tidak memerlukan peran dan izin Identity and Access Management (IAM). |
Membuat instance Cloud SQL
Anda dapat membuat instance dan mengaktifkan Private Service Connect untuknya menggunakan gcloud CLI, Terraform, atau API.
gcloud
Untuk membuat instance dan mengaktifkan Private Service Connect untuknya, gunakan perintah gcloud sql instances create
:
gcloud sql instances create INSTANCE_NAME \ --project=PROJECT_ID \ --region=REGION_NAME \ --enable-private-service-connect \ --allowed-psc-projects=ALLOWED_PROJECTS \ --availability-type=AVAILABILITY_TYPE \ --no-assign-ip \ --tier=MACHINE_TYPE \ --database-version=DATABASE_VERSION
Lakukan penggantian berikut:
- INSTANCE_NAME: nama instance.
- PROJECT_ID: ID atau nomor project project Google Cloud yang berisi instance.
- REGION_NAME: nama region untuk instance.
ALLOWED_PROJECTS: daftar ID atau nomor project yang diizinkan, yang dipisahkan dengan koma. Jika project tidak terdapat dalam daftar ini, Anda tidak dapat menggunakannya untuk membuat instance dan mengaktifkan Private Service Connect untuk project tersebut.
- AVAILABILITY_TYPE: mengaktifkan ketersediaan tinggi untuk instance. Untuk parameter ini, tentukan salah satu nilai berikut:
REGIONAL
: mengaktifkan ketersediaan tinggi dan direkomendasikan untuk instance produksi. Instance gagal dipindahkan ke zona lain dalam region yang dipilih.ZONAL
: tidak menyediakan kemampuan failover. Ini adalah nilai defaultnya.
Untuk mengetahui informasi selengkapnya tentang cara menetapkan dan menghapus ketersediaan tinggi untuk instance, lihat Mengonfigurasi instance yang ada untuk ketersediaan tinggi dan Menonaktifkan ketersediaan tinggi untuk instance.
- MACHINE_TYPE: jenis mesin untuk instance.
- DATABASE_VERSION: versi database untuk instance (misalnya,
POSTGRES_13
).
Terraform
Untuk membuat instance dengan Private Service Connect yang diaktifkan, gunakan google_sql_database_instance
resource Terraform.
Untuk menerapkan konfigurasi Terraform di project Google Cloud, selesaikan langkah-langkah di bagian berikut.
Menyiapkan Cloud Shell
- Luncurkan Cloud Shell.
-
Tetapkan project Google Cloud default tempat Anda ingin menerapkan konfigurasi Terraform.
Anda hanya perlu menjalankan perintah ini sekali per project, dan dapat dijalankan di direktori mana pun.
export GOOGLE_CLOUD_PROJECT=PROJECT_ID
Variabel lingkungan akan diganti jika Anda menetapkan nilai eksplisit dalam file konfigurasi Terraform.
Menyiapkan direktori
Setiap file konfigurasi Terraform harus memiliki direktorinya sendiri (juga disebut modul root).
-
Di Cloud Shell, buat direktori dan file baru di dalam direktori tersebut. Nama file harus memiliki
ekstensi
.tf
—misalnyamain.tf
. Dalam tutorial ini, file ini disebut sebagaimain.tf
.mkdir DIRECTORY && cd DIRECTORY && touch main.tf
-
Jika mengikuti tutorial, Anda dapat menyalin kode contoh di setiap bagian atau langkah.
Salin kode contoh ke dalam
main.tf
yang baru dibuat.Atau, salin kode dari GitHub. Tindakan ini direkomendasikan jika cuplikan Terraform adalah bagian dari solusi menyeluruh.
- Tinjau dan ubah contoh parameter untuk diterapkan pada lingkungan Anda.
- Simpan perubahan Anda.
-
Lakukan inisialisasi Terraform. Anda hanya perlu melakukan ini sekali per direktori.
terraform init
Secara opsional, untuk menggunakan versi penyedia Google terbaru, sertakan opsi
-upgrade
:terraform init -upgrade
Menerapkan perubahan
-
Tinjau konfigurasi dan pastikan bahwa resource yang dibuat atau diperbarui oleh Terraform sesuai dengan ekspektasi Anda:
terraform plan
Koreksi konfigurasi jika diperlukan.
-
Terapkan konfigurasi Terraform dengan menjalankan perintah berikut dan memasukkan
yes
pada perintah:terraform apply
Tunggu hingga Terraform menampilkan pesan "Apply complete!".
- Buka project Google Cloud Anda untuk melihat hasilnya. Di Konsol Google Cloud, buka resource Anda di UI untuk memastikan bahwa Terraform telah membuat atau mengupdatenya.
REST v1
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- PROJECT_ID: ID atau nomor project project Google Cloud yang berisi instance.
- INSTANCE_NAME: nama instance.
- REGION_NAME: nama region untuk instance.
- AVAILABILITY_TYPE: mengaktifkan ketersediaan tinggi untuk instance. Untuk parameter ini, tentukan salah satu nilai berikut:
REGIONAL
: mengaktifkan ketersediaan tinggi dan direkomendasikan untuk instance produksi. Instance gagal dipindahkan ke zona lain dalam region yang dipilih.ZONAL
: tidak menyediakan kemampuan failover. Ini adalah nilai defaultnya.
Untuk mengetahui informasi selengkapnya tentang cara menetapkan dan menghapus ketersediaan tinggi untuk instance, lihat Mengonfigurasi instance yang ada untuk ketersediaan tinggi dan Menonaktifkan ketersediaan tinggi untuk instance.
ALLOWED_PROJECTS: daftar ID atau nomor project yang diizinkan, yang dipisahkan dengan koma. Jika project tidak terdapat dalam daftar ini, Anda tidak dapat menggunakannya untuk membuat instance dan mengaktifkan Private Service Connect untuk project tersebut.
- MACHINE_TYPE: jenis mesin untuk instance.
Metode HTTP dan URL:
POST https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances
Meminta isi JSON:
{ "name": "INSTANCE_NAME", "project": PROJECT_ID", "region": "REGION_NAME", "databaseVersion": "POSTGRES_13", "kind": "sql#instance", "settings": { "availabilityType": "AVAILABILITY_TYPE", "ipConfiguration": { "ipv4Enabled": false, "pscConfig": { "allowedConsumerProjects": [ "ALLOWED_PROJECTS" ], "pscEnabled": true } }, "kind": "sql#settings", "pricingPlan": "PER_USE", "replicationType": "SYNCHRONOUS", "tier": "MACHINE_TYPE" } }
Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:
Anda akan melihat respons JSON seperti berikut:
{ "kind": "sql#operation", "targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_NAME", "status": "RUNNING", "user": "user@example.com", "insertTime": "2020-01-16T02:32:12.281Z", "startTime": "2023-06-14T18:48:35.499Z", "operationType": "CREATE", "name": "OPERATION_ID", "targetId": "INSTANCE_NAME", "selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/operations/OPERATION_ID", "targetProject": "PROJECT_ID" }
REST v1beta4
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- PROJECT_ID: ID atau nomor project project Google Cloud yang berisi instance.
- INSTANCE_NAME: nama instance.
- REGION_NAME: nama region untuk instance.
- AVAILABILITY_TYPE: mengaktifkan ketersediaan tinggi untuk instance. Untuk parameter ini, tentukan salah satu nilai berikut:
REGIONAL
: mengaktifkan ketersediaan tinggi dan direkomendasikan untuk instance produksi. Instance gagal dipindahkan ke zona lain dalam region yang dipilih.ZONAL
: tidak menyediakan kemampuan failover. Ini adalah nilai defaultnya.
Untuk mengetahui informasi selengkapnya tentang cara menetapkan dan menghapus ketersediaan tinggi untuk instance, lihat Mengonfigurasi instance yang ada untuk ketersediaan tinggi dan Menonaktifkan ketersediaan tinggi untuk instance.
ALLOWED_PROJECTS: daftar ID atau nomor project yang diizinkan, yang dipisahkan dengan koma. Jika project tidak terdapat dalam daftar ini, Anda tidak dapat menggunakannya untuk membuat instance dan mengaktifkan Private Service Connect untuk project tersebut.
- MACHINE_TYPE: jenis mesin untuk instance.
Metode HTTP dan URL:
POST https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances
Meminta isi JSON:
{ "name": "INSTANCE_NAME", "project": PROJECT_ID", "region": "REGION_NAME", "databaseVersion": "POSTGRES_13", "kind": "sql#instance", "settings": { "availabilityType": "AVAILABILITY_TYPE", "ipConfiguration": { "ipv4Enabled": false, "pscConfig": { "allowedConsumerProjects": [ "ALLOWED_PROJECTS" ], "pscEnabled": true } }, "kind": "sql#settings", "pricingPlan": "PER_USE", "replicationType": "SYNCHRONOUS", "tier": "MACHINE_TYPE" } }
Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:
Anda akan melihat respons JSON seperti berikut:
{ "kind": "sql#operation", "targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_NAME", "status": "RUNNING", "user": "user@example.com", "insertTime": "2020-01-16T02:32:12.281Z", "startTime": "2023-06-14T18:48:35.499Z", "operationType": "CREATE", "name": "OPERATION_ID", "targetId": "INSTANCE_NAME", "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/operations/OPERATION_ID", "targetProject": "PROJECT_ID" }
Mendapatkan lampiran layanan
Setelah membuat instance Cloud SQL dengan Private Service Connect diaktifkan, dapatkan URI lampiran layanan dan gunakan untuk membuat endpoint Private Service Connect.
gcloud
Untuk melihat informasi ringkasan tentang instance yang mengaktifkan Private Service Connect, seperti kolom pscServiceAttachmentLink
yang menampilkan URI yang mengarah ke lampiran layanan instance, gunakan perintah gcloud sql instances describe
:
gcloud sql instances describe INSTANCE_NAME \ --project=PROJECT_ID
Lakukan penggantian berikut:
- INSTANCE_NAME: nama instance Cloud SQL yang dapat dihubungkan dengan endpoint Private Service Connect di jaringan VPC
- PROJECT_ID: ID atau nomor project project Google Cloud yang berisi instance
Contoh berikut menunjukkan contoh output untuk perintah ini:
gcloud sql instances describe myinstance \ --project=12345 ... pscServiceAttachmentLink: projects/45678/regions/myregion/serviceAttachments/myserviceattachment
Terraform
Untuk mendapatkan URI lampiran layanan, gunakan google_compute_address
resource Terraform.
Untuk menerapkan konfigurasi Terraform di project Google Cloud, selesaikan langkah-langkah di bagian berikut.
Menyiapkan Cloud Shell
- Luncurkan Cloud Shell.
-
Tetapkan project Google Cloud default tempat Anda ingin menerapkan konfigurasi Terraform.
Anda hanya perlu menjalankan perintah ini sekali per project, dan dapat dijalankan di direktori mana pun.
export GOOGLE_CLOUD_PROJECT=PROJECT_ID
Variabel lingkungan akan diganti jika Anda menetapkan nilai eksplisit dalam file konfigurasi Terraform.
Menyiapkan direktori
Setiap file konfigurasi Terraform harus memiliki direktorinya sendiri (juga disebut modul root).
-
Di Cloud Shell, buat direktori dan file baru di dalam direktori tersebut. Nama file harus memiliki
ekstensi
.tf
—misalnyamain.tf
. Dalam tutorial ini, file ini disebut sebagaimain.tf
.mkdir DIRECTORY && cd DIRECTORY && touch main.tf
-
Jika mengikuti tutorial, Anda dapat menyalin kode contoh di setiap bagian atau langkah.
Salin kode contoh ke dalam
main.tf
yang baru dibuat.Atau, salin kode dari GitHub. Tindakan ini direkomendasikan jika cuplikan Terraform adalah bagian dari solusi menyeluruh.
- Tinjau dan ubah contoh parameter untuk diterapkan pada lingkungan Anda.
- Simpan perubahan Anda.
-
Lakukan inisialisasi Terraform. Anda hanya perlu melakukan ini sekali per direktori.
terraform init
Secara opsional, untuk menggunakan versi penyedia Google terbaru, sertakan opsi
-upgrade
:terraform init -upgrade
Menerapkan perubahan
-
Tinjau konfigurasi dan pastikan bahwa resource yang dibuat atau diperbarui oleh Terraform sesuai dengan ekspektasi Anda:
terraform plan
Koreksi konfigurasi jika diperlukan.
-
Terapkan konfigurasi Terraform dengan menjalankan perintah berikut dan memasukkan
yes
pada perintah:terraform apply
Tunggu hingga Terraform menampilkan pesan "Apply complete!".
- Buka project Google Cloud Anda untuk melihat hasilnya. Di Konsol Google Cloud, buka resource Anda di UI untuk memastikan bahwa Terraform telah membuat atau mengupdatenya.
Membuat endpoint Private Service Connect
Anda dapat mencadangkan alamat IP internal untuk endpoint Private Service Connect dan membuat endpoint dengan alamat tersebut. Untuk membuat endpoint, Anda memerlukan URI lampiran layanan dan project yang diizinkan untuk instance.
gcloud
Guna mencadangkan alamat IP internal untuk endpoint Private Service Connect, gunakan perintah
gcloud compute addresses create
:gcloud compute addresses create ADDRESS_NAME \ --project=PROJECT_ID \ --region=REGION_NAME \ --subnet=SUBNET_NAME \ --addresses=INTERNAL_IP_ADDRESS
Lakukan penggantian berikut:
- ADDRESS_NAME: nama alamat IP internal.
- PROJECT_ID: ID atau nomor project project Google Cloud untuk endpoint.
- REGION_NAME: nama region untuk endpoint.
- SUBNET_NAME: nama subnet untuk alamat IP.
- INTERNAL_IP_ADDRESS: alamat IP yang akan dicadangkan. Alamat IP ini harus berada dalam rentang IP utama subnet. Alamat IP dapat berupa alamat RFC 1918 atau subnet dengan rentang non-RFC.
Untuk memverifikasi bahwa alamat IP sudah dicadangkan, gunakan perintah
gcloud compute addresses list
:gcloud compute addresses list ADDRESS_NAME \ --project=PROJECT_ID
Dalam respons, pastikan status
RESERVED
muncul untuk alamat IP.Untuk membuat endpoint Private Service Connect dan mengarahkannya ke lampiran layanan Cloud SQL, gunakan perintah
gcloud compute forwarding-rules create
:gcloud compute forwarding-rules create ENDPOINT_NAME \ --address=ADDRESS_NAME \ --project=PROJECT_ID \ --region=REGION_NAME \ --network=NETWORK_NAME \ --target-service-attachment=SERVICE_ATTACHMENT_URI
Lakukan penggantian berikut:
- ENDPOINT_NAME: nama endpoint
- NETWORK_NAME: nama jaringan VPC untuk endpoint
- SERVICE_ATTACHMENT_URI: URI lampiran layanan
Untuk memverifikasi bahwa lampiran layanan menerima endpoint, gunakan perintah
gcloud compute forwarding-rules describe
:gcloud compute forwarding-rules describe ENDPOINT_NAME \ --project=PROJECT_ID \ --region=REGION_NAME
Dalam respons, verifikasi bahwa status
ACCEPTED
muncul untuk kolompscConnectionStatus
. Endpoint dapat terhubung ke lampiran layanan.
Menghubungkan ke instance Cloud SQL
Anda dapat terhubung ke instance Cloud SQL dengan Private Service Connect yang diaktifkan menggunakan alamat IP internal, data DNS, Proxy Auth Cloud SQL, Konektor Bahasa Cloud SQL, atau aplikasi Google Cloud lainnya.
Mengonfigurasi zona DNS terkelola dan data DNS
Cloud SQL tidak membuat data DNS secara otomatis. Sebagai gantinya, respons API pencarian instance menyediakan nama DNS yang disarankan. Sebaiknya Anda membuat data DNS di zona DNS pribadi pada jaringan VPC yang sesuai. Hal ini memungkinkan penggunaan Proxy Auth Cloud SQL secara konsisten untuk terhubung dari berbagai jaringan.
gcloud
Untuk melihat informasi ringkasan tentang instance Cloud SQL, termasuk nama DNS instance, gunakan perintah
gcloud sql instances describe
:gcloud sql instances describe INSTANCE_NAME \ --project=PROJECT_ID
Lakukan penggantian berikut:
- INSTANCE_NAME: nama instance Cloud SQL
- PROJECT_ID: ID atau nomor project project Google Cloud yang berisi instance
Pada respons, pastikan nama DNS muncul. Nama ini memiliki pola berikut:
INSTANCE_UID.PROJECT_DNS_LABEL.REGION_NAME.sql.goog.
. Contoh:1a23b4cd5e67.1a2b345c6d27.us-central1.sql.goog.
.Untuk membuat zona DNS pribadi, gunakan perintah
gcloud dns managed-zones create
. Zona ini dikaitkan dengan jaringan VPC yang digunakan untuk terhubung ke instance Cloud SQL melalui endpoint Private Service Connect.gcloud dns managed-zones create ZONE_NAME \ --project=PROJECT_ID \ --description=DESCRIPTION \ --dns-name=DNS_NAME \ --networks=NETWORK_NAME \ --visibility=private
Lakukan penggantian berikut:
- ZONE_NAME: nama zona DNS
- PROJECT_ID: ID atau nomor project project Google Cloud yang berisi zona
- DESCRIPTION: deskripsi zona (misalnya, zona DNS untuk instance Cloud SQL)
- DNS_NAME: nama DNS untuk zona tersebut, seperti
REGION_NAME.sql.goog.
(dengan REGION_NAME adalah nama region untuk zona tersebut) - NETWORK_NAME: nama jaringan VPC
Setelah Anda membuat endpoint Private Service Connect, untuk membuat data DNS di zona tersebut, gunakan perintah
gcloud dns record-sets create
:gcloud dns record-sets create DNS_NAME \ --project=PROJECT_ID \ --type=RRSET_TYPE \ --rrdatas=RR_DATA \ --zone=ZONE_NAME
Lakukan penggantian berikut:
- DNS_NAME: nama DNS yang Anda ambil sebelumnya dalam prosedur ini.
- RRSET_TYPE: jenis data resource dari kumpulan data DNS (misalnya,
A
). - RR_DATA: alamat IP yang dialokasikan untuk endpoint Private Service Connect (misalnya,
198.51.100.5
). Anda juga dapat memasukkan beberapa nilai sepertirrdata1 rrdata2 rrdata3
(misalnya,10.1.2.3 10.2.3.4 10.3.4.5
).
Menghubungkan langsung menggunakan data DNS
Sebelum terhubung ke instance Cloud SQL menggunakan data DNS, selesaikan tindakan berikut:
- Buat endpoint Private Service Connect.
- Pastikan bahwa lampiran layanan instance menerima endpoint. Untuk memverifikasi bahwa status endpoint adalah
ACCEPTED
, periksa statusnya. - Konfigurasi zona terkelola DNS dan data DNS.
Setelah memenuhi kondisi ini, gunakan nama DNS untuk mengakses instance dari jaringan VPC mana pun tempat Anda membuat endpoint.
gcloud
Untuk mengambil data DNS endpoint Private Service Connect, gunakan perintah
gcloud compute addresses describe
:gcloud compute addresses describe DNS_RECORD \ --project=PROJECT_ID \ --region=REGION_NAME
Lakukan penggantian berikut:
- DNS_RECORD: data DNS untuk endpoint
- PROJECT_ID: ID atau nomor project project Google Cloud yang berisi endpoint
- REGION_NAME: nama region untuk endpoint
-
Untuk terhubung ke instance Cloud SQL, gunakan data DNS.
psql "sslmode=disable dbname=DATABASE_NAME user=USERNAME host=DNS_RECORD"
Lakukan penggantian berikut:
- DATABASE_NAME: nama database Cloud SQL untuk PostgreSQL yang terdapat dalam instance
- USERNAME: nama pengguna yang terhubung ke instance
- DNS_RECORD: data DNS endpoint
Terhubung langsung melalui alamat IP internal
Sebelum terhubung ke instance Cloud SQL dengan Private Service Connect yang diaktifkan, selesaikan tindakan berikut:
- Buat endpoint Private Service Connect.
- Pastikan bahwa lampiran layanan instance menerima endpoint. Untuk memverifikasi bahwa status endpoint adalah
ACCEPTED
, periksa statusnya.
Setelah memenuhi kondisi ini, gunakan alamat IP endpoint untuk mengakses instance dari jaringan VPC tempat Anda membuat endpoint.
gcloud
Untuk mengambil alamat IP endpoint Private Service Connect, gunakan perintah
gcloud compute addresses describe
:gcloud compute addresses describe ADDRESS_NAME \ --project=PROJECT_ID \ --region=REGION_NAME
Lakukan penggantian berikut:
- ADDRESS_NAME: nama alamat IP endpoint
- PROJECT_ID: ID atau nomor project project Google Cloud yang berisi endpoint
- REGION_NAME: nama region untuk endpoint
-
Untuk terhubung ke instance Cloud SQL, gunakan alamat IP internal.
psql "sslmode=disable dbname=DATABASE_NAME user=USERNAME hostaddr=IP_ADDRESS"
Lakukan penggantian berikut:
- DATABASE_NAME: nama database Cloud SQL untuk PostgreSQL yang terdapat dalam instance
- USERNAME: nama pengguna yang terhubung ke instance
- IP_ADDRESS: alamat IP endpoint
Terhubung menggunakan Proxy Auth Cloud SQL
Proxy Auth Cloud SQL adalah konektor yang menyediakan akses aman ke instance dengan Private Service Connect yang diaktifkan tanpa memerlukan jaringan resmi atau untuk mengonfigurasi SSL.
Untuk mengizinkan koneksi klien Proxy Auth Cloud SQL, siapkan data DNS yang cocok dengan nama DNS yang direkomendasikan dan disediakan untuk instance. Pencatatan DNS adalah pemetaan antara sumber daya DNS dan nama domain.
Download dan instal Proxy Auth Cloud SQL
Agar terhubung ke instance dengan Private Service Connect yang diaktifkan, Anda harus mendownload dan menginstal biner untuk Proxy Auth Cloud SQL. Biner yang Anda unduh tergantung pada sistem operasi, dan apakah menggunakan kernel 32-bit atau 64-bit. Sebagian besar perangkat keras yang lebih baru menggunakan kernel 64-bit.
Jika tidak yakin apakah komputer Anda menjalankan kernel 32-bit atau 64-bit, gunakan perintah uname -a
untuk Linux atau macOS. Untuk Windows, lihat dokumentasi Windows.
Memulai Proxy Auth Cloud SQL
Auth Proxy Cloud SQL mendukung koneksi ke instance dengan Private Service Connect yang diaktifkan. Untuk mengetahui informasi selengkapnya, lihat Memulai Proxy Auth Cloud SQL.
gcloud
Untuk melihat informasi ringkasan tentang instance Cloud SQL, termasuk nama koneksi instance, gunakan perintah
gcloud sql instances describe
. Nama koneksi ini menggunakan formatPROJECT_ID:REGION_NAME:INSTANCE_NAME
.gcloud sql instances describe INSTANCE_NAME \ --project=PROJECT_ID \ --format='value(connectionName)'
Lakukan penggantian berikut:
- INSTANCE_NAME: nama instance Cloud SQL
- PROJECT_ID: ID atau nomor project project Google Cloud yang berisi instance
- Salin nama koneksi instance.
Luncurkan Auth Proxy Cloud SQL:
./cloud-sql-proxy INSTANCE_CONNECTION_NAME --psc
Ganti INSTANCE_CONNECTION_NAME dengan nama koneksi instance yang Anda salin di langkah sebelumnya.
Menghubungkan menggunakan Cloud SQL Language Connectors
Konektor Bahasa Cloud SQL adalah library yang menyediakan akses aman ke instance Cloud SQL dengan Private Service Connect yang diaktifkan tanpa memerlukan jaringan resmi atau untuk mengonfigurasi SSL.
Untuk mengizinkan koneksi dengan Cloud SQL Language Connectors, siapkan data DNS yang cocok dengan nama DNS yang direkomendasikan dan disediakan untuk instance tersebut. Pencatatan DNS adalah pemetaan antara sumber daya DNS dan nama domain.
Konektor Bahasa Cloud SQL mendukung koneksi Private Service Connect melalui jenis IP PSC
dalam library masing-masing.
Menghubungkan dari App Engine Standard, Cloud Run, atau Cloud Functions
Untuk terhubung ke instance Cloud SQL dengan Private Service Connect yang diaktifkan, Anda dapat menggunakan App Engine Standard, Cloud Run, atau Cloud Functions.
Dalam lingkungan serverless yang didukung ini, Konektor Bahasa Cloud SQL dan koneksi TCP langsung yang menggunakan alamat IP dan nomor port didukung. Untuk koneksi TCP langsung, ini adalah alamat IP yang Anda cadangkan saat membuat endpoint Private Service Connect. Anda dapat menentukan alamat IP sebagai alamat untuk host database.
Jika membuat data DNS untuk endpoint, Anda dapat menentukan data ini untuk host.
Menghubungkan dari BigQuery
Untuk mengakses data di Cloud SQL dan membuat kueri terhadap data ini melalui koneksi IP internal, gunakan parameter --enable-google-private-path
. Parameter ini hanya valid jika:
- Anda menggunakan parameter
--no-assign-ip
. - Anda menggunakan parameter
--network
untuk menentukan nama jaringan VPC yang ingin Anda gunakan untuk membuat koneksi internal.
Menguji konektivitas
Untuk menguji konektivitas masuk ke instance Cloud SQL dengan Private Service Connect yang diaktifkan, tetapkan alamat IP endpoint Private Service Connect menjadi alamat IP tujuan.
gcloud
Untuk membuat uji konektivitas bagi instance Cloud SQL dengan Private Service Connect yang diaktifkan, gunakan perintah gcloud network-management connectivity-tests create
:
gcloud network-management connectivity-tests create CONNECTIVITY_TEST_NAME \ --source-instance=SOURCE_INSTANCE \ --destination-cloud-sql-instance=DESTINATION_CLOUD_SQL_INSTANCE \ --destination-network=DESTINATION_NETWORK \ --destination-port=DESTINATION_PORT \ --protocol=tcp
Lakukan penggantian berikut:
- CONNECTIVITY_TEST_NAME: nama uji konektivitas.
- SOURCE_INSTANCE: URI untuk instance Compute Engine tempat alamat IP sumber berada (misalnya,
projects/myproject/zones/myzone/instances/myinstance
). - DESTINATION_CLOUD_SQL_INSTANCE: URL untuk instance Cloud SQL (misalnya,
projects/myproject/instances/myinstance
). - DESTINATION_NETWORK: URI untuk jaringan VPC tempat alamat IP tujuan berada (misalnya,
projects/myproject/global/networks/mynetwork
). - DESTINATION_PORT: nomor port yang dicadangkan untuk instance. Untuk instance Cloud SQL untuk PostgreSQL, nomor port-nya adalah
5432
.
Batasan
- Anda dapat menyiapkan hingga 20 endpoint Private Service Connect yang terhubung ke lampiran layanan instance Cloud SQL yang mengaktifkan Private Service Connect.
- Flag berikut tidak valid atau terpengaruh:
--no-assign-ip:
menggunakan flag ini karena instance Cloud SQL yang mengaktifkan Private Service Connect tidak didukung untuk menggunakan jenis konektivitas lain seperti koneksi IP eksternal--authorized-networks:
Anda tidak dapat menggunakan tanda ini untuk menambahkan jaringan yang diizinkan--network:
Anda tidak dapat menggunakan tanda ini karena terkait dengan akses layanan pribadi--allocated-ip-range-name:
Anda tidak dapat menggunakan tanda ini karena nama rentang IP yang diizinkan tidak didukung
- Anda tidak dapat membuat replika eksternal instance dengan Private Service Connect yang diaktifkan.
- Anda tidak dapat mengaktifkan atau menonaktifkan Private Service Connect pada instance yang ada.
- Anda tidak dapat mengonfigurasi instance yang mengaktifkan Private Service Connect untuk menggunakan akses layanan pribadi atau koneksi IP eksternal.
- Anda tidak dapat mengaktifkan koneksi IP eksternal pada instance yang mengaktifkan Private Service Connect.
- Anda tidak dapat mengaktifkan akses layanan pribadi atau menambahkan jaringan resmi ke instance.
- Anda tidak dapat mengubah jenis konektivitas instance.
- Anda tidak dapat menggunakan perintah
gcloud sql connect
, Cloud Shell, atau Cloud Build untuk terhubung ke instance Cloud SQL dengan Private Service Connect yang diaktifkan. - Jika melakukan migrasi homogen ke Cloud SQL, Anda tidak dapat menggunakan Database Migration Service untuk terhubung ke instance Cloud SQL yang mengaktifkan Private Service Connect.
- Saat menguji konektivitas ke instance Cloud SQL dengan Private Service Connect yang diaktifkan, Anda tidak dapat menetapkan item berikut:
- Alamat IP internal atau nama DNS instance sebagai tujuan secara langsung
- Instance sebagai sumber
- Alamat IP endpoint Private Service Connect sebagai sumber
- Pemberian izin berbasis IP menggunakan jaringan yang diizinkan tidak didukung.
- Ekstensi
pglogical
,pl/proxy
,dblink
, danpostgres_fdw
tidak didukung. - Kontrol, logging, dan metrik berbasis IP klien tidak didukung untuk insight Sistem dan Kueri. Namun, VPN dan Interconnect didukung.
- Jika project jaringan Anda berisi instance yang menggunakan arsitektur jaringan Cloud SQL lama, Anda tidak dapat membuat instance Private Service Connect. Cloud SQL menyediakan alat untuk membantu Anda mengupgrade instance dari arsitektur jaringan lama ke arsitektur jaringan baru. Untuk mengetahui informasi selengkapnya atau untuk memeriksa arsitektur jaringan instance Cloud SQL dalam project Anda dan melakukan upgrade yang diperlukan, lihat Mengupgrade instance ke arsitektur jaringan baru.
Memecahkan masalah
Bagian ini berisi informasi tentang masalah yang terkait dengan instance Cloud SQL dengan Private Service Connect yang diaktifkan beserta langkah-langkah untuk pemecahan masalah.
Masalah | Pemecahan masalah |
---|---|
Lampiran layanan instance tidak menerima endpoint Private Service Connect. |
|
Langkah selanjutnya
- Pelajari IP pribadi lebih lanjut.
- Pelajari Private Service Connect lebih lanjut.
- Pelajari lebih lanjut cara membuat replika baca instance dengan Private Service Connect yang diaktifkan.
- Pelajari lebih lanjut cara meng-clone instance dengan mengaktifkan Private Service Connect.
- Pelajari lebih lanjut cara melihat informasi ringkasan tentang instance yang mengaktifkan Private Service Connect.
- Pelajari lebih lanjut cara menyetel dan menghapus ketersediaan tinggi untuk instance yang mengaktifkan Private Service Connect.
- Pelajari lebih lanjut cara mengedit dan menghapus instance yang mengaktifkan Private Service Connect.