1. ภาพรวม
การเชื่อมต่อกับอินสแตนซ์ Cloud SQL ส่วนตัวจากโปรเจ็กต์หรือ VPC อื่นทำได้หลายวิธี Private Service Connect (PSC) ช่วยให้ผู้ผลิตบริการสามารถแสดงบริการของตนผ่านไฟล์แนบบริการได้ ผู้บริโภคสามารถใช้ไฟล์แนบบริการเหล่านี้เพื่อสร้างปลายทาง PSC และ/หรือแบ็กเอนด์ PSC ในสภาพแวดล้อมของตน และเชื่อมต่อกับบริการของผู้ผลิตเหล่านี้ผ่าน IP ส่วนตัวที่ระบุ
Cloud SQL มีความสามารถในการใช้ไฟล์แนบบริการ PSC เพื่ออนุญาตการเชื่อมต่อส่วนตัว คุณสามารถกําหนดค่าและทดสอบตัวเลือกนี้ได้ในแท็บนี้
ในชั้นเรียนนี้ คุณจะได้สร้างสถาปัตยกรรมแบบง่ายที่แสดงการใช้การเข้าถึงปลายทาง PSC กับ CloudSQL
รูปที่ 1
สำหรับห้องทดลองนี้ คุณจะต้องมีโปรเจ็กต์ 2 โปรเจ็กต์หรือ VPC แยกต่างหากในโปรเจ็กต์เดียวกัน
วัตถุประสงค์
ในบทนี้ คุณจะได้เรียนรู้วิธีทํางานต่อไปนี้
- สร้างอินสแตนซ์ CloudSQL ที่มีไฟล์แนบบริการ PSC
- สร้างที่อยู่ IP แบบคงที่
- สร้างปลายทาง PSC ใน VPC ของผู้บริโภคเพื่อเชื่อมต่อกับฐานข้อมูล CloudSQL
- ยืนยันการเข้าถึงฐานข้อมูล SQL จาก VM ทดสอบในเครือข่ายของผู้บริโภคผ่าน IP ของปลายทาง PSC
2. การตั้งค่าและข้อกําหนด
การตั้งค่าสภาพแวดล้อมด้วยตนเอง
- ลงชื่อเข้าใช้ Google Cloud Console และสร้างโปรเจ็กต์ใหม่หรือใช้โปรเจ็กต์ที่มีอยู่ซ้ำ หากยังไม่มีบัญชี Gmail หรือ Google Workspace คุณต้องสร้างบัญชี
- ชื่อโปรเจ็กต์คือชื่อที่แสดงสำหรับผู้เข้าร่วมโปรเจ็กต์นี้ ซึ่งเป็นสตริงอักขระที่ Google APIs ไม่ได้ใช้ คุณจะอัปเดตได้ทุกเมื่อ
- รหัสโปรเจ็กต์จะซ้ำกันไม่ได้ในโปรเจ็กต์ Google Cloud ทั้งหมดและจะเปลี่ยนแปลงไม่ได้ (เปลี่ยนแปลงไม่ได้หลังจากตั้งค่าแล้ว) คอนโซล Cloud จะสร้างสตริงที่ไม่ซ้ำกันโดยอัตโนมัติ ซึ่งปกติแล้วคุณไม่จำเป็นต้องสนใจว่าสตริงนั้นจะเป็นอะไร ในโค้ดแล็บส่วนใหญ่ คุณจะต้องอ้างอิงรหัสโปรเจ็กต์ (ปกติจะระบุเป็น
PROJECT_ID
) หากไม่ชอบรหัสที่สร้างขึ้น คุณอาจสร้างรหัสอื่นแบบสุ่มได้ หรือจะลองใช้อุปกรณ์ของคุณเองเพื่อดูว่าอุปกรณ์พร้อมใช้งานหรือไม่ก็ได้ คุณจะเปลี่ยนแปลงหลังจากขั้นตอนนี้ไม่ได้ และชื่อนี้จะคงอยู่ตลอดระยะเวลาของโปรเจ็กต์ - โปรดทราบว่ามีค่าที่ 3 ซึ่งเป็นหมายเลขโปรเจ็กต์ที่ API บางรายการใช้ ดูข้อมูลเพิ่มเติมเกี่ยวกับค่าทั้ง 3 รายการนี้ได้ในเอกสารประกอบ
- ถัดไป คุณจะต้องเปิดใช้การเรียกเก็บเงินใน Cloud Console เพื่อใช้ทรัพยากร/API ของ Cloud การทำตามโค้ดแล็บนี้จะไม่เสียค่าใช้จ่ายมากนัก หากต้องการปิดใช้ทรัพยากรเพื่อหลีกเลี่ยงการเรียกเก็บเงินหลังจากบทแนะนำนี้ คุณสามารถลบทรัพยากรที่สร้างไว้หรือลบโปรเจ็กต์ได้ ผู้ใช้ Google Cloud รายใหม่มีสิทธิ์เข้าร่วมโปรแกรมช่วงทดลองใช้ฟรีมูลค่า$300 USD
เริ่ม Cloud Shell
แม้ว่า Google Cloud จะทำงานจากระยะไกลจากแล็ปท็อปได้ แต่ในโค้ดแล็บนี้ คุณจะใช้ Google Cloud Shell ซึ่งเป็นสภาพแวดล้อมบรรทัดคำสั่งที่ทำงานในระบบคลาวด์
จากคอนโซล Google Cloud ให้คลิกไอคอน Cloud Shell ในแถบเครื่องมือด้านขวาบน
การจัดสรรและเชื่อมต่อกับสภาพแวดล้อมจะใช้เวลาเพียงไม่กี่นาที เมื่อดำเนินการเสร็จแล้ว คุณควรเห็นข้อมูลดังต่อไปนี้
เครื่องเสมือนนี้โหลดเครื่องมือการพัฒนาทั้งหมดที่คุณต้องการ ซึ่งจะมีไดเรกทอรีหลักขนาด 5 GB ถาวรและทำงานบน Google Cloud ซึ่งจะช่วยเพิ่มประสิทธิภาพเครือข่ายและการรับรองได้อย่างมีประสิทธิภาพ คุณทํางานทั้งหมดในโค้ดแล็บนี้ได้ภายในเบราว์เซอร์ คุณไม่จำเป็นต้องติดตั้งอะไรเลย
3. งานที่ 1 ตั้งค่าสภาพแวดล้อมสําหรับโปรเจ็กต์ฐานข้อมูลด้วย (Terraform)
ในโปรเจ็กต์ฐานข้อมูล เราจะสร้าง VPC ที่มีกฎไฟร์วอลล์และซับเน็ตที่กำหนดเอง เปิดคอนโซลระบบคลาวด์และเลือกโปรเจ็กต์ที่จะใช้สำหรับฐานข้อมูล
- เปิด Cloud Shell ที่ด้านบนของคอนโซลทางด้านขวา ตรวจสอบว่าคุณเห็นรหัสโปรเจ็กต์ฐานข้อมูลสำหรับโปรเจ็กต์ฐานข้อมูลใน Cloud Shell ยืนยันข้อความแจ้งเพื่ออนุญาตให้เข้าถึง
- สร้างโฟลเดอร์ชื่อ terraform-db แล้วย้ายไปยังโฟลเดอร์
mkdir terraform-db && cd terraform-db
- สร้างไฟล์ main.tf, variable.tf และ database.tf
touch main.tf variable.tf database.tf
- เปลี่ยนไปใช้มุมมองเครื่องมือแก้ไข Cloud Shell เลือก editor ตรวจสอบว่าคุณอนุญาตข้อความแจ้งที่จำเป็นเพื่อให้อินเทอร์เฟซโหลดได้
- เมื่อโหลดแล้ว ให้ไปที่ไฟล์ > เปิดโฟลเดอร์ แล้วไปที่ /home/your-user-name/terraform-db แล้วเลือกตกลงเพื่อเปิดโฟลเดอร์ในเครื่องมือแก้ไข
- เลือกไฟล์ variable.tf แล้วเพิ่มข้อมูลต่อไปนี้ แทนที่ข้อความ
your-database-project-id-here
ด้วยรหัสโปรเจ็กต์ฐานข้อมูลจริงในเครื่องหมายคำพูด แทนที่ข้อความyour-consumer-project-id-here
ด้วยรหัสโปรเจ็กต์ผู้บริโภคจริงในเครื่องหมายคำพูด
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" }
- จากนั้นเปิดไฟล์ main.tf เราจะเพิ่มโค้ด terraform บางส่วนเพื่อดำเนินการต่างๆ ตามที่อธิบายไว้ด้านล่าง
เปิดใช้ API |
|
สร้าง VPC |
|
เพิ่มกฎไฟร์วอลล์ |
|
- คัดลอกและวางข้อมูลต่อไปนี้ลงในไฟล์ main .tf
resource "google_project_service" "default" { for_each = toset([ "compute.googleapis.com", "sqladmin.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_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"] }
- กลับไปที่เทอร์มินัล Cloud Shell ตรวจสอบว่าคุณอยู่ในไดเรกทอรี terraform-db
cd terraform-db
แล้วเรียกใช้คำสั่งต่อไปนี้
terraform init
เริ่มต้นไดเรกทอรีที่ใช้งานอยู่ ขั้นตอนนี้จะดาวน์โหลดผู้ให้บริการที่จําเป็นสําหรับการกําหนดค่าที่ระบุ
terraform plan
สร้างแผนการดำเนินการ ซึ่งแสดงการดำเนินการที่ Terraform จะทำเพื่อทำให้โครงสร้างพื้นฐานใช้งานได้
- ตอนนี้ให้สร้างทรัพยากรโดยเรียกใช้คําสั่ง
terraform apply
แล้วพิมพ์yes
เพื่อเรียกใช้
4. งานที่ 2 สร้างอินสแตนซ์ CloudSQL ที่มีไฟล์แนบ PSC (Terraform)
มาลองใช้ Terraform เพื่อสร้างอินสแตนซ์ CloudSQL ด้วยตัวเลือก PSC เพื่ออนุญาตการเชื่อมต่อกัน กำหนดค่านี้ให้เสร็จสมบูรณ์ในโปรเจ็กต์ฐานข้อมูล
- เปลี่ยนเป็นมุมมองเครื่องมือแก้ไข Cloud Shell ตรวจสอบว่าคุณอยู่ในโฟลเดอร์
terraform-db
เลือกไฟล์database.tf
แล้วเพิ่มข้อมูลต่อไปนี้
resource "google_sql_database_instance" "default" {
name = "psc-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 {
psc_config {
psc_enabled = true
allowed_consumer_projects = var.project_id_consumer
}
ipv4_enabled = false
}
}
deletion_protection = false
}
resource "google_sql_user" "users" {
name = "testsql"
instance = google_sql_database_instance.default.name
password = var.db_password
}
- เปลี่ยนกลับไปที่เทอร์มินัล Cloud Shell ตรวจสอบว่าคุณอยู่ในไดเรกทอรี terraform-db ตอนนี้ให้สร้างทรัพยากรโดยเรียกใช้คําสั่ง
terraform apply
แล้วพิมพ์yes
เพื่อเรียกใช้ การสร้างอินสแตนซ์ CloudSQL ที่มีไฟล์แนบ PSC อาจใช้เวลาถึง 5 นาทีขึ้นไป
ยืนยันฐานข้อมูล
- เมื่อเสร็จแล้ว ให้ไปที่ SQL ในคอนโซล แล้วเลือกอินสแตนซ์ฐานข้อมูล psc-sql-db ที่สร้างขึ้นใหม่
- ทางด้านซ้าย ให้ขยายเมนูแบบเลื่อนออกของตัวเลือก SQL แล้วเลือกการเชื่อมต่อ
- คุณจะเห็นข้อมูลเกี่ยวกับการเชื่อมต่อในแท็บสรุป
- คัดลอกที่อยู่ไฟล์แนบของบริการและบันทึกไว้ที่ใดที่หนึ่งในระบบ
- คุณต้องใช้รหัสนี้เพื่อทํางานในขั้นตอนที่ 8 ของงาน 3
- ทางด้านซ้าย ให้ขยายเมนูแบบเลื่อนออกของตัวเลือก SQL แล้วเลือกผู้ใช้
- คุณควรเห็นผู้ใช้ชื่อ testsql ที่มีรหัสผ่าน cloudsql24 (รหัสผ่านนี้จะใช้ในการเข้าถึงฐานข้อมูลในภายหลัง)
5. งานที่ 3 ตั้งค่าสภาพแวดล้อมสําหรับโปรเจ็กต์ของผู้บริโภค (Terraform)
ในโปรเจ็กต์สำหรับผู้ใช้ทั่วไป เราจะสร้าง VPC ที่กําหนดเองซึ่งมีกฎไฟร์วอลล์และซับเน็ต เปิดคอนโซลระบบคลาวด์และเลือกโปรเจ็กต์ที่จะใช้
- ที่ด้านบนของคอนโซลทางด้านขวาถัดจากไอคอน Google Cloud ให้คลิกเมนูแบบเลื่อนลง แล้วเลือกแท็บทั้งหมด
- จากโปรเจ็กต์ที่แสดง ให้เลือกรหัสโปรเจ็กต์สำหรับผู้บริโภคเพื่อดำเนินการต่อ
- เปิด Cloud Shell ที่ด้านบนของคอนโซลทางด้านขวา ตรวจสอบว่าคุณเห็นรหัสโปรเจ็กต์สำหรับผู้บริโภคใน Cloud Shell ยืนยันข้อความแจ้งเพื่ออนุญาตให้เข้าถึง
- สร้างโฟลเดอร์ชื่อ terraform-consumer แล้วย้ายไปยังโฟลเดอร์
mkdir terraform-consumer && cd terraform-consumer
- สร้างไฟล์ main.tf, variable.tf และ psc.tf
touch main.tf variable.tf psc.tf
- เปลี่ยนไปใช้มุมมองเครื่องมือแก้ไข Cloud Shell สำหรับรหัสโปรเจ็กต์ของผู้บริโภค เลือก editor ตรวจสอบว่าคุณอนุญาตข้อความแจ้งที่จำเป็นเพื่อให้อินเทอร์เฟซโหลดได้
- เมื่อโหลดแล้ว ให้ไปที่ไฟล์ > เปิดโฟลเดอร์ แล้วไปที่ /home/your-user-name/terraform-consumer แล้วเลือกตกลงเพื่อเปิดโฟลเดอร์ในเครื่องมือแก้ไข
- เลือกไฟล์ variable.tf แล้วเพิ่มข้อมูลต่อไปนี้ แทนที่ข้อความ
your-consumer-project-id-here
ด้วยรหัสโปรเจ็กต์ของผู้บริโภคจริงในเครื่องหมายคำพูด แทนที่ข้อความyour-psc-attachment-id-here
ด้วยที่อยู่ไฟล์แนบ psc ในเครื่องหมายคำพูด นี่คือรหัสที่คุณคัดลอกไว้ในงาน 2 ส่วน 2-5
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-net" } variable "region_id" { type = string default = "us-east1" } variable "region_id2" { type = string default = "us-central1" }
- จากนั้นเปิดไฟล์ main.tf เราจะเพิ่มโค้ด terraform บางส่วนเพื่อดำเนินการต่างๆ ตามที่อธิบายไว้ด้านล่าง
เปิดใช้ API |
|
สร้าง VPC |
|
สร้างเกตเวย์ NAT |
|
เพิ่มกฎไฟร์วอลล์ |
|
- คัดลอกและวางข้อมูลต่อไปนี้ลงในไฟล์ main .tf
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" { name = "vm-subnet" ip_cidr_range = "192.168.50.0/24" region = var.region_id2 network = google_compute_network.default.name project = var.project_id } resource "google_compute_subnetwork" "psc_subnet" { name = "psc-subnet" ip_cidr_range = "192.168.90.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_id2 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"] }
- เปลี่ยนกลับไปที่ Cloud Shell Terminal ตรวจสอบว่าคุณอยู่ในไดเรกทอรี terraform-consumer
cd terraform-consumer
ในโปรเจ็กต์ผู้บริโภค แล้วเรียกใช้คำสั่งต่อไปนี้
terraform init
เริ่มต้นไดเรกทอรีที่ใช้งานอยู่ ขั้นตอนนี้จะดาวน์โหลดผู้ให้บริการที่จําเป็นสําหรับการกําหนดค่าที่ระบุ
terraform plan
สร้างแผนการดำเนินการ ซึ่งแสดงการดำเนินการที่ Terraform จะทำเพื่อทำให้โครงสร้างพื้นฐานใช้งานได้
- ตอนนี้ให้สร้างทรัพยากรโดยเรียกใช้คําสั่ง
terraform apply
แล้วพิมพ์yes
เพื่อเรียกใช้
6. งานที่ 4 สร้างปลายทาง PSC ไปยังไฟล์แนบ DB ของ SQL ในโปรเจ็กต์ผู้บริโภคและ VM ทดสอบ (Terraform)
กำหนดค่านี้ให้เสร็จสมบูรณ์ในโปรเจ็กต์ของผู้บริโภค
- กลับไปที่เครื่องมือแก้ไข Cloud Shell แล้วเปิดไดเรกทอรี terraform-consumer แล้วเลือกไฟล์
psc.tf
เพิ่มโค้ด Terraform ต่อไปนี้ลงในไฟล์ ซึ่งจะสร้าง IP ภายในแบบคงที่ ปลายทาง PSC และ VM ทดสอบที่ติดตั้ง Maria DB
resource "google_compute_address" "default" { name = "psc-ip" region = var.region_id address_type = "INTERNAL" subnetwork = google_compute_subnetwork.psc_subnet.name address = "192.168.90.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 = "sql-test-vm" machine_type = "e2-medium" zone = "${var.region_id2}-b" project = var.project_id boot_disk { initialize_params { image = "debian-cloud/debian-11" } } network_interface { subnetwork = google_compute_subnetwork.vm_subnet.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 }
- เปลี่ยนกลับไปที่ Cloud Shell Terminal ตรวจสอบว่าคุณอยู่ในไดเรกทอรี terraform-consumer
cd terraform-consumer
ในโปรเจ็กต์ผู้บริโภค แล้วเรียกใช้คําสั่งต่อไปนี้
terraform plan
สร้างแผนการดำเนินการ ซึ่งแสดงการดำเนินการที่ Terraform จะทำเพื่อทำให้โครงสร้างพื้นฐานใช้งานได้
- ตอนนี้ให้สร้างทรัพยากรโดยเรียกใช้คําสั่ง
terraform apply
แล้วพิมพ์yes
เพื่อเรียกใช้ - เนื่องจาก VM และอุปกรณ์ปลายทางอยู่ในภูมิภาคที่แตกต่างกัน เราจึงต้องเปิดใช้ การเข้าถึงทั่วโลกในอุปกรณ์ปลายทาง PSC ซึ่งเราดำเนินการผ่านคอนโซล
- ในคอนโซลโปรเจ็กต์ของผู้บริโภค ให้ไปที่ Private Service Connect ในแท็บปลายทางที่เชื่อมต่อ ให้ดูในส่วนปลายทาง แล้วเลือก psc-sql-endpoint
- จากนั้นเลือกแก้ไข แล้วคลิกช่องทําเครื่องหมายข้างตัวเลือกเปิดใช้การเข้าถึงแบบรวมและบันทึก
- ไปยังขั้นตอนถัดไปเพื่อยืนยันการเชื่อมต่อ
7. งานที่ 5 ยืนยันการเชื่อมต่อปลายทางจาก VM ผ่านที่อยู่ IP ของ PSC
ดำเนินการนี้ในโปรเจ็กต์ของผู้บริโภค
- ไปที่อินสแตนซ์ VM เลือก sql-test-vm
- เลือกตัวเลือก SSH เพื่อเชื่อมต่อกับ VM
- เชื่อมต่อกับ DB ผ่านปลายทางด้วยข้อมูลต่อไปนี้
mysql --host=192.168.90.100 --user=testsql --password=cloudsql24
- เมื่อสร้างการเชื่อมต่อแล้ว ให้สร้างฐานข้อมูลด้วย psc-sql-db ต่อไปนี้
CREATE DATABASE remotesqldb;
- เมื่อเสร็จแล้ว ให้พิมพ์ "exit" เพื่อออกจากการเชื่อมต่อ
8. งานที่ 6 ยืนยันรายการฐานข้อมูล
ทำการยืนยันนี้ให้เสร็จสมบูรณ์ในโปรเจ็กต์ฐานข้อมูล
- ที่ด้านบนของคอนโซลทางด้านขวาถัดจากไอคอน Google Cloud ให้คลิกเมนูแบบเลื่อนลง แล้วเลือกแท็บทั้งหมด
- จากโปรเจ็กต์ที่แสดง ให้เลือกรหัสโปรเจ็กต์ฐานข้อมูลเพื่อดําเนินการต่อ
- ไปที่ SQL เลือกฐานข้อมูล psc-sql-db ขยายตัวเลือก SQL แล้วเลือกฐานข้อมูล คุณควรเห็นฐานข้อมูลที่เพิ่งสร้างชื่อ remotesqldb จาก VM ของโปรเจ็กต์ผู้ใช้ทั่วไป**
.
**
9. ล้าง
ทําขั้นตอนนี้ในโปรเจ็กต์ฐานข้อมูล
- เลือกรหัสโปรเจ็กต์ฐานข้อมูล
- ไปที่ Cloud Shell ตรวจสอบว่าคุณเห็นรหัสโปรเจ็กต์ฐานข้อมูล
- ไปที่ไดเรกทอรี terraform-db
cd terraform-db
แล้วเรียกใช้คำสั่งต่อไปนี้terraform destroy
แล้วพิมพ์yes
ระบบจะนำทรัพยากรทั้งหมดที่คุณสร้างในโปรเจ็กต์ db ด้วย Terraform ออก
ทําขั้นตอนนี้ในโปรเจ็กต์ของผู้บริโภค
- เลือกรหัสโปรเจ็กต์ผู้บริโภค
- ไปที่ Cloud Shell ตรวจสอบว่าคุณเห็นรหัสโปรเจ็กต์ของผู้บริโภค
- ไปที่ไดเรกทอรี terraform-consumer
cd terraform-consumer
แล้วเรียกใช้คำสั่งต่อไปนี้terraform destroy
แล้วพิมพ์yes
ระบบจะนำทรัพยากรทั้งหมดที่คุณสร้างในโปรเจ็กต์ db ด้วย Terraform ออก
10. ขอแสดงความยินดี
ยินดีด้วย คุณได้กําหนดค่าอินสแตนซ์ Cloud SQL ที่มีไฟล์แนบ PSC และสร้างปลายทาง Private Service Connect ใน VPC อื่นเรียบร้อยแล้ว คุณสามารถเชื่อมต่อจาก VM ระยะไกลผ่านปลายทาง PSC ไปยังฐานข้อมูลได้สําเร็จ
ดูข้อมูลเพิ่มเติม
อ่านข้อมูลเพิ่มเติมเกี่ยวกับ Private Service Connect และ Cloud SQL