Private Service Connect (Terraform) की मदद से CloudSQL से कनेक्ट करना

1. खास जानकारी

किसी दूसरे प्रोजेक्ट या वीपीसी से निजी Cloud SQL इंस्टेंस से कनेक्ट करने के कई विकल्प हैं. Private Service Connect (पीएससी) की मदद से, सेवा देने वाली कंपनियां, सर्विस अटैचमेंट के ज़रिए अपनी सेवाएं उपलब्ध करा सकती हैं. उपयोगकर्ता इन सेवा अटैचमेंट का इस्तेमाल करके, अपने एनवायरमेंट में पीएससी एंडपॉइंट और/या पीएससी बैकएंड बना सकते हैं. साथ ही, किसी तय किए गए निजी आईपी पते के ज़रिए, इन प्रॉड्यूसर सेवाओं से कनेक्ट कर सकते हैं.

Cloud SQL में, पीएससी सेवा अटैचमेंट का इस्तेमाल करके निजी कनेक्शन की अनुमति देने की सुविधा है. इस लैब में, विकल्प को कॉन्फ़िगर और टेस्ट किया जा सकता है.

इस लैब में, आपको एक सामान्य आर्किटेक्चर बनाना है. इससे पता चलेगा कि CloudSQL के साथ पीएससी एंडपॉइंट ऐक्सेस का इस्तेमाल कैसे किया जाता है.

इमेज 1.

1893f48fe1298ea2.png

इस लैब के लिए, आपको दो प्रोजेक्ट या एक ही प्रोजेक्ट में अलग-अलग वीपीसी की ज़रूरत होगी.

मकसद

इस लैब में, आपको यह काम करने का तरीका बताया जाएगा:

  • पीएससी सेवा अटैचमेंट के साथ CloudSQL इंस्टेंस बनाएं.
  • स्टैटिक आईपी पता बनाना
  • CloudSQL डेटाबेस से कनेक्ट करने के लिए, उपभोक्ता वीपीसी में पीएससी एंडपॉइंट बनाएं
  • PSC एंडपॉइंट आईपी पते के ज़रिए, उपभोक्ता नेटवर्क में मौजूद टेस्ट वीएम से SQL डेटाबेस के ऐक्सेस की पुष्टि करें.

2. सेटअप और ज़रूरी शर्तें

अपने हिसाब से एनवायरमेंट सेट अप करना

  1. Google Cloud Console में साइन इन करें और नया प्रोजेक्ट बनाएं या किसी मौजूदा प्रोजेक्ट का फिर से इस्तेमाल करें. अगर आपके पास पहले से कोई Gmail या Google Workspace खाता नहीं है, तो आपको एक खाता बनाना होगा.

fbef9caa1602edd0.png

a99b7ace416376c4.png

5e3ff691252acf41.png

  • प्रोजेक्ट का नाम, इस प्रोजेक्ट में हिस्सा लेने वाले लोगों के लिए डिसप्ले नेम होता है. यह एक वर्ण स्ट्रिंग है, जिसका इस्तेमाल Google API नहीं करते. इसे कभी भी अपडेट किया जा सकता है.
  • प्रोजेक्ट आईडी, सभी Google Cloud प्रोजेक्ट के लिए यूनीक होता है. साथ ही, इसे बदला नहीं जा सकता. Cloud Console, यूनीक स्ट्रिंग को अपने-आप जनरेट करता है. आम तौर पर, आपको इससे कोई फ़र्क़ नहीं पड़ता कि यह क्या है. ज़्यादातर कोडलैब में, आपको अपने प्रोजेक्ट आईडी (आम तौर पर PROJECT_ID के तौर पर पहचाना जाता है) का रेफ़रंस देना होगा. अगर आपको जनरेट किया गया आईडी पसंद नहीं है, तो कोई दूसरा रैंडम आईडी जनरेट किया जा सकता है. इसके अलावा, आपके पास अपना नाम आज़माने का विकल्प भी है. इससे आपको पता चलेगा कि वह नाम उपलब्ध है या नहीं. इस चरण के बाद, इसे बदला नहीं जा सकता. यह प्रोजेक्ट की अवधि तक बना रहता है.
  • आपकी जानकारी के लिए बता दें कि एक तीसरी वैल्यू भी होती है, जिसे प्रोजेक्ट नंबर कहते हैं. इसका इस्तेमाल कुछ एपीआई करते हैं. इन तीनों वैल्यू के बारे में ज़्यादा जानने के लिए, दस्तावेज़ देखें.
  1. इसके बाद, आपको Cloud Console में बिलिंग चालू करनी होगी, ताकि Cloud संसाधनों/एपीआई का इस्तेमाल किया जा सके. इस कोडलैब को पूरा करने में ज़्यादा समय नहीं लगेगा. इस ट्यूटोरियल के बाद बिलिंग से बचने के लिए, संसाधनों को बंद किया जा सकता है. इसके लिए, बनाए गए संसाधनों को मिटाएं या प्रोजेक्ट को मिटाएं. Google Cloud के नए उपयोगकर्ताओं को, 300 डॉलर का क्रेडिट मिलेगा. वे इसे मुफ़्त में आज़मा सकते हैं.

Cloud Shell शुरू करें

Google Cloud को अपने लैपटॉप से रिमोटली ऐक्सेस किया जा सकता है. हालांकि, इस कोडलैब में Google Cloud Shell का इस्तेमाल किया जाएगा. यह क्लाउड में चलने वाला कमांड लाइन एनवायरमेंट है.

Google Cloud Console में, सबसे ऊपर दाएं कोने में मौजूद टूलबार पर, Cloud Shell आइकॉन पर क्लिक करें:

55efc1aaa7a4d3ad.png

इसे चालू करने और एनवायरमेंट से कनेक्ट करने में सिर्फ़ कुछ सेकंड लगेंगे. यह प्रोसेस पूरी होने के बाद, आपको कुछ ऐसा दिखेगा:

7ffe5cbb04455448.png

इस वर्चुअल मशीन में, डेवलपमेंट के लिए ज़रूरी सभी टूल पहले से मौजूद हैं. यह 5 जीबी की होम डायरेक्ट्री उपलब्ध कराता है. साथ ही, यह Google Cloud पर काम करता है. इससे नेटवर्क की परफ़ॉर्मेंस और पुष्टि करने की प्रोसेस बेहतर होती है. इस कोडलैब में मौजूद सभी टास्क, ब्राउज़र में किए जा सकते हैं. आपको कुछ भी इंस्टॉल करने की ज़रूरत नहीं है.

3. टास्क 1. (Terraform) की मदद से डेटाबेस प्रोजेक्ट के लिए एनवायरमेंट सेट अप करना

हम डेटाबेस प्रोजेक्ट में,फ़ायरवॉल के नियमों और सबनेट के साथ कस्टम वीपीसी बनाएंगे. Cloud Console खोलें और वह प्रोजेक्ट चुनें जिसका इस्तेमाल डेटाबेस के लिए किया जाएगा.

  1. अपनी कंसोल में सबसे ऊपर दाईं ओर मौजूद Cloud Shell खोलें. पक्का करें कि आपको Cloud Shell में डेटाबेस प्रोजेक्ट के लिए डेटाबेस प्रोजेक्ट आईडी दिख रहा हो. साथ ही, ऐक्सेस की अनुमति देने के लिए किसी भी प्रॉम्प्ट की पुष्टि करें. 4261e776f64ea978.png
  2. terraform-db नाम का फ़ोल्डर बनाएं और उसमें जाएं
mkdir terraform-db  && cd terraform-db
  1. main.tf, variable.tf और database.tf फ़ाइल बनाएं.
touch main.tf variable.tf database.tf 
  1. Cloud Shell एडिटर व्यू पर स्विच करें. editor को चुनें. साथ ही, यह पक्का करें कि आपने सभी ज़रूरी प्रॉम्प्ट को अनुमति दी हो, ताकि इंटरफ़ेस लोड हो सके.
  2. लोड होने के बाद, फ़ाइल > फ़ोल्डर खोलें पर जाएं. इसके बाद, /home/your-user-name/terraform-db पर जाएं और ठीक है को चुनें, ताकि फ़ोल्डर को एडिटर में खोला जा सके. 78f5eb9f2f82f1b0.png
  3. 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"
}
  1. इसके बाद, main.tf फ़ाइल खोलें. हम यहां कुछ टेराफ़ॉर्म कोड जोड़ने जा रहे हैं, ताकि नीचे बताई गई कार्रवाइयां की जा सकें.

एपीआई चालू करना

resource "google_project_service" "default"

VPC बनाएं

resource "google_compute_network" "default"

फ़ायरवॉल के नियम जोड़ना

resource "google_compute_firewall" "allow_icmp"

  1. यहां दिए गए कोड को कॉपी करके, 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"]
 }
  1. Cloud Shell टर्मिनल पर वापस जाएं. पक्का करें कि आप terraform-db डायरेक्ट्री cd terraform-db में हों. इसके बाद, ये कमांड चलाएं

terraform init

इससे वर्किंग डायरेक्ट्री शुरू होती है. इस चरण में, दिए गए कॉन्फ़िगरेशन के लिए ज़रूरी प्रोवाइडर डाउनलोड किए जाते हैं.

terraform plan

यह एक एक्ज़ीक्यूशन प्लान जनरेट करता है. इसमें दिखाया जाता है कि Terraform, आपके इन्फ़्रास्ट्रक्चर को डिप्लॉय करने के लिए कौनसी कार्रवाइयां करेगा.

  1. अब संसाधन बनाने के लिए, terraform apply कमांड चलाएं और चलाने के लिए yes टाइप करें.

4. टास्क 2. पीएससी अटैचमेंट के साथ CloudSQL इंस्टेंस बनाना (Terraform)

कनेक्टिविटी की अनुमति देने के लिए, पीएससी विकल्प के साथ CloudSQL इंस्टेंस बनाने के लिए, Terraform का इस्तेमाल करते हैं. इस कॉन्फ़िगरेशन को डेटाबेस प्रोजेक्ट में पूरा करें.

  1. 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 
}
  1. Cloud Shell टर्मिनल पर वापस जाएं. पक्का करें कि आप terraform-db डायरेक्ट्री में हों. अब संसाधन बनाने के लिए, terraform apply कमांड चलाएं और चलाने के लिए yes टाइप करें. पीएससी अटैचमेंट के साथ CloudSQL इंस्टेंस बनाने में पांच मिनट से ज़्यादा समय लग सकता है.

डेटाबेस की पुष्टि करना

  1. प्रोसेस पूरी होने के बाद, कंसोल में SQL पर जाएं. इसके बाद, नई बनाई गई psc-sql-db डेटाबेस इंस्टेंस को चुनें.
  2. बाईं ओर, SQL के विकल्पों को बड़ा करें और कनेक्शन चुनें
  3. 'खास जानकारी' टैब में जाकर, कनेक्शन के बारे में जानकारी देखी जा सकती है.
  4. सेवा अटैचमेंट का पता कॉपी करें और इसे अपने सिस्टम पर कहीं सेव करें.
  5. टास्क 3 के आठवें चरण को पूरा करने के लिए, आपको इसकी ज़रूरत होगी.

पीएसटी अटैचमेंट के साथ Cloud SQL

  1. बाईं ओर, SQL के विकल्पों वाले स्लाइडआउट को बड़ा करें. इसके बाद, उपयोगकर्ता चुनें.
  2. आपको testsql नाम का एक उपयोगकर्ता दिखेगा. इसका पासवर्ड cloudsql24 (इसका इस्तेमाल बाद में db को ऐक्सेस करने के लिए किया जाएगा) होगा

5. टास्क 3. उपभोक्ता प्रोजेक्ट के लिए एनवायरमेंट सेट अप करना (Terraform)

हम उपयोगकर्ता प्रोजेक्ट में,फ़ायरवॉल के नियमों और सबनेट के साथ कस्टम वीपीसी बनाएंगे. Cloud Console खोलें और वह प्रोजेक्ट चुनें जिसका आपको इस्तेमाल करना है.

  1. Google Cloud आइकॉन के बगल में, अपनी कंसोल स्क्रीन पर सबसे ऊपर दाईं ओर, ड्रॉपडाउन पर क्लिक करें. इसके बाद, सभी टैब चुनें.

प्रोजेक्ट बारप्रोजेक्ट बार 2

  1. सूची में दिए गए प्रोजेक्ट में से, अपना उपयोगकर्ता प्रोजेक्ट आईडी चुनें.
  2. कंसोल में सबसे ऊपर दाईं ओर मौजूद Cloud Shell खोलें. पक्का करें कि आपको Cloud Shell में उपयोगकर्ता प्रोजेक्ट आईडी दिख रहा हो. साथ ही, ऐक्सेस की अनुमति देने के लिए दिखने वाले किसी भी प्रॉम्प्ट की पुष्टि करें.
  3. terraform-consumer नाम का फ़ोल्डर बनाएं और उसमें जाएं
mkdir terraform-consumer  && cd terraform-consumer
  1. main.tf, variable.tf और psc.tf फ़ाइल बनाएं.
touch main.tf variable.tf psc.tf 
  1. उपभोक्ता प्रोजेक्ट आईडी के लिए, Cloud Shell एडिटर व्यू पर स्विच करें. editor को चुनें. साथ ही, यह पक्का करें कि आपने सभी ज़रूरी प्रॉम्प्ट को अनुमति दी हो, ताकि इंटरफ़ेस लोड हो सके.
  2. लोड होने के बाद, फ़ाइल > फ़ोल्डर खोलें पर जाएं. इसके बाद, /home/your-user-name/terraform-consumer पर जाएं और ठीक है को चुनें, ताकि फ़ोल्डर को एडिटर में खोला जा सके. 78f5eb9f2f82f1b0.png
  3. variable.tf फ़ाइल चुनें और इसमें यह कोड जोड़ें. कोटेशन में दिए गए your-consumer-project-id-here टेक्स्ट की जगह, अपना असल उपयोगकर्ता प्रोजेक्ट आईडी डालें. कोटेशन में दिए गए your-psc-attachment-id-here टेक्स्ट की जगह, पीएससी अटैचमेंट का पता डालें. यह वह आईडी है जिसे आपने टास्क 2 के सेक्शन 2-5 में कॉपी किया था 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-net"
}

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

variable "region_id2" {
  type = string
  default = "us-central1"
}
  1. इसके बाद, main.tf फ़ाइल खोलें. हम यहां कुछ टेराफ़ॉर्म कोड जोड़ने जा रहे हैं, ताकि नीचे बताई गई कार्रवाइयां की जा सकें.

एपीआई चालू करना

resource "google_project_service"

VPC बनाएं

resource "google_compute_network"

NAT गेटवे बनाएं

resource "google_compute_router"
resource "google_compute_router_nat"

फ़ायरवॉल के नियम जोड़ना

resource "google_compute_firewall"

  1. यहां दिए गए कोड को कॉपी करके, 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"]
 }
  1. Cloud Shell टर्मिनल पर वापस जाएं. पक्का करें कि आप उपभोक्ता प्रोजेक्ट में terraform-consumer डायरेक्ट्री cd terraform-consumer में हों. इसके बाद, ये कमांड चलाएं

terraform init

इससे वर्किंग डायरेक्ट्री शुरू होती है. इस चरण में, दिए गए कॉन्फ़िगरेशन के लिए ज़रूरी प्रोवाइडर डाउनलोड किए जाते हैं.

terraform plan

यह एक एक्ज़ीक्यूशन प्लान जनरेट करता है. इसमें दिखाया जाता है कि Terraform, आपके इन्फ़्रास्ट्रक्चर को डिप्लॉय करने के लिए कौनसी कार्रवाइयां करेगा.

  1. अब संसाधन बनाने के लिए, terraform apply कमांड चलाएं और चलाने के लिए yes टाइप करें.

6. टास्क 4. उपयोगकर्ता प्रोजेक्ट में SQL DB अटैचमेंट के लिए PSC एंडपॉइंट बनाएं और VM (Terraform) की जांच करें

यह कॉन्फ़िगरेशन, उपयोगकर्ता प्रोजेक्ट में पूरा करें.

  1. Cloud Shell एडिटर पर वापस जाएं. इसके बाद, terraform-consumer डायरेक्ट्री खोलें और psc.tf फ़ाइल चुनें. फ़ाइल में यह Terraform कोड जोड़ें. इससे एक स्टैटिक इंटरनल आईपी, एक पीएससी एंडपॉइंट, और MariaDB इंस्टॉल किया गया एक टेस्ट वीएम बनता है.
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
}
  1. Cloud Shell टर्मिनल पर वापस जाएं. पक्का करें कि आप उपभोक्ता प्रोजेक्ट में terraform-consumer डायरेक्ट्री cd terraform-consumer में हों. इसके बाद, ये कमांड चलाएं

terraform plan

यह एक एक्ज़ीक्यूशन प्लान जनरेट करता है. इसमें दिखाया जाता है कि Terraform, आपके इन्फ़्रास्ट्रक्चर को डिप्लॉय करने के लिए कौनसी कार्रवाइयां करेगा.

  1. अब संसाधन बनाने के लिए, terraform apply कमांड चलाएं और yes टाइप करके चलाएं
  2. हमारे वीएम और एंडपॉइंट अलग-अलग इलाकों में हैं. इसलिए, हमें पीएससी एंडपॉइंट पर ग्लोबल ऐक्सेस चालू करना होगा. हम ऐसा कंसोल के ज़रिए करते हैं
  3. उपयोगकर्ता प्रोजेक्ट के कंसोल में, Private Service Connect पर जाएं. कनेक्ट किया गया एंडपॉइंट टैब में, एंडपॉइंट सेक्शन में जाकर psc-sql-endpoint चुनें
  4. अब बदलाव करें को चुनें. इसके बाद,ग्लोबल ऐक्सेस चालू करें के बगल में मौजूद चेकबॉक्स और सेव करें विकल्प पर क्लिक करें. 7eeb5a4162f5f79d.png
  5. कनेक्टिविटी की पुष्टि करने के लिए, अगले चरण पर जाएं

7. टास्क 5. पीएससी के आईपी पते के ज़रिए, वीएम से एंडपॉइंट कनेक्टिविटी की पुष्टि करना

इसे उपभोक्ता प्रोजेक्ट में पूरा करें

  1. VM इंस्टेंस पर जाएं. sql-test-vm को चुनें
  2. वीएम से कनेक्ट करने के लिए, SSH विकल्प चुनें.
  3. यहां दी गई जानकारी का इस्तेमाल करके, एंडपॉइंट के ज़रिए डेटाबेस से कनेक्ट करें:
mysql --host=192.168.90.100 --user=testsql --password=cloudsql24
  1. कनेक्शन बन जाने के बाद, psc-sql-db का इस्तेमाल करके डेटाबेस बनाएं.
CREATE DATABASE remotesqldb;
  1. कनेक्शन बंद करने के लिए, exit टाइप करें.

8. छठा टास्क. डेटाबेस में एंट्री की पुष्टि करना

डेटाबेस प्रोजेक्ट में जाकर, पुष्टि की यह प्रक्रिया पूरी करें

  1. Google Cloud आइकॉन के बगल में, अपनी कंसोल स्क्रीन पर सबसे ऊपर दाईं ओर, ड्रॉपडाउन पर क्लिक करें. इसके बाद, सभी टैब चुनें.

प्रोजेक्ट बारप्रोजेक्ट बार 2

  1. सूची में दिए गए प्रोजेक्ट में से, जारी रखने के लिए अपना डेटाबेस प्रोजेक्ट आईडी चुनें.
  2. SQL पर जाएं. इसके बाद, डेटाबेस psc-sql-db चुनें. SQL के विकल्पों को बड़ा करें और डेटाबेस चुनें. आपको अभी बनाया गया डेटाबेस, remotesqldb दिखना चाहिए. यह कंज्यूमर प्रोजेक्ट के VM**.** में दिखेगा

cloud sql db

9. क्लीन अप करें

इसे डेटाबेस प्रोजेक्ट में पूरा करें

  1. डेटाबेस प्रोजेक्ट आईडी चुनें
  2. Cloud Shell पर जाएं और पक्का करें कि आपको डेटाबेस प्रोजेक्ट आईडी दिख रहा हो
  3. terraform-db डायरेक्ट्री cd terraform-db पर जाएं और यह कमांड terraform destroy चलाएं. इसके बाद, yes टाइप करें. इससे, आपके db प्रोजेक्ट में Terraform की मदद से बनाए गए सभी संसाधन हटा दिए जाएंगे.

इसे उपभोक्ता प्रोजेक्ट में पूरा करें

  1. उपयोगकर्ता प्रोजेक्ट आईडी चुनें
  2. Cloud Shell पर जाएं और पक्का करें कि आपको उपभोक्ता प्रोजेक्ट आईडी दिख रहा हो
  3. terraform-consumer डायरेक्ट्री cd terraform-consumer पर जाएं. इसके बाद, यह कमांड terraform destroy चलाएं और yes टाइप करें. इससे, आपके db प्रोजेक्ट में Terraform की मदद से बनाए गए सभी संसाधन हटा दिए जाएंगे.

10. बधाई हो

बधाई हो, आपने पीएससी अटैचमेंट के साथ Cloud SQL इंस्टेंस को कॉन्फ़िगर कर लिया है. साथ ही, दूसरे वीपीसी में Private Service Connect एंडपॉइंट बना लिया है. आपने पीएससी एंडपॉइंट के ज़रिए, किसी रिमोट वीएम से डेटाबेस को कनेक्ट कर लिया है.

ज़्यादा जानें

Private Service Connect और Cloud SQL के बारे में ज़्यादा जानें