1. Pengantar
Dalam codelab ini, Anda akan melakukan koneksi southbound ke Cloud SQL yang di-deploy dengan Private Service Connect sebagai Produsen Layanan.
Private Service Connect adalah kemampuan jaringan Google Cloud yang memungkinkan konsumen mengakses layanan terkelola secara pribadi dari dalam jaringan VPC mereka. Demikian pula, hal ini memungkinkan produsen layanan terkelola menghosting layanan ini di jaringan VPC masing-masing yang terpisah dan menawarkan koneksi pribadi kepada konsumen mereka. Misalnya, saat menggunakan Private Service Connect untuk mengakses Looker, Anda adalah konsumen layanan, dan Google adalah produsen layanan, seperti yang ditandai pada Gambar 1.
Akses southbound, yang juga dikenal sebagai PSC terbalik, memungkinkan Konsumen membuat Layanan yang Dipublikasikan sebagai Produsen untuk mengizinkan Looker mengakses endpoint di lokal, di VPC, ke layanan terkelola, dan Internet. Koneksi southbound dapat di-deploy di region mana pun, terlepas dari tempat Looker PSC di-deploy, seperti yang ditandai pada Gambar 2.
Yang akan Anda pelajari
- Membuat layanan produsen instance Cloud SQL Private Service Connect
- Membuat endpoint Private Service Connect di Looker sebagai konsumen layanan
Yang Anda butuhkan
- Project Google Cloud dengan izin Pemilik
- Instance PSC Looker yang Ada
2. Yang akan Anda build
Anda akan membuat instance PSC Cloud SQL yang di-deploy sebagai Produsen Layanan yang dikaitkan dengan PSC Looker sebagai Konsumen Layanan.
Tindakan berikut memvalidasi akses ke layanan Produsen:
- Membuat Endpoint PSC di Looker yang terkait dengan Lampiran Layanan Produsen
- Menggunakan Looker Console untuk membuat koneksi database ke PSC Cloud SQL
- Menguji konektivitas ke PSC Cloud SQL dengan mengautentikasi dan mengakses skema standar
3. Topologi codelab
4. Penyiapan dan Persyaratan
Penyiapan lingkungan mandiri
- Login ke Google Cloud Console dan buat project baru atau gunakan kembali project yang sudah ada. Jika belum memiliki akun Gmail atau Google Workspace, Anda harus membuatnya.
- Project name adalah nama tampilan untuk peserta project ini. String ini adalah string karakter yang tidak digunakan oleh Google API. Anda dapat memperbaruinya kapan saja.
- Project ID bersifat unik di semua project Google Cloud dan tidak dapat diubah (tidak dapat diubah setelah ditetapkan). Cloud Console otomatis membuat string unik; biasanya Anda tidak mementingkan kata-katanya. Di sebagian besar codelab, Anda harus merujuk Project ID-nya (umumnya diidentifikasi sebagai
PROJECT_ID
). Jika tidak suka dengan ID yang dibuat, Anda dapat membuat ID acak lainnya. Atau, Anda dapat mencobanya sendiri, dan lihat apakah ID tersebut tersedia. ID tidak dapat diubah setelah langkah ini dan tersedia selama durasi project. - Sebagai informasi, ada nilai ketiga, Project Number, yang digunakan oleh beberapa API. Pelajari lebih lanjut ketiga nilai ini di dokumentasi.
- Selanjutnya, Anda harus mengaktifkan penagihan di Konsol Cloud untuk menggunakan resource/API Cloud. Menjalankan operasi dalam codelab ini tidak akan memakan banyak biaya, bahkan mungkin tidak sama sekali. Guna mematikan resource agar tidak menimbulkan penagihan di luar tutorial ini, Anda dapat menghapus resource yang dibuat atau menghapus project-nya. Pengguna baru Google Cloud memenuhi syarat untuk mengikuti program Uji Coba Gratis senilai $300 USD.
Mulai Cloud Shell
Meskipun Google Cloud dapat dioperasikan dari jarak jauh menggunakan laptop Anda, dalam codelab ini, Anda akan menggunakan Google Cloud Shell, lingkungan command line yang berjalan di Cloud.
Dari Google Cloud Console, klik ikon Cloud Shell di toolbar kanan atas:
Hanya perlu waktu beberapa saat untuk penyediaan dan terhubung ke lingkungan. Jika sudah selesai, Anda akan melihat tampilan seperti ini:
Mesin virtual ini berisi semua alat pengembangan yang Anda perlukan. Layanan ini menawarkan direktori beranda tetap sebesar 5 GB dan beroperasi di Google Cloud, sehingga sangat meningkatkan performa dan autentikasi jaringan. Semua pekerjaan Anda dalam codelab ini dapat dilakukan di browser. Anda tidak perlu menginstal apa pun.
5. Sebelum memulai
Mengaktifkan API
Di dalam Cloud Shell, pastikan project ID Anda sudah disiapkan:
gcloud config list project
gcloud config set project [YOUR-PROJECT-ID]
project=[YOUR-PROJECT-ID]
region=[YOUR-REGION]
echo $project
echo $region
Aktifkan semua layanan yang diperlukan:
gcloud services enable compute.googleapis.com
6. Mengidentifikasi Project PSC Looker
Membuat instance PSC Cloud SQL memerlukan identifikasi project PSC yang diizinkan. Oleh karena itu, project tenant PSC Looker harus diberikan pada saat pembuatan instance Cloud SQL atau diperbarui jika menggunakan instance yang ada.
Menentukan Project PSC Looker menggunakan gcloud
Di dalam Cloud Shell, perbarui [INSTANCE_NAME] dengan nama instance PSC Looker Anda untuk mendapatkan project ID Looker PSC:
gcloud looker instances describe [INSTANCE_NAME] --region=$region --format=json | grep -i lookerServiceAttachmentUri
Dalam Contoh output,t7ec792caf2a609d1-tp, adalah project PSC Looker:
gcloud looker instances describe looker-psc-instance --region=us-central1 --format=json | grep -i lookerServiceAttachmentUri
"lookerServiceAttachmentUri": "projects/t7ec792caf2a609d1-tp/regions/us-central1/serviceAttachments/looker-psc-f51982e2-ac0d-48b1-91bb-88656971c183",
Menentukan Project PSC Looker menggunakan Cloud Console
Di Cloud Console, buka:
Looker → Instance PSC Looker
7. Membuat instance Cloud SQL Produsen
Di bagian berikut, Anda akan membuat instance PSC Cloud SQL yang digunakan untuk tujuan pengujian yang di-deploy dengan sandi standar yang menentukan project PSC Looker dalam daftar project PSC yang diizinkan.
Pembuatan PSC Cloud SQL
Di dalam Cloud Shell, buat instance dan aktifkan Private Service Connect, perbarui [INSTANCE_PROJECT] dengan Project ID PSC Looker Anda.
gcloud sql instances create cloud-sql-psc-demo \
--project=$project \
--region=$region \
--enable-private-service-connect \
--allowed-psc-projects=[INSTANCE_PROJECT] \
--availability-type=regional \
--no-assign-ip \
--cpu=2 --memory=4GB \
--database-version=MYSQL_8_0 \
--enable-bin-log \
--root-password=password123
Contoh:
gcloud sql instances create cloud-sql-psc-demo \
--project=$project \
--region=$region \
--enable-private-service-connect \
--allowed-psc-projects=t7ec792caf2a609d1-tp \
--availability-type=regional \
--no-assign-ip \
--cpu=2 --memory=4GB \
--database-version=MYSQL_8_0 \
--enable-bin-log \
--root-password=password123
Mendapatkan Lampiran Layanan Cloud SQL
Setelah membuat instance Cloud SQL dengan Private Service Connect yang diaktifkan, dapatkan URI lampiran layanan yang digunakan di langkah berikutnya untuk membuat endpoint Private Service Connect di Looker.
Di dalam Cloud Shell, lakukan hal berikut:
gcloud sql instances describe [INSTANCE_NAME] --project=$project | grep -i pscServiceAttachmentLink
Contoh output menghasilkan URI lampiran layanan:
projects/o6222fa10e2a50865p-tp/regions/us-central1/serviceAttachments/a-39d809aaecae-psc-service-attachment-127fc34733744155
gcloud sql instances describe cloud-sql-psc-demo --project=$project | grep -i pscServiceAttachmentLink:
pscServiceAttachmentLink: projects/o6222fa10e2a50865p-tp/regions/us-central1/serviceAttachments/a-39d809aaecae-psc-service-attachment-127fc34733744155
Dari Cloud Console, Anda bisa mendapatkan Lampiran Layanan PSC Cloud SQL:
Di Cloud Console, buka:
SQL → Instance SQL → Koneksi
8. Membuat Koneksi Endpoint PSC di Looker
Di bagian berikut, Anda akan mengaitkan Lampiran Layanan Produsen Cloud SQL dengan PSC Looker Core melalui penggunaan flag –psc-service-attachment di Cloud Shell untuk satu domain.
Di dalam Cloud Shell, buat pengaitan psc dengan memperbarui parameter berikut agar cocok dengan lingkungan Anda:
- INSTANCE_NAME: Nama instance Looker (Google Cloud core) Anda.
- DOMAIN_1: sql.database1.com
- SERVICE_ATTACHMENT_1: URI yang diambil saat mendeskripsikan instance PSC Cloud SQL
- REGION: Region tempat instance Looker (Google Cloud core) Anda dihosting
Di dalam Cloud Shell, lakukan hal berikut:
gcloud looker instances update INSTANCE_NAME \
--psc-service-attachment domain=DOMAIN_1,attachment=SERVICE_ATTACHMENT_URI_1 \
--region=REGION
Contoh:
gcloud looker instances update looker-psc-instance \
--psc-service-attachment domain=sql.database1.com,attachment=projects/o6222fa10e2a50865p-tp/regions/us-central1/serviceAttachments/a-39d809aaecae-psc-service-attachment-127fc34733744155 \
--region=us-central1
Di dalam Cloud Shell, validasikan connectionStatus serviceAttachments adalah "ACCEPTED". Pastikan untuk memperbarui dengan INSTANCE_NAME PSC Looker Anda:
gcloud looker instances describe [INSTANCE_NAME] --region=$region --format=json
Contoh:
gcloud looker instances describe looker-psc-instance --region=$region --format=json
Contoh:
user@cloudshell$ gcloud looker instances describe looker-psc-instance --region=$region --format=json
{
"adminSettings": {},
"createTime": "2024-08-23T00:00:45.339063195Z",
"customDomain": {
"domain": "looker.cosmopup.com",
"state": "AVAILABLE"
},
"encryptionConfig": {},
"lookerVersion": "24.14.18",
"name": "projects/project/locations/us-central1/instances/looker-psc-instance",
"platformEdition": "LOOKER_CORE_ENTERPRISE_ANNUAL",
"pscConfig": {
"allowedVpcs": [
"projects/project/global/networks/looker-psc-demo",
"projects/project/global/networks/looker-shared-vpc"
],
"lookerServiceAttachmentUri": "projects/t7ec792caf2a609d1-tp/regions/us-central1/serviceAttachments/looker-psc-f51982e2-ac0d-48b1-91bb-88656971c183",
"serviceAttachments": [
{
"connectionStatus": "ACCEPTED",
"localFqdn": "sql.database1.com",
"targetServiceAttachmentUri": "projects/o6222fa10e2a50865p-tp/regions/us-central1/serviceAttachments/a-39d809aaecae-psc-service-attachment-127fc34733744155"
}
]
},
"pscEnabled": true,
"state": "ACTIVE",
"updateTime": "2024-09-04T14:40:05.613026012Z"
}
Memvalidasi endpoint PSC di Cloud Console
Dari Cloud Console, Anda dapat memvalidasi Koneksi PSC
Di Cloud Console, buka:
Looker → Instance Looker → Detail
9. Mengintegrasikan PSC Looker dengan PSC Cloud SQL
Di bagian berikut, Anda akan menggunakan Konsol Looker untuk membuat koneksi Database ke instance PSC Cloud SQL.
Buka ADMIN → DATABASE → CONNECTIONS → Pilih ADD CONNECTION
Isi detail koneksi sesuai screenshot di bawah, pilih HUBUNGKAN
Koneksi kini dikonfigurasi
10. Memvalidasi konektivitas Looker
Di bagian berikut, Anda akan mempelajari cara memvalidasi konektivitas Looker ke instance PSC Cloud SQL menggunakan tindakan 'uji' Looker.
Buka Koneksi Data ADMIN → DATABASE → CONNECTIONS → cloud-sql-psc-demo → Test
Setelah Test dipilih, Looker akan terhubung ke database postgres seperti yang ditunjukkan di bawah:
Pembersihan
Menghapus komponen lab dari satu terminal Cloud Shell
gcloud sql instances delete cloud-sql-psc-demo -q
11. Selamat
Selamat, Anda telah berhasil mengonfigurasi dan memvalidasi konektivitas ke PSC Cloud SQL menggunakan Konsol Looker yang didukung oleh Private Service Connect.
Anda telah membuat instance PSC Cloud SQL sebagai endpoint PSC Layanan Produsen dan Looker yang memungkinkan konektivitas ke layanan Produsen.
Cosmopup menganggap codelab itu luar biasa.
Apa selanjutnya?
Lihat beberapa codelab ini...
- Menggunakan Private Service Connect untuk memublikasikan dan menggunakan layanan
- Terhubung ke layanan lokal melalui Jaringan Hybrid menggunakan Private Service Connect dan load balancer Proxy TCP internal
- Akses ke semua codelab Private Service Connect yang dipublikasikan