Включите Private Service Connect на существующем экземпляре Cloud SQL, на котором работает PSA (Terraform).

1. Обзор

Существует несколько вариантов подключения к частному экземпляру Cloud SQL из другого проекта или сети VPC. Вы можете использовать доступ к частным службам (PSA) для доступа к внутренним IP-адресам Google и сторонних служб через частные соединения. Чтобы расширить доступ к базе данных, теперь вы также можете включить Private Service Connect (PSC).

Private Service Connect (PSC) позволяет производителям услуг предоставлять свои услуги через вложения служб , которые потребители могут использовать для создания конечных точек PSC и/или серверных частей PSC в своей среде. Через эти конечные точки PSC они могут подключаться к службам производителя через указанный пользователем частный IP-адрес.

В этой лабораторной работе вы можете настроить и протестировать эту опцию.

В этой лабораторной работе вы создадите простую архитектуру, которая иллюстрирует использование доступа к конечным точкам PSA и PSC с CloudSQL.

Рисунок 1.

e0e0f83704cc9d62.png

Для этой лабораторной работы вам понадобятся два проекта или отдельные VPC в одном проекте.

Цели

В ходе этой лабораторной работы вы научитесь выполнять следующую задачу:

  • Включить сервисную сеть
  • Настроить рекламную кампанию
  • Создайте экземпляр CloudSQL с помощью PSA.
  • Включите вложение службы PSC.
  • Создайте конечную точку PSC в потребительском VPC для подключения к базе данных CloudSQL.
  • Проверьте доступ к базе данных SQL с тестовых виртуальных машин как в исходном, так и в потребительском VPC.

2. Настройка и требования

Самостоятельная настройка среды

  1. Войдите в Google Cloud Console и создайте новый проект или повторно используйте существующий. Если у вас еще нет учетной записи Gmail или Google Workspace, вам необходимо ее создать .

fbef9caa1602edd0.png

a99b7ace416376c4.png

5e3ff691252acf41.png

  • Имя проекта — это отображаемое имя для участников этого проекта. Это строка символов, не используемая API Google. Вы всегда можете обновить его.
  • Идентификатор проекта уникален для всех проектов Google Cloud и является неизменяемым (невозможно изменить после его установки). Cloud Console автоматически генерирует уникальную строку; обычно тебя не волнует, что это такое. В большинстве лабораторий кода вам потребуется указать идентификатор проекта (обычно идентифицируемый как PROJECT_ID ). Если вам не нравится сгенерированный идентификатор, вы можете создать другой случайный идентификатор. Альтернативно, вы можете попробовать свой собственный и посмотреть, доступен ли он. Его нельзя изменить после этого шага и он сохраняется на протяжении всего проекта.
  • К вашему сведению, есть третье значение — номер проекта , которое используют некоторые API. Подробнее обо всех трех этих значениях читайте в документации .
  1. Затем вам необходимо включить выставление счетов в Cloud Console, чтобы использовать облачные ресурсы/API. Прохождение этой лаборатории кода не будет стоить много, если вообще что-то стоить. Чтобы отключить ресурсы и избежать выставления счетов за пределами этого руководства, вы можете удалить созданные вами ресурсы или удалить проект. Новые пользователи 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)

В проекте базы данных мы включим сеть служб, создадим VPC, создадим диапазон PSA, создадим пиринг сетевых служб и создадим правила брандмауэра. Откройте облачную консоль и выберите проект, который вы будете использовать для базы данных.

  1. Откройте Cloud Shell, расположенный в верхней части консоли справа. Убедитесь, что вы видите идентификатор проекта базы данных для проекта базы данных в Cloud Shell, подтвердите все запросы на разрешение доступа. 4261e776f64ea978.png
  2. Создайте папку с именем terraform-db-psc и перейдите в нее.
mkdir terraform-db-psc  && cd terraform-db-psc
  1. Создайте файл main.tf,variable.tf, nat-vm.tf и data.tf.
touch main.tf variable.tf nat-vm.tf database.tf 
  1. Переключитесь в режим редактора Cloud Shell . Выберите редактор и убедитесь, что вы разрешили все необходимые запросы, чтобы интерфейс мог загрузиться.
  2. После загрузки перейдите в меню «Файл» > «Открыть папку» , перейдите в папку /home/your-user-name/terraform-db-psc и выберите «ОК» , чтобы открыть папку в редакторе. 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. Мы собираемся добавить код терраформирования для выполнения различных действий, как описано ниже.

Включить API

resource "google_project_service" "default"

Создать VPC

resource "google_compute_network" "default"

Добавить правила брандмауэра

resource "google_compute_firewall" "allow_icmp"

Создать диапазон PSA

resource "google_compute_global_address" "psa_range"

Создать пиринг

resource "google_service_networking_connection" "private_connection"

  1. Скопируйте и вставьте следующее в основной файл .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
}
  1. Вернитесь к терминалу Cloud Shell, убедитесь, что вы находитесь в каталоге terraform-db-psc cd terraform-db-psc и выполните следующие команды.

terraform init

Инициализирует рабочий каталог. На этом этапе загружаются поставщики, необходимые для данной конфигурации.

terraform plan

Создает план выполнения, показывающий, какие действия Terraform предпримет для развертывания вашей инфраструктуры.

  1. Теперь, чтобы создать ресурсы, запустите команду terraform apply и введите yes для запуска.

4. Задача 2. Создание экземпляра CloudSQL с помощью PSA (Terraform)

Давайте воспользуемся Terraform для создания экземпляра CloudSQL с опцией PSA, разрешающей подключение. Завершите эту настройку в проекте базы данных .

  1. Переключитесь в режим редактора 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 
}

  1. Вернитесь к терминалу Cloud Shell и убедитесь, что вы находитесь в каталоге terraform-db-psc . Теперь, чтобы создать ресурсы, запустите команду terraform apply и введите yes для запуска. Создание экземпляра CloudSQL с помощью PSA может занять до 15+ минут.

Проверить базу данных

  1. После завершения перейдите к SQL в консоли и выберите вновь созданный экземпляр базы данных psc-psa-sql-db .
  2. С левой стороны разверните слайдер параметров SQL и выберите «Соединения».
  3. На вкладке «Сводка» вы можете увидеть информацию о соединении.
  4. Скопируйте внутренний IP-адрес и сохраните его где-нибудь в своей системе. Как видите, он был назначен из зарезервированного нами диапазона.
  5. Этот IP-адрес понадобится вам для выполнения задачи 3, шага 5.

5c00f08b0f44c957.png

  1. В левой части разверните слайдер «Параметры SQL» и выберите «Пользователи».
  2. Вы должны увидеть пользователя с именем testsql с паролем cloudsql24 (позже он будет использоваться для доступа к базе данных).

5. Задача 3. Создайте тестовую виртуальную машину и подключитесь к экземпляру SQL из проекта базы данных (Terraform).

Давайте воспользуемся Terraform для создания тестовой виртуальной машины и шлюза NAT. Завершите эту настройку в проекте базы данных .

  1. Переключитесь в режим редактора 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
}
  1. Вернитесь к терминалу Cloud Shell и убедитесь, что вы находитесь в каталоге terraform-db-psc . Теперь, чтобы создать ресурсы, запустите terraform plan, then terraform apply и введите yes для запуска. Это создаст шлюз NAT и виртуальную машину с установленной MariaDB.

Проверить базу данных

Завершите это в потребительском проекте

  1. Перейдите к экземпляру виртуальной машины . Выберите db-vm-test
  2. Выберите опцию SSH для подключения к виртуальной машине.
  3. Подключитесь к БД через локальный IP-адрес, который вы скопировали ранее, выполнив следующие действия:
mysql --host=172.18.0.2 --user=testsql --password=cloudsql24

PS Измените IP-адрес на свой фактический IP-адрес, чтобы он мог подключиться.

  1. Когда соединение установлено, создайте базу данных со следующей командой localvpcsqldb .
CREATE DATABASE localvpcsqldb;
  1. После завершения введите exit, чтобы выйти из соединения. Введите exit еще раз, чтобы закрыть виртуальную машину.

6. Задача 4. Включите PSC на экземпляре CloudSQL

Давайте воспользуемся командами gcloud, чтобы включить опцию PSC, разрешающую подключение. Завершите эту настройку в проекте базы данных .

  1. Переключитесь в представление Cloud Shell .
  2. Выполните следующую команду в Cloud Shell.
  • Замените Обеспечение 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
  1. Это обновит существующую базу данных с вложением PSC. Это займет некоторое время, более 10 минут.

Если вы получаете сообщение об ошибке ожидания тайм-аута, оно также должно дать вам команду продолжить наблюдение за прогрессом. Что-то вроде : «Вы можете продолжить ожидание операции, запустив `gcloud beta sql Operations wait –project »

Обратите внимание, что вы можете развернуть новую базу данных с включенными PSA и PSC с самого начала.

Проверить базу данных

  1. После завершения перейдите к SQL в консоли, выберите экземпляр базы данных psc-psa-sql-db .
  2. С левой стороны разверните слайдер параметров SQL и выберите «Соединения».
  3. На вкладке «Сводка» вы можете увидеть информацию о соединении.
  4. Скопируйте адрес вложения службы и сохраните его где-нибудь в своей системе.
  5. Это понадобится вам для выполнения следующего задания 5 шаг 8.

2cf5ce71eceea326.png

7. Задача 5. Настройка среды потребительского проекта (Terraform)

В потребительском проекте мы создадим собственный VPC с правилами и подсетью брандмауэра. Откройте облачную консоль и выберите проект, который вы будете использовать.

  1. В верхней части консоли, справа от значка Google Cloud, щелкните раскрывающийся список и выберите вкладку «Все» .

панель проектапанель проекта 2

  1. Из списка проектов выберите идентификатор потребительского проекта, чтобы продолжить.
  2. Откройте Cloud Shell, расположенный в верхней части консоли справа, убедитесь, что вы видите идентификатор потребительского проекта в Cloud Shell, подтвердите все запросы на разрешение доступа.
  3. Создайте папку с именем terraform-consumer-psc и перейдите в нее.
mkdir terraform-consumer-psc  && cd terraform-consumer-psc
  1. Создайте файлы main.tf,variable.tf и psc.tf.
touch main.tf variable.tf psc.tf 
  1. Переключитесь в режим редактора Cloud Shell для идентификатора потребительского проекта . Выберите редактор и убедитесь, что вы разрешили все необходимые запросы, чтобы интерфейс мог загрузиться.
  2. После загрузки перейдите в меню «Файл» > «Открыть папку» , перейдите в папку /home/your-user-name/terraform-consumer-psc и выберите «ОК» , чтобы открыть папку в редакторе. 78f5eb9f2f82f1b0.png
  3. Выберите файлvariable.tf и добавьте следующее. Замените текст your-consumer-project-id-here фактическим идентификатором потребительского проекта в кавычках. Замените текст your-psc-attachment-id-here адресом вложения psc в кавычках. Это идентификатор, который вы скопировали в разделе 5–7 задачи 4. 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. Затем откройте файл main.tf. Мы собираемся добавить код терраформирования для выполнения различных действий, как описано ниже.

Включить API

resource "google_project_service"

Создать VPC

resource "google_compute_network"

Создать NAT-шлюз

resource "google_compute_router"
resource "google_compute_router_nat"

Добавить правила брандмауэра

resource "google_compute_firewall"

  1. Скопируйте и вставьте следующее в основной файл .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"]
 }
  1. Вернитесь к терминалу Cloud Shell, убедитесь, что вы находитесь в каталоге terraform-consumer-psc cd terraform-consumer-psc в потребительском проекте, и выполните следующие команды

terraform init

Инициализирует рабочий каталог. На этом этапе загружаются поставщики, необходимые для данной конфигурации.

terraform plan

Создает план выполнения, показывающий, какие действия Terraform предпримет для развертывания вашей инфраструктуры.

  1. Теперь, чтобы создать ресурсы, запустите команду terraform apply и введите yes для запуска.

8. Задача 6. Создайте конечную точку PSC для подключения базы данных SQL в потребительском проекте и протестируйте виртуальную машину (Terraform)

Завершите эту настройку в потребительском проекте .

  1. Вернитесь в редактор Cloud Shell, откройте каталог terraform-consumer-psc и выберите файл psc.tf Добавьте в файл следующий код Terraform. При этом создается статический внутренний IP-адрес, конечная точка PSC и тестовая виртуальная машина с установленной базой данных Maria 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
}
  1. Вернитесь к терминалу Cloud Shell, убедитесь, что вы находитесь в каталоге terraform-consumer-psc cd terraform-consumer-psc в потребительском проекте, и выполните следующие команды

terraform plan

Создает план выполнения, показывающий, какие действия Terraform предпримет для развертывания вашей инфраструктуры.

  1. Теперь, чтобы создать ресурсы, запустите команду terraform apply и введите yes для запуска.

9. Задача 7. Проверка подключения конечной точки от виртуальной машины через IP-адрес PSC

Завершите это в потребительском проекте

  1. Перейдите в экземпляр виртуальной машины . Выберите удаленную-sql-test-vm.
  2. Выберите опцию SSH для подключения к виртуальной машине.
  3. Подключитесь к БД через конечную точку, выполнив следующее:
mysql --host=192.168.100.100 --user=testsql --password=cloudsql24
  1. Когда соединение установлено, создайте базу данных со следующим psc-sql-db .
CREATE DATABASE remotepscpsasqldb;
  1. После завершения введите exit, чтобы выйти из соединения. Введите exit еще раз, чтобы закрыть виртуальную машину.

10. Задача 8. Проверка записи в базе данных

Завершите эту проверку в проекте базы данных.

  1. В верхней части консоли, справа от значка Google Cloud, щелкните раскрывающийся список и выберите вкладку «Все» .

панель проектапанель проекта 2

  1. Из перечисленных проектов выберите идентификатор проекта базы данных , чтобы продолжить.
  2. Перейдите к SQL , выберите базу данных psc-psa-sql-db , разверните параметры SQL и выберите «Базы данных» . Вы должны увидеть только что созданную базу данных с именем Remotepscpsasqldb из виртуальной машины потребительского проекта , а также localvpcsqldb из виртуальной машины проекта БД** . **

36f5c03124ca20f6.png

11. Очистка

Завершите это в проекте Consumer.

  1. Выберите идентификатор потребительского проекта
  2. Перейдите в Cloud Shell и убедитесь, что вы видите идентификатор потребительского проекта.
  3. Перейдите в каталог terraform-consumer-psc cd terraform-consumer-psc и выполните следующую команду terraform destroy и введите yes все ресурсы, которые вы создали в своем потребительском проекте с помощью Terraform, будут удалены.

Завершите это в проекте базы данных.

  1. Выберите идентификатор проекта базы данных
  2. Перейдите в Cloud Shell и убедитесь, что вы видите идентификатор проекта базы данных.
  3. Перейдите в каталог terraform-db-psc cd terraform-db-psc и выполните следующую команду terraform destroy и введите yes большая часть ресурсов, которые вы создали в своем проекте базы данных с помощью Terraform, будут удалены. Сеть службы может не удаляться и выдавать ошибку.
  4. Затем удалите следующие файлы из папки terraform-db-psc.
rm -r terraform.tfstate terraform.tfstate.backup
  1. Далее в консоли переходим в сети VPC.
  2. Выберите VPC сети базы данных , выберите ДОСТУП К ЧАСТНЫМ СЕРВИСАМ , в разделе « Выделенные диапазоны IP-адресов для служб » выберите psa-range-database-net и выберите опцию «Выпустить» .

e4dbfa8953c5b036.png

  1. Затем выберите СЕТЬ ПИРИНГ VPC, выберите servicenetworking-googleapis-com и выберите параметр «Удалить» .

4deab14044461d2d.png

  1. Далее выберите «Удалить сеть VPC». 2f4e96399b73d405.png

12. Поздравления

Поздравляем, вы успешно настроили экземпляр Cloud SQL с подключением PSA и PSC и создали конечную точку Private Service Connect в другом VPC.

Узнать больше

Вы можете узнать больше о Private Service Connect и Cloud SQL.

Другая связанная кодовая лаборатория: https://codelabs.developers.google.com/codelabs/cloudsql-psc-terraform .