1. بررسی اجمالی
چندین گزینه برای اتصال به یک نمونه خصوصی Cloud SQL از پروژه دیگر یا شبکه VPC وجود دارد. میتوانید از دسترسی به خدمات خصوصی (PSA) برای دسترسی به آدرسهای IP داخلی Google و خدمات شخص ثالث از طریق اتصالات خصوصی استفاده کنید. برای گسترش دسترسی به پایگاه داده، اکنون می توانید Private Service Connect (PSC) را نیز فعال کنید.
Private Service Connect (PSC) به تولیدکنندگان خدمات اجازه میدهد تا خدمات خود را از طریق پیوستهای سرویس در معرض دید قرار دهند، که مصرفکنندگان میتوانند از آن برای ایجاد نقاط پایانی PSC و/یا باطن PSC در محیط خود استفاده کنند. از طریق این نقاط پایانی PSC، آنها می توانند از طریق یک IP خصوصی مشخص شده توسط کاربر، به خدمات تولید کننده متصل شوند.
در این آزمایشگاه می توانید گزینه را پیکربندی و تست کنید.
در این آزمایشگاه، میخواهید یک معماری ساده بسازید که استفاده از دسترسی نقطه پایانی PSA و PSC را با CloudSQL نشان میدهد.
شکل 1.
برای این آزمایشگاه به دو پروژه یا VPC مجزا در همان پروژه نیاز دارید .
اهداف
در این آزمایشگاه شما یاد خواهید گرفت که چگونه وظایف زیر را انجام دهید:
- شبکه سرویس را فعال کنید
- PSA را راه اندازی کنید
- یک نمونه CloudSQL با PSA ایجاد کنید
- پیوست سرویس PSC را فعال کنید.
- یک نقطه پایانی PSC در VPC مصرف کننده برای اتصال به پایگاه داده CloudSQL ایجاد کنید
- دسترسی به پایگاه داده SQL را از VMهای آزمایشی، در VPCهای تولیدکننده و مصرف کننده، تأیید کنید
2. راه اندازی و الزامات
تنظیم محیط خود به خود
- به Google Cloud Console وارد شوید و یک پروژه جدید ایجاد کنید یا از یک موجود استفاده مجدد کنید. اگر قبلاً یک حساب Gmail یا Google Workspace ندارید، باید یک حساب ایجاد کنید .
- نام پروژه نام نمایشی برای شرکت کنندگان این پروژه است. این یک رشته کاراکتری است که توسط API های Google استفاده نمی شود. همیشه می توانید آن را به روز کنید.
- شناسه پروژه در تمام پروژههای Google Cloud منحصربهفرد است و تغییرناپذیر است (پس از تنظیم نمیتوان آن را تغییر داد). Cloud Console به طور خودکار یک رشته منحصر به فرد تولید می کند. معمولاً برای شما مهم نیست که چیست. در اکثر کدها، باید شناسه پروژه خود را ارجاع دهید (معمولاً با نام
PROJECT_ID
شناخته می شود). اگر شناسه تولید شده را دوست ندارید، ممکن است یک شناسه تصادفی دیگر ایجاد کنید. از طرف دیگر، میتوانید خودتان را امتحان کنید، و ببینید آیا در دسترس است یا خیر. پس از این مرحله نمی توان آن را تغییر داد و در طول مدت پروژه باقی می ماند. - برای اطلاع شما، یک مقدار سوم وجود دارد، یک شماره پروژه ، که برخی از API ها از آن استفاده می کنند. در مورد هر سه این مقادیر در مستندات بیشتر بیاموزید.
- در مرحله بعد، برای استفاده از منابع Cloud/APIها باید صورتحساب را در کنسول Cloud فعال کنید . اجرا کردن از طریق این کد لبه هزینه زیادی نخواهد داشت. برای خاموش کردن منابع برای جلوگیری از تحمیل صورتحساب فراتر از این آموزش، میتوانید منابعی را که ایجاد کردهاید حذف کنید یا پروژه را حذف کنید. کاربران جدید Google Cloud واجد شرایط برنامه آزمایشی رایگان 300 دلاری هستند.
Cloud Shell را راه اندازی کنید
در حالی که Google Cloud را می توان از راه دور از لپ تاپ شما کار کرد، در این کد لبه از Google Cloud Shell استفاده خواهید کرد، یک محیط خط فرمان که در Cloud اجرا می شود.
از Google Cloud Console ، روی نماد Cloud Shell در نوار ابزار بالا سمت راست کلیک کنید:
تهیه و اتصال به محیط فقط چند لحظه طول می کشد. وقتی تمام شد، باید چیزی شبیه به این را ببینید:
این ماشین مجازی با تمام ابزارهای توسعه که شما نیاز دارید بارگذاری شده است. این یک فهرست اصلی 5 گیگابایتی دائمی را ارائه می دهد و در Google Cloud اجرا می شود و عملکرد و احراز هویت شبکه را تا حد زیادی افزایش می دهد. تمام کارهای شما در این کد لبه را می توان در یک مرورگر انجام داد. شما نیازی به نصب چیزی ندارید.
3. وظیفه 1. راه اندازی محیط برای پروژه پایگاه داده با (Terraform)
در پروژه پایگاه داده، شبکهسازی سرویس را فعال میکنیم، VPC ایجاد میکنیم، محدوده PSA ایجاد میکنیم، همتاسازی شبکه خدمات ایجاد میکنیم و قوانین فایروال را ایجاد میکنیم. کنسول ابری را باز کنید و پروژه ای را که برای پایگاه داده استفاده می کنید انتخاب کنید.
- Cloud Shell را که در بالای کنسول خود در سمت راست قرار دارد باز کنید، مطمئن شوید که ID پروژه پایگاه داده برای پروژه پایگاه داده را در Cloud Shell می بینید، هر گونه درخواستی را برای اجازه دسترسی تأیید کنید.
- یک پوشه به نام terraform-db-psc ایجاد کنید و به پوشه بروید
mkdir terraform-db-psc && cd terraform-db-psc
- یک فایل main.tf، variable.tf، nat-vm.tf و database.tf ایجاد کنید.
touch main.tf variable.tf nat-vm.tf database.tf
- به نمای ویرایشگر Cloud Shell بروید. ویرایشگر را انتخاب کنید، اطمینان حاصل کنید که به هر گونه درخواست ضروری اجازه می دهید تا رابط بارگیری شود.
- پس از بارگیری به مسیر File > Open Folder بروید و به /home/your-user-name/terraform-db-psc بروید و Ok را انتخاب کنید تا پوشه در ویرایشگر باز شود.
- فایل 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 ایجاد کنید | |
قوانین فایروال را اضافه کنید | |
محدوده PSA ایجاد کنید | |
همتاسازی ایجاد کنید | |
- موارد زیر را کپی کرده و در فایل tf اصلی قرار دهید.
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 }
- به ترمینال Cloud Shell برگردید و مطمئن شوید که در دایرکتوری terraform-db-psc
cd terraform-db-psc
هستید و دستورات زیر را اجرا کنید.
terraform init
دایرکتوری کاری را مقدار دهی اولیه می کند. این مرحله ارائه دهندگان مورد نیاز برای پیکربندی داده شده را دانلود می کند.
terraform plan
یک برنامه اجرایی ایجاد می کند که نشان می دهد Terraform چه اقداماتی را برای استقرار زیرساخت شما انجام خواهد داد.
- اکنون برای ایجاد منابع، دستور
terraform apply
را اجرا کرده وyes
تایپ کنید تا اجرا شود.
4. وظیفه 2. ایجاد نمونه CloudSQL با PSA (Terraform)
بیایید از Terraform برای ایجاد یک نمونه CloudSQL با گزینه PSA برای اجازه اتصال استفاده کنیم. این پیکربندی را در پروژه پایگاه داده تکمیل کنید.
- به نمای ویرایشگر Cloud Shell بروید. مطمئن شوید که در پوشه
terraform-db-psc
هستید. فایلdatabase.tf
را انتخاب کرده و موارد زیر را اضافه کنید.
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
}
- به ترمینال Cloud Shell برگردید، مطمئن شوید که در فهرست terraform-db-psc هستید. اکنون برای ایجاد منابع، دستور
terraform apply
را اجرا کرده وyes
تایپ کنید تا اجرا شود. ایجاد نمونه CloudSQL با PSA ممکن است بیش از 15 دقیقه طول بکشد.
تایید پایگاه داده
- پس از تکمیل، به SQL در کنسول بروید، نمونه پایگاه داده psc-psa-sql-db تازه ایجاد شده را انتخاب کنید.
- در سمت چپ گزینه های SQL را باز کنید و Connections را انتخاب کنید
- در زیر برگه خلاصه می توانید اطلاعات مربوط به اتصال را مشاهده کنید.
- آدرس IP داخلی را کپی کرده و در جایی از سیستم خود ذخیره کنید. همانطور که می بینید از محدوده ای که ما رزرو کرده ایم اختصاص داده شده است.
- برای تکمیل کار 3 مرحله 5 به این IP نیاز دارید.
- در سمت چپ گزینه های SQL را باز کنید و Users را انتخاب کنید.
- شما باید کاربری به نام testsql با رمز عبور cloudsql24 را ببینید (از این رمز عبور برای دسترسی به db بعدا استفاده خواهد شد)
5. وظیفه 3. ساخت VM آزمایشی و اتصال به نمونه SQL از داخل پروژه db (Terraform)
بیایید از Terraform برای ایجاد یک Gateway VM و NAT آزمایشی استفاده کنیم. این پیکربندی را در پروژه پایگاه داده تکمیل کنید.
- به نمای ویرایشگر Cloud Shell بروید. مطمئن شوید که در پوشه
terraform-db-psc
هستید. فایلnat-vm.tf
را انتخاب کرده و موارد زیر را اضافه کنید.
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
}
- به ترمینال Cloud Shell برگردید، مطمئن شوید که در فهرست terraform-db-psc هستید. حالا برای ایجاد منابع،
terraform plan, then terraform apply
وyes
را تایپ کنید تا اجرا شود. این یک دروازه NAT و VM با نصب MariaDB ایجاد می کند.
تایید پایگاه داده
این را در پروژه مصرف کننده کامل کنید
- به VM Instance بروید. db-vm-test را انتخاب کنید
- برای اتصال به VM گزینه SSH را انتخاب کنید.
- از طریق IP محلی که قبلاً کپی کرده اید با موارد زیر به DB متصل شوید:
mysql --host=172.18.0.2 --user=testsql --password=cloudsql24
ps آدرس IP را به IP واقعی خود تغییر دهید تا متصل شود.
- هنگامی که اتصال برقرار شد اجازه دهید یک پایگاه داده با localvpcsqldb زیر ایجاد کنید.
CREATE DATABASE localvpcsqldb;
- پس از تکمیل، خروج را تایپ کنید تا از اتصال خارج شوید. برای بستن VM دوباره exit را تایپ کنید.
6. وظیفه 4. PSC را در نمونه CloudSQL فعال کنید
بیایید از دستورات gcloud برای فعال کردن گزینه PSC برای اجازه اتصال استفاده کنیم. این پیکربندی را در پروژه پایگاه داده تکمیل کنید.
- به نمای Cloud Shell بروید.
- دستور زیر را در Cloud Shell اجرا کنید.
- Ensure
YOUR_DB_PROJECT_HERE
با شناسه پروژه پایگاه داده جایگزین کنید. - مطمئن شوید
YOUR_CONSUMER_PROJECT_HERE
با شناسه پروژه مصرف کننده جایگزین کنید.
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
- این پایگاه داده موجود را با پیوست PSC به روز می کند. این مدت 10+ دقیقه طول می کشد.
اگر با خطای زمان انتظار مواجه شدید، باید دستور ادامه برای مشاهده پیشرفت را نیز به شما بدهد. چیزی شبیه به "شما می توانید با اجرای "عملیات gcloud beta sql wait –project" منتظر عملیات ادامه دهید .
لطفاً توجه داشته باشید که می توانید یک پایگاه داده جدید با فعال بودن PSA و PSC از ابتدا مستقر کنید.
تایید پایگاه داده
- پس از اتمام، به SQL در کنسول بروید، نمونه پایگاه داده psc-psa-sql-db را انتخاب کنید.
- در سمت چپ گزینه های SQL را باز کنید و Connections را انتخاب کنید
- در زیر برگه خلاصه می توانید اطلاعات مربوط به اتصال را مشاهده کنید.
- آدرس پیوست سرویس را کپی کرده و در جایی از سیستم خود ذخیره کنید.
- برای تکمیل کار بعدی 5 مرحله 8 به این نیاز دارید.
7. وظیفه 5. راه اندازی محیط برای پروژه مصرف کننده (Terraform)
در پروژه مصرف کننده، یک VPC سفارشی با قوانین فایروال و زیرشبکه ایجاد خواهیم کرد. کنسول ابری را باز کنید و پروژه مورد استفاده خود را انتخاب کنید.
- در بالای کنسول خود در سمت راست در کنار نماد Google Cloud، روی منوی کشویی کلیک کنید و سپس برگه همه را انتخاب کنید.
- از میان پروژه های فهرست شده، شناسه پروژه مصرف کننده خود را برای ادامه انتخاب کنید.
- Cloud Shell را که در بالای کنسول خود در سمت راست قرار دارد باز کنید، مطمئن شوید که شناسه پروژه مصرفکننده را در Cloud Shell میبینید، هرگونه درخواستی را برای اجازه دسترسی تأیید کنید.
- یک پوشه به نام terraform-consumer-psc ایجاد کنید و به پوشه بروید
mkdir terraform-consumer-psc && cd terraform-consumer-psc
- یک فایل main.tf، variable.tf و psc.tf ایجاد کنید.
touch main.tf variable.tf psc.tf
- برای شناسه پروژه مصرف کننده به نمای ویرایشگر Cloud Shell بروید. ویرایشگر را انتخاب کنید، اطمینان حاصل کنید که به هر گونه درخواست ضروری اجازه می دهید تا رابط بارگیری شود.
- پس از بارگیری به مسیر File > Open Folder بروید و به /home/your-user-name/terraform-consumer-psc بروید و Ok را انتخاب کنید تا پوشه در ویرایشگر باز شود.
- فایل variable.tf را انتخاب کرده و موارد زیر را اضافه کنید. متن
your-consumer-project-id-here
را با شناسه پروژه مصرف کننده واقعی خود به صورت نقل قول جایگزین کنید. آدرس پیوستyour-psc-attachment-id-here
خود را در نقل قول جایگزین کنید. این شناسه ای است که در بخش 5-7 وظیفه 4 کپی کرده اید
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" }
- سپس فایل main.tf را باز کنید. ما قصد داریم تعدادی کد terraform برای انجام اقدامات مختلف همانطور که در زیر توضیح داده شده است اضافه کنیم.
API ها را فعال کنید | |
VPC ایجاد کنید | |
دروازه NAT ایجاد کنید | |
قوانین فایروال را اضافه کنید | |
- موارد زیر را کپی کرده و در فایل 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_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"] }
- به ترمینال Cloud Shell برگردید و مطمئن شوید که در فهرست terraform-consumer-psc
cd terraform-consumer-psc
در پروژه مصرف کننده هستید و دستورات زیر را اجرا کنید.
terraform init
دایرکتوری کاری را مقدار دهی اولیه می کند. این مرحله ارائه دهندگان مورد نیاز برای پیکربندی داده شده را دانلود می کند.
terraform plan
یک برنامه اجرایی ایجاد می کند که نشان می دهد Terraform چه اقداماتی را برای استقرار زیرساخت شما انجام خواهد داد.
- اکنون برای ایجاد منابع، دستور
terraform apply
را اجرا کرده وyes
تایپ کنید تا اجرا شود.
8. وظیفه 6. ایجاد نقطه پایانی PSC به پیوست SQL DB در پروژه مصرف کننده و تست VM (Terraform)
این پیکربندی را در پروژه مصرف کننده کامل کنید.
- به ویرایشگر Cloud Shell برگردید، دایرکتوری terraform-consumer-psc را باز کنید و فایل
psc.tf
را انتخاب کنید. کد Terraform زیر را به فایل اضافه کنید. این یک IP داخلی ثابت، یک نقطه پایانی PSC و یک ماشین مجازی آزمایشی با نصب ماریا DB ایجاد می کند.
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 }
- به ترمینال Cloud Shell برگردید و مطمئن شوید که در فهرست terraform-consumer-psc
cd terraform-consumer-psc
در پروژه مصرف کننده هستید و دستورات زیر را اجرا کنید.
terraform plan
یک برنامه اجرایی ایجاد می کند که نشان می دهد Terraform چه اقداماتی را برای استقرار زیرساخت شما انجام خواهد داد.
- اکنون برای ایجاد منابع، دستور
terraform apply
را اجرا کرده وyes
تایپ کنید تا اجرا شود
9. وظیفه 7. بررسی اتصال نقطه پایانی از VM از طریق آدرس IP PSC
این را در پروژه مصرف کننده کامل کنید
- به VM Instance بروید. Remote-sql-test-vm را انتخاب کنید
- برای اتصال به VM گزینه SSH را انتخاب کنید.
- از طریق نقطه پایانی با موارد زیر به DB متصل شوید:
mysql --host=192.168.100.100 --user=testsql --password=cloudsql24
- هنگامی که اتصال برقرار شد اجازه دهید یک پایگاه داده با psc-sql-db زیر ایجاد کنید.
CREATE DATABASE remotepscpsasqldb;
- پس از تکمیل، خروج را تایپ کنید تا از اتصال خارج شوید. برای بستن VM دوباره exit را تایپ کنید.
10. وظیفه 8. بررسی ورود پایگاه داده
این تأیید را در پروژه پایگاه داده تکمیل کنید
- در بالای کنسول خود در سمت راست در کنار نماد Google Cloud، روی منوی کشویی کلیک کنید و سپس برگه همه را انتخاب کنید.
- از بین پروژه های فهرست شده ID پروژه پایگاه داده خود را برای ادامه انتخاب کنید.
- به SQL بروید، پایگاه داده psc-psa-sql-db را انتخاب کنید، گزینه های SQL را گسترش دهید و Databases را انتخاب کنید. شما باید پایگاه داده ای را که به تازگی ایجاد کرده اید به نام remotepscpsasqldb از پروژه مصرف کننده VM و همچنین localvpcsqldb از پروژه db VM** را ببینید
.
**
11. پاکسازی کنید
این را در پروژه مصرف کننده تکمیل کنید
- شناسه پروژه مصرف کننده را انتخاب کنید
- به Cloud Shell بروید و مطمئن شوید که شناسه پروژه مصرف کننده را می بینید
- به دایرکتوری terraform-consumer-psc
cd terraform-consumer-psc
بروید و دستور زیر را اجرا کنیدterraform destroy
و تایپ کنیدyes
تمام منابعی که در پروژه مصرف کننده خود با Terraform ایجاد کرده اید حذف خواهند شد.
این را در پروژه پایگاه داده تکمیل کنید
- شناسه پروژه پایگاه داده را انتخاب کنید
- به Cloud Shell بروید و مطمئن شوید که شناسه پروژه پایگاه داده را می بینید
- به دایرکتوری terraform-db-psc
cd terraform-db-psc
بروید و دستور زیر را اجرا کنیدterraform destroy
و تایپ کنیدyes
اکثر منابعی که در پروژه db خود با Terraform ایجاد کرده اید حذف خواهند شد. ممکن است شبکه سرویس حذف نشود و خطا بدهد. - سپس فایل های زیر را از پوشه terraform-db-psc حذف کنید.
rm -r terraform.tfstate terraform.tfstate.backup
- بعد در کنسول به شبکه های VPC بروید
- Data-net VPC را انتخاب کنید ، PRIVATE SERVICES ACCESS را انتخاب کنید، در قسمت Allocated IP Ranges for Services ، psa-range-database-net را انتخاب کنید و گزینه Release را انتخاب کنید.
- سپس VPC NETWORK PEERING را انتخاب کنید، servicenetworking-googleapis-com را انتخاب کنید و گزینه Delete را انتخاب کنید.
- بعد، Delete VPC network را انتخاب کنید
12. تبریک می گویم
تبریک میگوییم، شما با موفقیت یک نمونه Cloud SQL را با پیوست PSA و PSC پیکربندی کردهاید و یک نقطه پایانی Private Service Connect را در VPC دیگری ایجاد کردهاید.
بیشتر بدانید
میتوانید درباره Private Service Connect و Cloud SQL بیشتر بخوانید
سایر کدهای مرتبط: https://codelabs.developers.google.com/codelabs/cloudsql-psc-terraform