Cara Akses Cloud SQL dari GCP Project yang Berbeda

AH
Ahmad Lukman Hakim

Dedicated Author of LUKMANLAB

# gcp# linux

Mungkin beberapa dari kita pernah menemui studi kasus terkait cara akses cloud sql google cloud (GCP). Namun, kondisinya di projek id yang berbeda. Berikut beberapa cara yang pernah admin coba:

Cloud SQL Proxy

  • Dengan kondisi seperti gambar diatas, kita perlu memberikan IP Public pada Cloud SQL terlebih dahulu. Kemudian akses Connection name nya dari compute engine di shared-project.

  • Adapun contoh konfigurasi systemd nya seperti berikut:

[Unit]
Description=Cloud SQL Proxy
After=network.target pritunl.service
Wants=pritunl.service

[Service]
Type=simple
User=root
ExecStart=/root/bin/cloud-sql-proxy 'staging-project:asia-southeast2:db-postgre-staging?address=192.168.231.1'
Restart=always
RestartSec=10
StandardOutput=journal
StandardError=journal

[Install]
WantedBy=multi-user.target

Keterangan:

  • 192.168.231.1 adalah IP Address compute engine. Jadi, nanti user / client akses cloud sql pakai IP compute engine sebagai cloud sql proxy. Binary nya bisa download disini: https://github.com/GoogleCloudPlatform/cloud-sql-proxy

  • Konfigurasi systemd bisa taruh di /etc/systemd/system/cloudsql-proxy.service jika teman-teman menggunakan Ubuntu. Jangan lupa systemctl daemon-reload, kemduan start.

Private Service Connect (PSC)

  • Cara yang kedua ini cukup tidak familiar tapi cukup efisien juga, karena kita tidak perlu kasih IP publik pada cloud-sql nya.

  • Kurang lebih cara pengaturanya silahkan aktifkan (enable) api Private Service Connect di shared-project terlebih dahulu.

  • Kemudian, di cloud-sql staging-project bagian menu Connection -> Networking tab . Silahkan checklist Private Service Connect (PSC). Disana bisa pilih project-id tujuan yang mana projek tersebut akan terhubung ke cloud-sql.

  • Proses ini cukup membantu dan singkat, kita tidak perlu buat service attachment manual kemudian kita consume.

  • Setelah status PSC aktif, terlihat IP internal VPC yang bisa kita gunakan untuk akses cloud-sql di staging-project dari shared-project.