נבדק לאחרונה: מאי 2026
בנו את שירותי AWS של בחינת PCDOE עם Terraform פשוט — בלוק אחד בכל פעם, כאשר כל אחד מהם מקושר בחזרה לתחום במבחן. אותו הקוד עובד גם ב-OpenTofu.
בסיום מעבדה זו תגדיר, באמצעות Terraform פשוט, מופע אחד מכל אחד משלושת שירותי בסיסי הנתונים המנוהלים המובילים של GCP – Cloud SQL Postgres (זמינות גבוהה + גיבויים אוטומטיים), 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, זמינות גבוהה אזורית): כ-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" (זמינות גבוהה — שכפול סינכרוני באזור אחר, מעבר כשל אוטומטי), גיבויים יומיים אוטומטיים, ושחזור לנקודת זמן מופעל (ברירת המחדל המומלצת על ידי 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 הוא שירות ה-DB היחסי של PCDOE, המתרחב אופקית, בעל עקביות חזקה ומבוזר גלובלית — המוצר היחיד בתוכנית הבחינה של GCP שמספק סמנטיקת SQL על פני יבשות עם עקביות חזקה. בחינת PCDOE ממסגרת אותו כ-Cloud SQL לאנכי, Spanner לאופקי.
אנו מגדירים את טביעת הרגל הקטנה ביותר האפשרית: 1 יחידת עיבוד (PU) אזורית, תצורת הפיתוח המומלצת על ידי PCDOE. Spanner בייצור מגדיר 100+ יחידות עיבוד (או 1+ צמתים — צומת 1 = 1000 יחידות עיבוד).
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 (מרובה אזורים, דו-אזורי), שירות העברת מסדי נתונים (DMS — העברה מנוהלת מ-MySQL / Postgres מקומי ל-Cloud SQL), Datastream (CDC), משטח ה-API של HBase ב-Bigtable, ה-API המורש של Datastore-mode ב-Firestore, שירות גיבוי ושחזור ענן (מוצר הגיבוי המנוהל בין שירותים), ו-Cloud Storage כיעד גיבוי.
אנו נצמדים לשלישיית Cloud SQL + Spanner + Bigtable מכיוון שהם נקודות הקצה של מטריצת ההחלטות של PCDOE — כל תרחיש בחינה בודק איזה משלושת אלה (בתוספת Firestore + AlloyDB) מתאים לעומס עבודה זה? Firestore + AlloyDB + Memorystore כל אחד מהם יוסיף נתח משמעותי אך העלות הופכת מעבדת 5 שירותים ללא מעשית.
לכיסוי קונספטואלי של שירות אחר שירות, עיין במקטעי עיון, מדריך ו-Editorial בדף אישור זה.