Mengaktifkan Private Service Connect di instance Cloud SQL yang ada yang menjalankan PSA (Terraform)

1. Ringkasan

Ada beberapa opsi untuk terhubung ke instance Cloud SQL pribadi dari project atau jaringan VPC lain. Anda dapat menggunakan Akses layanan pribadi (PSA) untuk menjangkau alamat IP internal layanan Google dan pihak ketiga melalui koneksi pribadi. Untuk memperluas akses ke database, Anda kini juga dapat mengaktifkan Private Service Connect (PSC).

Private Service Connect (PSC) memungkinkan produsen layanan mengekspos layanan mereka melalui lampiran layanan, yang dapat digunakan konsumen untuk membuat endpoint PSC dan/atau backend PSC di lingkungan mereka. Melalui endpoint PSC ini, mereka dapat terhubung ke layanan produsen melalui IP pribadi yang ditentukan pengguna.

Di lab ini, Anda dapat mengonfigurasi dan menguji opsi tersebut.

Di lab ini, Anda akan membuat arsitektur sederhana yang menggambarkan penggunaan akses endpoint PSA & PSC dengan CloudSQL.

Gambar 1.

e0e0f83704cc9d62.png

Untuk lab ini, Anda memerlukan dua project atau VPC terpisah dalam project yang sama.

Tujuan

Di lab ini, Anda akan mempelajari cara melakukan tugas berikut:

  • Mengaktifkan jaringan layanan
  • Menyiapkan PSA
  • Membuat instance CloudSQL dengan PSA
  • Aktifkan lampiran layanan PSC.
  • Membuat endpoint PSC di VPC konsumen untuk terhubung ke database CloudSQL
  • Memverifikasi akses ke database SQL dari VM pengujian, di VPC produsen dan konsumen

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

3. Tugas 1. Menyiapkan lingkungan untuk project database dengan (Terraform)

Di project database, kita akan mengaktifkan jaringan layanan, membuat VPC, membuat rentang PSA, membuat peering jaringan layanan, dan membuat aturan firewall. Buka konsol cloud dan pilih project yang akan Anda gunakan untuk database.

  1. Buka Cloud Shell yang terletak di bagian atas konsol di sebelah kanan, pastikan Anda melihat Project ID database untuk project database di Cloud Shell, konfirmasi perintah apa pun untuk mengizinkan akses. 4261e776f64ea978.png
  2. Buat folder bernama terraform-db-psc dan pindahkan ke folder
mkdir terraform-db-psc  && cd terraform-db-psc
  1. Buat file main.tf, variable.tf, nat-vm.tf, dan database.tf.
touch main.tf variable.tf nat-vm.tf database.tf 
  1. Beralihlah ke tampilan Cloud Shell editor. Pilih editor, pastikan Anda mengizinkan perintah yang diperlukan agar antarmuka dapat dimuat.
  2. Setelah dimuat, buka File > Open Folder, lalu buka /home/your-user-name/terraform-db-psc dan pilih Ok untuk membuka folder di editor. 78f5eb9f2f82f1b0.png
  3. Pilih file variable.tf dan tambahkan kode berikut. Ganti teks your-database-project-id-here dengan ID project database Anda yang sebenarnya dalam tanda petik. Ganti teks your-consumer-project-id-here dengan ID project konsumen Anda yang sebenarnya dalam tanda kutip.
variable "project_id" {
  type = string
  default = "your-database-project-id-here"
}

variable "project_id_consumer" {
  type = set(string)
  default = ["your-consumer-project-id-here"]
}

variable "network_id" {
  type = string
  default = "database-net"
}

variable "region_id" {
  type = string
  default = "us-east1"
}

variable "db_password" {
  type = string
  default = "cloudsql24"
}
  1. Selanjutnya, buka file main.tf. Kita akan menambahkan beberapa kode terraform untuk melakukan berbagai tindakan seperti yang dijelaskan di bawah.

Mengaktifkan API

resource "google_project_service" "default"

Create VPC

resource "google_compute_network" "default"

Menambahkan Aturan firewall

resource "google_compute_firewall" "allow_icmp"

Membuat rentang PSA

resource "google_compute_global_address" "psa_range"

Membuat peering

resource "google_service_networking_connection" "private_connection"

  1. Salin dan tempel kode berikut ke dalam file .tf utama.
resource "google_project_service" "default" {
 for_each = toset([
   "compute.googleapis.com",
   "servicenetworking.googleapis.com", 
   "sqladmin.googleapis.com",
   "cloudresourcemanager.googleapis.com"
 ])

 service            = each.value
 disable_on_destroy = false
}

resource "google_compute_network" "default" {
 project                = var.project_id
 name                    = var.network_id
 auto_create_subnetworks = true
 mtu                     = 1460
 routing_mode            = "GLOBAL"
}

resource "google_compute_global_address" "psa_range" {
  name                  = "psa-range-${google_compute_network.default.name}"
  project               = var.project_id
  purpose               = "VPC_PEERING"
  address_type          = "INTERNAL"
  prefix_length         = 20
  address               = "172.18.0.0"
  network               = google_compute_network.default.id

}

resource "google_service_networking_connection" "private_connection" {
  network = google_compute_network.default.self_link
  service = "servicenetworking.googleapis.com"

  reserved_peering_ranges = [
    google_compute_global_address.psa_range.name,
  ]
}

resource "google_compute_firewall" "allow_icmp" {
 name    = "allow-icmp-${google_compute_network.default.name}"
 network = google_compute_network.default.id
 project = var.project_id

 allow {
   protocol = "icmp"
 }

 source_ranges = ["0.0.0.0/0"]
 target_tags   = ["allow-icmp"]
}

resource "google_compute_firewall" "allow_ssh" {
 name    = "allow-ssh-${google_compute_network.default.name}"
 network = google_compute_network.default.id
 project = var.project_id

 allow {
   protocol = "tcp"
   ports    = ["22"]
 }

 source_ranges = ["0.0.0.0/0"]
 target_tags   = ["allow-ssh"]
}

resource "google_compute_firewall" "allow_sql" {
 name    = "allow-sql-${google_compute_network.default.name}"
 network = google_compute_network.default.id
 project = var.project_id

 allow {
   protocol = "tcp"
   ports    = ["3306"]
 }

 source_ranges = ["0.0.0.0/0"]
}

resource "google_compute_firewall" "allow_internal" {
 name    = "allow-internal-${google_compute_network.default.name}"
 network = google_compute_network.default.id
 project = var.project_id

 allow {
   protocol = "icmp"
 }

 allow {
   protocol = "tcp"
   ports    = ["0-65535"]
 }
 allow {
   protocol = "udp"
   ports    = ["0-65535"]
 }

 source_ranges = ["10.128.0.0/9", "172.18.0.0/20"] # Include PSA range
}
  1. Beralih kembali ke terminal Cloud Shell, pastikan Anda berada di direktori terraform-db-psc cd terraform-db-psc dan jalankan perintah berikut

terraform init

Menginisialisasi direktori kerja. Langkah ini mendownload penyedia yang diperlukan untuk konfigurasi yang diberikan.

terraform plan

Membuat rencana eksekusi, yang menunjukkan tindakan yang akan dilakukan Terraform untuk men-deploy infrastruktur Anda.

  1. Sekarang, untuk membuat resource, jalankan perintah terraform apply dan ketik yes untuk dijalankan.

4. Tugas 2. Membuat instance CloudSQL dengan PSA (Terraform)

Mari kita gunakan Terraform untuk membuat instance CloudSQL, dengan opsi PSA untuk mengizinkan konektivitas. Selesaikan konfigurasi ini di project database.

  1. Beralihlah ke tampilan Cloud Shell editor. Pastikan Anda berada di folder terraform-db-psc. Pilih file database.tf dan tambahkan kode berikut.
resource "google_sql_database_instance" "default" {
  name             = "psc-psa-sql-db"
  region           = var.region_id
  database_version = "MYSQL_8_0"  
  settings {
    tier              = "db-f1-micro"
    availability_type = "REGIONAL"
    backup_configuration {
      enabled            = true
      binary_log_enabled = true
    }
    ip_configuration {      
      ipv4_enabled    = "false"
      private_network = google_compute_network.default.id
      
    }
  }
  deletion_protection = false 
}

resource "google_sql_user" "users" {
  name     = "testsql"
  instance = google_sql_database_instance.default.name
  password = var.db_password 
}

  1. Beralih kembali ke terminal Cloud Shell, pastikan Anda berada di direktori terraform-db-psc. Sekarang, untuk membuat resource, jalankan perintah terraform apply dan ketik yes untuk dijalankan. Pembuatan instance CloudSQL dengan PSA dapat memerlukan waktu hingga 15 menit.

Memverifikasi database

  1. Setelah selesai, buka SQL di konsol, pilih instance database psc-psa-sql-db yang baru dibuat.
  2. Di sebelah kiri, luaskan slideout opsi SQL dan pilih Koneksi
  3. Di tab ringkasan, Anda dapat melihat informasi tentang koneksi.
  4. Salin Internal IP Address dan simpan di suatu tempat di sistem Anda. Seperti yang dapat Anda lihat, ID tersebut ditetapkan dari rentang yang kami sediakan.
  5. Anda akan memerlukan IP ini untuk menyelesaikan tugas 3 langkah 5.

5c00f08b0f44c957.png

  1. Di sebelah kiri, luaskan slideout opsi SQL dan pilih Pengguna.
  2. Anda akan melihat pengguna bernama testsql dengan sandi cloudsql24 (Ini akan digunakan untuk mengakses database nanti)

5. Tugas 3. Membuat VM pengujian dan terhubung ke instance SQL dari dalam project db (Terraform)

Mari kita gunakan Terraform untuk membuat VM pengujian dan gateway NAT. Selesaikan konfigurasi ini di project database.

  1. Beralihlah ke tampilan Cloud Shell editor. Pastikan Anda berada di folder terraform-db-psc. Pilih file nat-vm.tf dan tambahkan kode berikut.
resource "google_compute_router" "default" {
  name    = "outbound-nat"
  region  = var.region_id
  network = google_compute_network.default.id

 bgp {
  asn = 64514
  }
}

resource "google_compute_router_nat" "default" {
  name = "outbound-nat-gw"
  router = google_compute_router.default.name
  region = google_compute_router.default.region
  nat_ip_allocate_option = "AUTO_ONLY"
  source_subnetwork_ip_ranges_to_nat = "ALL_SUBNETWORKS_ALL_IP_RANGES"

  log_config {
    enable = true
    filter = "ERRORS_ONLY"
  }
}


resource "google_compute_instance" "sql_net_vm" {
  name         = "db-vm-test"
  machine_type = "e2-medium"
  zone         = "${var.region_id}-b"
  project      = var.project_id

  boot_disk {
    initialize_params {
      image = "debian-cloud/debian-11"
    }
  }

  network_interface {
    network = google_compute_network.default.self_link
  }

  # No external IP address
  network_performance_config {
    total_egress_bandwidth_tier = "DEFAULT"
  }

  tags = ["allow-icmp", "allow-ssh", "allow-internal", "allow-health-check"]

  # Install MariaDB at startup
  metadata_startup_script = <<EOF
#!/bin/bash
apt-get update
apt-get install -y mariadb-server
systemctl enable mariadb
EOF
}
  1. Beralih kembali ke terminal Cloud Shell, pastikan Anda berada di direktori terraform-db-psc. Sekarang, untuk membuat resource, jalankan perintah terraform plan, then terraform apply dan ketik yes untuk dijalankan. Tindakan ini akan membuat gateway NAT dan VM dengan MariaDB terinstal.

Memverifikasi database

Selesaikan ini di project konsumen

  1. Buka VM Instance. Pilih db-vm-test
  2. Pilih opsi SSH untuk terhubung ke VM.
  3. Hubungkan ke DB melalui IP lokal yang Anda salin sebelumnya dengan hal berikut:
mysql --host=172.18.0.2 --user=testsql --password=cloudsql24

Catatan: Ubah alamat IP ke IP Anda yang sebenarnya agar dapat terhubung.

  1. Setelah koneksi dibuat, mari kita buat database dengan localvpcsqldb berikut.
CREATE DATABASE localvpcsqldb;
  1. Setelah selesai, ketik exit untuk keluar dari koneksi. Ketik exit lagi untuk menutup VM.

6. Tugas 4. Mengaktifkan PSC di instance CloudSQL

Mari kita gunakan perintah gcloud untuk mengaktifkan opsi PSC guna mengizinkan konektivitas. Selesaikan konfigurasi ini di project database.

  1. Beralihlah ke tampilan Cloud Shell.
  2. Jalankan perintah berikut di Cloud Shell.
  • Ganti Pastikan YOUR_DB_PROJECT_HERE dengan project ID database.
  • Ganti Pastikan YOUR_CONSUMER_PROJECT_HERE dengan project ID konsumen.
project_id=YOUR_DB_PROJECT_HERE
allowed_project=YOUR_CONSUMER_PROJECT_HERE

gcloud beta sql instances patch psc-psa-sql-db \
--project=$project_id \
--enable-private-service-connect \
--allowed-psc-projects=$allowed_project
  1. Tindakan ini akan memperbarui database yang ada dengan lampiran PSC. Proses ini akan memerlukan waktu lebih dari 10 menit.

Jika Anda mendapatkan error waktu tunggu habis, Anda juga akan mendapatkan perintah untuk terus melihat progres. Seperti "Anda dapat terus menunggu operasi dengan menjalankan `gcloud beta sql operations wait –project "

Perhatikan bahwa Anda dapat men-deploy database baru dengan PSA dan PSC diaktifkan sejak awal.

Memverifikasi database

  1. Setelah selesai, buka SQL di konsol, pilih instance database psc-psa-sql-db.
  2. Di sebelah kiri, luaskan slideout opsi SQL dan pilih Koneksi
  3. Di tab ringkasan, Anda dapat melihat informasi tentang koneksi.
  4. Salin alamat Lampiran layanan dan simpan di suatu tempat di sistem Anda.
  5. Anda akan memerlukannya untuk menyelesaikan tugas berikutnya 5 langkah 8.

2cf5ce71eceea326.png

7. Tugas 5. Menyiapkan lingkungan untuk project konsumen (Terraform)

Di project konsumen, kita akan membuat VPC kustom dengan aturan Firewall dan subnet. Buka konsol cloud dan pilih project yang akan Anda gunakan.

  1. Di bagian atas konsol di sebelah kanan, di samping ikon Google Cloud, klik menu dropdown, lalu pilih tab all.

panel projectproject bar 2

  1. Dari project yang tercantum, pilih ID project konsumen Anda untuk melanjutkan.
  2. Buka Cloud Shell yang terletak di bagian atas konsol di sebelah kanan, pastikan Anda melihat project ID konsumen di Cloud Shell, konfirmasi perintah apa pun untuk mengizinkan akses.
  3. Buat folder bernama terraform-consumer-psc dan pindahkan ke folder
mkdir terraform-consumer-psc  && cd terraform-consumer-psc
  1. Buat file main.tf, variable.tf, dan psc.tf.
touch main.tf variable.tf psc.tf 
  1. Beralihlah ke tampilan editor Cloud Shell untuk ID project konsumen. Pilih editor, pastikan Anda mengizinkan perintah yang diperlukan agar antarmuka dapat dimuat.
  2. Setelah dimuat, buka File > Open Folder, lalu buka /home/your-user-name/terraform-consumer-psc dan pilih Ok untuk membuka folder di editor. 78f5eb9f2f82f1b0.png
  3. Pilih file variable.tf dan tambahkan kode berikut. Ganti teks your-consumer-project-id-here dengan project ID konsumen yang sebenarnya dalam tanda kutip. Ganti teks your-psc-attachment-id-here dengan alamat lampiran psc Anda dalam tanda kutip. Ini adalah ID yang Anda salin di tugas 4 bagian 5-7 d7ac9629a59abfc6.png
variable "project_id" {
  type = string
  default = "your-consumer-project-id-here"
}

variable "psc_attachment_id" {
  type = string
  default = "your-psc-attachment-id-here"
}

variable "network_id" {
  type = string
  default = "psc-endpoint-vpc"
}

variable "region_id" {
  type = string
  default = "us-east1"
}

  1. Selanjutnya, buka file main.tf. Kita akan menambahkan beberapa kode terraform untuk melakukan berbagai tindakan seperti yang dijelaskan di bawah.

Mengaktifkan API

resource "google_project_service"

Create VPC

resource "google_compute_network"

Membuat gateway NAT

resource "google_compute_router"
resource "google_compute_router_nat"

Menambahkan Aturan firewall

resource "google_compute_firewall"

  1. Salin dan tempel kode berikut ke dalam file .tf utama.
resource "google_project_service" "default" {
  for_each = toset([
    "compute.googleapis.com",
    "cloudresourcemanager.googleapis.com"
  ])

  service            = each.value
  disable_on_destroy = false
}

resource "google_compute_network" "default" {
  project                 = var.project_id
  name                    = var.network_id
  auto_create_subnetworks = false
  mtu                     = 1460
  routing_mode            = "GLOBAL"
}

resource "google_compute_subnetwork" "vm_subnet_pc" {
  name          = "vm-net"
  ip_cidr_range = "192.168.80.0/24"
  region        = var.region_id
  network       = google_compute_network.default.name
  project       = var.project_id
}

resource "google_compute_subnetwork" "psc_subnet_ip" {
  name          = "psc-subnet"
  ip_cidr_range = "192.168.100.0/24"
  region        = var.region_id
  network       = google_compute_network.default.name
  project       = var.project_id
}

resource "google_compute_router" "default" {
  name    = "outbound-nat"
  region  = var.region_id
  network = google_compute_network.default.id

 bgp {
  asn = 64514
  }
}

resource "google_compute_router_nat" "default" {
  name = "outbound-nat-gw"
  router = google_compute_router.default.name
  region = google_compute_router.default.region
  nat_ip_allocate_option = "AUTO_ONLY"
  source_subnetwork_ip_ranges_to_nat = "ALL_SUBNETWORKS_ALL_IP_RANGES"

  log_config {
    enable = true
    filter = "ERRORS_ONLY"
  }
}

resource "google_compute_firewall" "allow_icmp" {
  name    = "allow-icmp-${google_compute_network.default.name}"
  network = google_compute_network.default.id
  project = var.project_id

  allow {
    protocol = "icmp"
  }

  source_ranges = ["0.0.0.0/0"]
  
}

resource "google_compute_firewall" "allow_ssh" {
  name    = "allow-ssh-${google_compute_network.default.name}"
  network = google_compute_network.default.id
  project = var.project_id

  allow {
    protocol = "tcp"
    ports    = ["22"]
  }

  source_ranges = ["0.0.0.0/0"]
  target_tags   = ["allow-ssh"]
}


resource "google_compute_firewall" "allow_internal" {
  name    = "allow-internal-${google_compute_network.default.name}"
  network = google_compute_network.default.id
  project = var.project_id

  allow {
    protocol = "icmp"
    }


  allow {
    protocol = "tcp"
    ports    = ["0-65535"]
  }
  allow {
    protocol = "udp"
    ports    = ["0-65535"]
  }

  source_ranges = ["192.168.0.0/16"]
 }
  1. Beralih kembali ke terminal Cloud Shell, pastikan Anda berada di direktori terraform-consumer-psc cd terraform-consumer-psc di project konsumen dan jalankan perintah berikut

terraform init

Menginisialisasi direktori kerja. Langkah ini mendownload penyedia yang diperlukan untuk konfigurasi yang diberikan.

terraform plan

Membuat rencana eksekusi, yang menunjukkan tindakan yang akan dilakukan Terraform untuk men-deploy infrastruktur Anda.

  1. Sekarang, untuk membuat resource, jalankan perintah terraform apply dan ketik yes untuk dijalankan.

8. Tugas 6. Membuat endpoint PSC ke lampiran DB SQL di project konsumen dan menguji VM (Terraform)

Selesaikan konfigurasi ini di project konsumen.

  1. Beralih kembali ke editor Cloud Shell, buka direktori terraform-consumer-psc, lalu pilih file psc.tf. Tambahkan kode Terraform berikut ke file. Tindakan ini akan membuat IP internal statis, endpoint PSC, dan VM pengujian dengan Maria DB yang diinstal.
resource "google_compute_address" "default" {
  name = "psc-ip-1"
  region = var.region_id
  address_type = "INTERNAL"
  subnetwork = google_compute_subnetwork.psc_subnet_ip.name
  address = "192.168.100.100" 
}

resource "google_compute_forwarding_rule" "default" {
  name = "psc-sql-endpoint"
  region = var.region_id
  network = google_compute_network.default.name
  ip_address = google_compute_address.default.self_link
  load_balancing_scheme = ""
  target = var.psc_attachment_id
}


resource "google_compute_instance" "sql_test_vm" {
  name         = "remote-sql-test-vm"
  machine_type = "e2-medium"
  zone         = "${var.region_id}-b"
  project      = var.project_id

  boot_disk {
    initialize_params {
      image = "debian-cloud/debian-11"
    }
  }

  network_interface {
    subnetwork = google_compute_subnetwork.vm_subnet_pc.name
  }

  # No external IP address
  network_performance_config {
    total_egress_bandwidth_tier = "DEFAULT"
  }

  tags = ["allow-icmp", "allow-ssh", "allow-internal", "allow-health-check"]

  # Install MariaDB at startup
  metadata_startup_script = <<EOF
#!/bin/bash
apt-get update
apt-get install -y mariadb-server
systemctl enable mariadb
EOF
}
  1. Beralih kembali ke terminal Cloud Shell, pastikan Anda berada di direktori terraform-consumer-psc cd terraform-consumer-psc di project konsumen dan jalankan perintah berikut

terraform plan

Membuat rencana eksekusi, yang menunjukkan tindakan yang akan dilakukan Terraform untuk men-deploy infrastruktur Anda.

  1. Sekarang, untuk membuat resource, jalankan perintah terraform apply dan ketik yes untuk menjalankan

9. Tugas 7. Memverifikasi konektivitas endpoint dari VM melalui alamat IP PSC

Selesaikan ini di project konsumen

  1. Buka VM Instance. Pilih remote-sql-test-vm
  2. Pilih opsi SSH untuk terhubung ke VM.
  3. Menghubungkan ke DB melalui endpoint dengan hal berikut:
mysql --host=192.168.100.100 --user=testsql --password=cloudsql24
  1. Setelah koneksi dibuat, mari kita buat database dengan psc-sql-db berikut.
CREATE DATABASE remotepscpsasqldb;
  1. Setelah selesai, ketik exit untuk keluar dari koneksi. Ketik exit lagi untuk menutup VM.

10. Tugas 8. Memverifikasi entri database

Selesaikan verifikasi ini di project database

  1. Di bagian atas konsol di sebelah kanan, di samping ikon Google Cloud, klik menu dropdown, lalu pilih tab all.

panel projectproject bar 2

  1. Dari project yang tercantum, pilih project ID database Anda untuk melanjutkan.
  2. Buka SQL, pilih database psc-psa-sql-db, luaskan opsi SQL, lalu pilih Databases. Anda akan melihat database yang baru saja dibuat bernama remotepscpsasqldb dari VM project konsumen dan juga localvpcsqldb dari VM project db**.**

36f5c03124ca20f6.png

11. Pembersihan

Selesaikan ini di project Konsumen

  1. Pilih project ID konsumen
  2. Buka Cloud Shell, pastikan Anda melihat project ID konsumen
  3. Buka direktori terraform-consumer-psc cd terraform-consumer-psc dan jalankan perintah berikut terraform destroy dan ketik yes semua resource yang Anda buat di project konsumen dengan Terraform akan dihapus.

Menyelesaikannya di project Database

  1. Pilih project ID database
  2. Buka Cloud Shell, pastikan Anda melihat project ID database
  3. Buka direktori terraform-db-psc cd terraform-db-psc dan jalankan perintah berikut terraform destroy dan ketik yes sebagian besar resource yang Anda buat di project db dengan Terraform akan dihapus. Jaringan layanan mungkin tidak dapat dihapus dan menampilkan error.
  4. Selanjutnya, hapus file berikut dari folder terraform-db-psc.
rm -r terraform.tfstate terraform.tfstate.backup
  1. Selanjutnya, di konsol, buka VPC networks
  2. Pilih VPC database-net, pilih PRIVATE SERVICES ACCESS, di bagian Allocated IP Ranges for Services, pilih psa-range-database-net, lalu pilih opsi Release

e4dbfa8953c5b036.png

  1. Selanjutnya, pilih VPC NETWORK PEERING, pilih servicenetworking-googleapis-com, lalu pilih opsi Delete

4deab14044461d2d.png

  1. Selanjutnya, pilih Hapus jaringan VPC 2f4e96399b73d405.png

12. Selamat

Selamat, Anda telah berhasil mengonfigurasi instance Cloud SQL dengan lampiran PSA dan PSC serta membuat endpoint Private Service Connect di VPC lain.

Pelajari lebih lanjut

Anda dapat membaca selengkapnya tentang Private Service Connect dan Cloud SQL

Codelab terkait lainnya: https://codelabs.developers.google.com/codelabs/cloudsql-psc-terraform