Последняя проверка: май 2026 г.
Разверните сервисы AWS для экзамена PCDOE с помощью чистого Terraform: пошаговое руководство с привязкой каждого блока к разделам экзамена. Код также совместим с OpenTofu.
К концу этой лабораторной работы вы подготовите, используя чистый Terraform, по одному экземпляру каждого из трех флагманских управляемых сервисов баз данных GCP — Cloud SQL Postgres (HA + автоматическое резервное копирование), Cloud Spanner (региональный, одноузловой) и Cloud Bigtable (одноузловой кластер для разработки). Четыре блока; матрица принятия решений PCDOE рабочая нагрузка → сервис в коде.
Это самая дорогая лабораторная работа в наборе GCP; внимательно прочитайте примечание о стоимости перед применением.
Поместите фрагменты кода в один файл main.tf, запустите terraform init, затем пошагово terraform apply.
>= 1.5 или OpenTofu >= 1.6.your-project-id в блоке провайдера.Три статьи расходов тарифицируются агрессивно:
db-perf-optimized-N-2, региональная HA): ~$100/месяц.Примерно ~$700/месяц в сумме. Это безусловно самая дорогая лабораторная работа в наборе CertLabPro. Примените, сделайте скриншот, уничтожьте. Или применяйте по частям (terraform apply -target=...), чтобы подготовить и уничтожить один сервис за раз.
Включите API Cloud SQL, Spanner и Bigtable.
terraform {
required_version = ">= 1.5"
required_providers {
google = { source = "hashicorp/google", version = "~> 6.0" }
}
}
provider "google" {
project = "your-project-id" # REPLACE
region = "us-central1"
}
locals {
labels = {
project = "certlabpro-pcdoe"
managed_by = "terraform"
}
}
resource "google_project_service" "sqladmin" {
service = "sqladmin.googleapis.com"
disable_on_destroy = false
}
resource "google_project_service" "spanner" {
service = "spanner.googleapis.com"
disable_on_destroy = false
}
resource "google_project_service" "bigtableadmin" {
service = "bigtableadmin.googleapis.com"
disable_on_destroy = false
}Cloud SQL — это управляемый сервис Postgres / MySQL / SQL Server от GCP — с вертикальным масштабированием, региональный. Экзамен PCDOE проверяет эту модель Cloud SQL для реляционных баз данных с известным потолком вертикального масштабирования в сравнении со Spanner (горизонтальное масштабирование, распределенные транзакции).
Мы настраиваем с availability_type = "REGIONAL" (HA — синхронная реплика в другой зоне, автоматическое переключение при отказе), автоматическим ежедневным резервным копированием и включенным восстановлением на определенный момент времени (рекомендуемая по умолчанию настройка PCDOE).
resource "google_sql_database_instance" "main" {
name = "certlabpro-pcdoe-pg"
database_version = "POSTGRES_15"
region = "us-central1"
settings {
tier = "db-perf-optimized-N-2"
availability_type = "REGIONAL" # HA — synchronous standby
backup_configuration {
enabled = true
point_in_time_recovery_enabled = true
start_time = "02:00"
backup_retention_settings {
retained_backups = 7
}
}
maintenance_window {
day = 7 # Sunday
hour = 3
update_track = "stable"
}
insights_config {
query_insights_enabled = true
query_string_length = 1024
record_application_tags = true
}
}
deletion_protection = false # lab-only
depends_on = [google_project_service.sqladmin]
}Cloud Spanner — это горизонтально масштабируемая, строго согласованная, глобально распределенная реляционная БД от PCDOE — единственный продукт в плане экзамена GCP, который предоставляет семантику SQL на разных континентах с сильной согласованностью. Экзамен PCDOE рассматривает его как Cloud SQL для вертикального масштабирования, Spanner для горизонтального.
Мы настраиваем минимально возможную конфигурацию: 1 Processing Unit (PU) региональный, рекомендуемая PCDOE конфигурация для разработки. Производственный Spanner включает 100+ PU (или 1+ узлов — 1 узел = 1000 PU).
resource "google_spanner_instance" "main" {
name = "certlabpro-pcdoe"
config = "regional-us-central1"
display_name = "PCDOE lab Spanner"
processing_units = 100 # 1 Node = 1000 PUs; 100 PU = ~$65/month floor
labels = local.labels
depends_on = [google_project_service.spanner]
}
resource "google_spanner_database" "main" {
instance = google_spanner_instance.main.name
name = "labdb"
ddl = [
"CREATE TABLE items (id STRING(36) NOT NULL, name STRING(MAX), created_at TIMESTAMP NOT NULL OPTIONS (allow_commit_timestamp=true)) PRIMARY KEY (id)",
]
deletion_protection = false # lab-only
}Cloud Bigtable — это ширококолоночный NoSQL сервис PCDOE — низкая задержка чтения/записи в огромных масштабах (например: временные ряды, IoT, рекламные технологии). Экзамен PCDOE рассматривает его как Bigtable для ширококолоночных систем с интенсивной записью, в сравнении с Firestore (документоориентированный, для мобильных устройств), в сравнении со Spanner (реляционный, распределенный).
Мы настраиваем одноузловой SSD-кластер (самый маленький из возможных). Одно семейство столбцов cf1 с бесконечной сборкой мусора на основе версий — производственные развертывания использовали бы политику сборки мусора на основе возраста или версий.
У Bigtable нет бесплатного уровня — даже в режиме ожидания одноузловой SSD-кластер будет стоить примерно ~$540/месяц. Удаляйте ресурсы своевременно.
resource "google_bigtable_instance" "main" {
name = "certlabpro-pcdoe-bt"
display_name = "PCDOE lab Bigtable"
instance_type = "PRODUCTION"
cluster {
cluster_id = "certlabpro-pcdoe-bt-c1"
zone = "us-central1-a"
num_nodes = 1
storage_type = "SSD"
}
labels = local.labels
deletion_protection = false # lab-only
depends_on = [google_project_service.bigtableadmin]
}
resource "google_bigtable_table" "items" {
name = "items"
instance_name = google_bigtable_instance.main.name
column_family {
family = "cf1"
}
}terraform destroy уничтожает все — сделайте это незамедлительно, чтобы остановить счет примерно в ~$700/месяц. Экземпляр Cloud SQL будет уничтожен (только для лабораторной работы deletion_protection = false). Экземпляр Spanner + база данных будут уничтожены чисто (без блокировки защиты от удаления в продакшене). Экземпляр Bigtable + таблица будут уничтожены чисто.
PCDOE охватывает множество аспектов проектирования баз данных, которые не могут быть включены в эту лабораторную работу — Firestore (документарная БД для мобильных / веб-приложений), Memorystore (управляемые Redis + Memcached), Cloud SQL для MySQL / SQL Server (рассмотрен только Postgres), реплики для чтения Cloud SQL + межрегиональные реплики, AlloyDB для Postgres (высокопроизводительный сервис, совместимый с Postgres), репликация + автомасштабирование Bigtable, конфигурации георепликации Spanner (мультирегиональные, двухрегиональные), Database Migration Service (DMS — управляемая миграция из локальных MySQL / Postgres в Cloud SQL), Datastream (CDC), API HBase для Bigtable, устаревший API Firestore в режиме Datastore, Cloud Backup and DR Service (управляемый сервис резервного копирования между сервисами) и Cloud Storage в качестве места назначения для резервного копирования.
Мы придерживаемся трио Cloud SQL + Spanner + Bigtable, потому что они являются конечными точками матрицы принятия решений PCDOE — каждый сценарий экзамена проверяет, какой из этих трех (плюс Firestore + AlloyDB) подходит для этой рабочей нагрузки?. Firestore + AlloyDB + Memorystore каждый добавил бы значительный объем, но стоимость делает лабораторную работу с 5 сервисами непрактичной.
Для концептуального обзора каждого сервиса см. разделы Просмотр, Справочник и Editorial этой страницы сертификации.