Akses Looker PSC Arah Selatan ke Cloud SQL PSC

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.

145ea4672c3a3b14.png

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.

259493afd914f68b.png

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

def88091b42bfe4d.png

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

1e7035ea608d7d23.png

4. Penyiapan dan Persyaratan

Penyiapan lingkungan mandiri

  1. 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.

fbef9caa1602edd0.png

a99b7ace416376c4.png

5e3ff691252acf41.png

  • 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.
  1. 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:

55efc1aaa7a4d3ad.png

Hanya perlu waktu beberapa saat untuk penyediaan dan terhubung ke lingkungan. Jika sudah selesai, Anda akan melihat tampilan seperti ini:

7ffe5cbb04455448.png

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

1367ec0136aa5ad6.png

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

18940483f646ed15.png

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

2d4684d722d31e4b.png

9fa909f826dec963.png

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

eb3ef74d3ae71f1a.png

Koneksi kini dikonfigurasi

29017202470ad81f.png

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:

d9729caf9a61bfc2.png

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.

c911c127bffdee57.jpeg

Apa selanjutnya?

Lihat beberapa codelab ini...

Bacaan lebih lanjut & Video

Dokumen referensi