अंतिम समीक्षा: मई 2026
साधारण Terraform के साथ PCA परीक्षा के AWS संसाधनों को बनाएं — एक समय में एक ब्लॉक, प्रत्येक परीक्षा डोमेन से जुड़ा हुआ। यही कोड OpenTofu पर भी काम करता है।
इस लैब के अंत तक आप सादे टेराफॉर्म के साथ एक पांच-ब्लॉक वाली पीसीए संदर्भ वास्तुकला को प्रोविज़न कर चुके होंगे — एक कस्टम वीपीसी जिसमें एक क्षेत्रीय सबनेट और आउटबाउंड-ओनली एग्रेस के लिए क्लाउड NAT, वर्कलोड रनटाइम के रूप में एक GKE ऑटोनॉमस क्लस्टर, केवल निजी आईपी (वीपीसी पीयरिंग के माध्यम से GKE से पहुंचने योग्य) के साथ एक क्लाउड SQL पोस्टग्रेस् इंस्टेंस, और एक क्लाउड स्टोरेज ऐप बकेट शामिल है। यह वह आकार है जिससे हर पीसीए परीक्षा परिदृश्य शुरू होता है।
स्निपेट्स को एक एकल main.tf में डालें, terraform init चलाएँ, फिर terraform apply को स्टेप-बाय-स्टेप चलाएँ।
>= 1.5 या OpenTofu >= 1.6।your-project-id को बदलें।terraform apply के बाद GKE क्लस्टर के साथ इंटरैक्ट करना चाहते हैं तो kubectl: gcloud container clusters get-credentials certlabpro-pca-cluster --region us-central1।तीन लाइन आइटम निष्क्रिय रहते हुए बिल करते हैं:
db-f1-micro टियर मौजूद है लेकिन इसे बंद किया जा रहा है; PCA परीक्षा अब db-perf-optimized-N SKUs को संदर्भित करती है।सब कुछ प्रोविज़न होने पर ~$125/माह। लैब सत्र के तुरंत बाद नष्ट करें — यह GCP सेट में सबसे महंगी लैब है।
कंप्यूट, GKE, क्लाउड SQL, सर्विस नेटवर्किंग (क्लाउड SQL निजी आईपी के लिए), और क्लाउड स्टोरेज एपीआई सक्षम करें।
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-pca"
managed_by = "terraform"
}
}
resource "google_project_service" "compute" {
service = "compute.googleapis.com"
disable_on_destroy = false
}
resource "google_project_service" "container" {
service = "container.googleapis.com"
disable_on_destroy = false
}
resource "google_project_service" "sqladmin" {
service = "sqladmin.googleapis.com"
disable_on_destroy = false
}
resource "google_project_service" "servicenetworking" {
service = "servicenetworking.googleapis.com"
disable_on_destroy = false
}
resource "google_project_service" "storage" {
service = "storage.googleapis.com"
disable_on_destroy = false
}पीसीए-अनुशंसित पैटर्न: निजी VMs / पॉड्स में कोई बाहरी IP नहीं होता, लेकिन फिर भी उन्हें बाहरी निर्भरताओं (pip / docker / API कॉल) तक पहुंचने की आवश्यकता होती है। इसका उत्तर Cloud NAT है — एक प्रबंधित क्षेत्रीय NAT सेवा जो निजी संसाधनों को केवल आउटबाउंड एग्रेस देती है।
हम GKE (पॉड्स + सेवाएँ) के लिए दो सेकेंडरी रेंज के साथ एक /20 सबनेट बनाते हैं, एक Cloud Router प्रोविज़न करते हैं, और उस पर एक Cloud NAT संलग्न करते हैं।
resource "google_compute_network" "main" {
name = "certlabpro-pca-vpc"
auto_create_subnetworks = false
depends_on = [google_project_service.compute]
}
resource "google_compute_subnetwork" "main" {
name = "certlabpro-pca-subnet"
ip_cidr_range = "10.10.0.0/20"
region = "us-central1"
network = google_compute_network.main.id
private_ip_google_access = true
secondary_ip_range {
range_name = "pods"
ip_cidr_range = "10.20.0.0/14"
}
secondary_ip_range {
range_name = "services"
ip_cidr_range = "10.24.0.0/20"
}
}
resource "google_compute_router" "nat_router" {
name = "certlabpro-pca-router"
region = "us-central1"
network = google_compute_network.main.id
}
resource "google_compute_router_nat" "nat" {
name = "certlabpro-pca-nat"
router = google_compute_router.nat_router.name
region = "us-central1"
nat_ip_allocate_option = "AUTO_ONLY"
source_subnetwork_ip_ranges_to_nat = "ALL_SUBNETWORKS_ALL_IP_RANGES"
log_config {
enable = true
filter = "ERRORS_ONLY"
}
}GKE ऑटोनॉमस पीसीए-अनुशंसित GKE मोड है — गूगल नोड पूल का प्रबंधन करता है, आप प्रति पॉड-vCPU / पॉड-मेमोरी की खपत के अनुसार भुगतान करते हैं। GKE स्टैंडर्ड से तुलना करें जहाँ आप अपने नोड पूल का आकार स्वयं निर्धारित करते हैं और भुगतान करते हैं। पीसीए परीक्षा इस ऑटोनॉमस-बनाम-स्टैंडर्ड ट्रेड-ऑफ का परीक्षण आवर्ती प्रबंधित-बनाम-नियंत्रण आकार के रूप में करती है।
हम VPC-नेटिव (उपनाम IP — पॉड्स को स्टेप 2 में सेकेंडरी रेंज से IP मिलते हैं, NAT से नहीं), निजी क्लस्टर (नोड IP निजी होते हैं; कंट्रोल प्लेन को भी एक निजी एंडपॉइंट मिलता है), और वर्कलोड आइडेंटिटी (पॉड → GCP-API प्रमाणीकरण के लिए पीसीए-अनुशंसित पैटर्न — कोई नोड-स्तरीय सेवा-खाता क्रेडेंशियल नहीं) सक्षम करते हैं।
resource "google_container_cluster" "main" {
name = "certlabpro-pca-cluster"
location = "us-central1" # regional Autopilot
enable_autopilot = true
network = google_compute_network.main.id
subnetwork = google_compute_subnetwork.main.id
ip_allocation_policy {
cluster_secondary_range_name = "pods"
services_secondary_range_name = "services"
}
private_cluster_config {
enable_private_nodes = true
enable_private_endpoint = false # public control plane for kubectl access
master_ipv4_cidr_block = "172.16.0.0/28"
}
deletion_protection = false # lab-only
depends_on = [google_project_service.container]
}पीसीए-अनुशंसित डेटाबेस कनेक्टिविटी: वीपीसी पीयरिंग के माध्यम से निजी IP — क्लाउड SQL एक गूगल-प्रबंधित वीपीसी के अंदर प्रोविज़न होता है जो आपके वीपीसी के साथ पीयर करता है, इंस्टेंस को एक निजी IP मिलता है, और पॉड्स निजी नेटवर्किंग पर उस तक पहुँचते हैं। पब्लिक-IP क्लाउड SQL एक एंटी-पैटर्न है जिसके खिलाफ पीसीए परीक्षा परीक्षण करती है।
आकार: (1) सर्विस नेटवर्किंग के उपयोग के लिए अपने वीपीसी से एक /16 आवंटित करें, (2) servicenetworking.googleapis.com के साथ वीपीसी को पीयर करें, (3) ipv4_enabled = false + पीयर्ड नेटवर्क रेफरेंस के साथ क्लाउड SQL इंस्टेंस प्रोविज़न करें।
resource "google_compute_global_address" "private_ip_alloc" {
name = "certlabpro-pca-sql-peer"
purpose = "VPC_PEERING"
address_type = "INTERNAL"
prefix_length = 16
network = google_compute_network.main.id
}
resource "google_service_networking_connection" "sql_peering" {
network = google_compute_network.main.id
service = "servicenetworking.googleapis.com"
reserved_peering_ranges = [google_compute_global_address.private_ip_alloc.name]
depends_on = [google_project_service.servicenetworking]
}
resource "google_sql_database_instance" "main" {
name = "certlabpro-pca-pg"
database_version = "POSTGRES_15"
region = "us-central1"
settings {
tier = "db-perf-optimized-N-2"
availability_type = "ZONAL" # lab-only; production = REGIONAL
ip_configuration {
ipv4_enabled = false
private_network = google_compute_network.main.id
}
backup_configuration {
enabled = true
point_in_time_recovery_enabled = true
}
}
deletion_protection = false # lab-only
depends_on = [
google_service_networking_connection.sql_peering,
google_project_service.sqladmin,
]
}पीसीए संदर्भ वास्तुकला में हमेशा किसी चीज़ के लिए एक क्लाउड स्टोरेज बकेट शामिल होता है — अपलोड, एक्सपोर्ट, एमएल फीचर डेटा, स्टैटिक वेब एसेट्स। हम यहां एक जोड़ते हैं, यूनिफ़ॉर्म-बकेट-लेवल-एक्सेस चालू है, लाइफ़साइकिल डेटा को 30 दिनों के बाद नियरलाइन में ले जाती है।
पांच ब्लॉक (VPC + NAT, ऑटोनॉमस GKE, निजी IP के साथ क्लाउड SQL, GCS बकेट) के स्थान पर, पीसीए संदर्भ आकार पूरा हो गया है: वर्कलोड GKE पर चलते हैं, निजी नेटवर्किंग पर पोस्टग्रेस् से बात करते हैं, GCS पर आर्टिफैक्ट लिखते हैं, क्लाउड NAT के माध्यम से एग्रेस करते हैं।
resource "random_id" "suffix" {
byte_length = 4
}
resource "google_storage_bucket" "app" {
name = "certlabpro-pca-app-${random_id.suffix.hex}"
location = "US"
uniform_bucket_level_access = true
force_destroy = true # lab-only
lifecycle_rule {
condition {
age = 30
}
action {
type = "SetStorageClass"
storage_class = "NEARLINE"
}
}
labels = local.labels
depends_on = [google_project_service.storage]
}terraform destroy सब कुछ हटा देता है। GKE क्लस्टर साफ-सुथरा नष्ट हो जाता है (क्लस्टर शुल्क तुरंत बंद हो जाता है, ~$74/माह की बचत होती है)। क्लाउड SQL इंस्टेंस नष्ट हो जाता है (केवल लैब के लिए deletion_protection = false, ~$50/माह की बचत होती है)। Cloud NAT + राउटर अलग हो जाते हैं; VPC पीयरिंग रेंज खाली हो जाती है। GCS बकेट नष्ट हो जाती है (force_destroy = true)।
पीसीए कई आर्किटेक्चर-टियर सतहों को कवर करता है जिन्हें यह लैब शामिल नहीं कर सकता — क्लाउड लोड बैलेंसिंग (GKE के सामने क्लाउड CDN + क्लाउड आर्मर के साथ वैश्विक HTTP(S) LB), ऐप-स्तरीय प्रमाणीकरण के लिए क्लाउड आइडेंटिटी-अवेयर प्रॉक्सी (IAP), सर्वरलेस ऐप टियर के लिए क्लाउड रन + क्लाउड फ़ंक्शंस, असिंक मैसेजिंग के लिए क्लाउड पब/सब, क्लाउड टास्क / क्लाउड शेड्यूलर, कैशिंग के लिए मेमोरिस्टोर (रेडिस / मेमकेच्ड), डेटा टियर विकल्पों के लिए क्लाउड स्पैनर / बिगटेबल / फायरस्टोर, ऑर्केस्ट्रेशन के लिए क्लाउड कंपोज़र / वर्कफ्लो, एनालिटिक्स के लिए बिगक्वेरी, एमएल के लिए वर्टेक्स एआई, क्लाउड डीएनएस / क्लाउड डोमेन, सीएमके एन्क्रिप्शन के लिए क्लाउड KMS ([[gcp-pcse]]), हाइब्रिड के लिए क्लाउड इंटरकनेक्ट / VPN, मल्टी-क्लाउड के लिए एंथोस, क्लाउड एसेट इन्वेंटरी + क्लाउड एसेट सर्विस, रिसोर्स मैनेजर पदानुक्रम (फोल्डर + ऑर्ग्स), क्लाउड ऑपरेशंस सूट (लॉगिंग + मॉनिटरिंग + APM + प्रोफाइलिंग + ट्रेसिंग)।
हम VPC + Cloud NAT + GKE + Cloud SQL + GCS प्रिमिटिव्स पर टिके रहते हैं क्योंकि वे पीसीए संदर्भ वास्तुकला की रीढ़ हैं — हर दूसरी GCP सेवा इस आधार से जुड़ती है। क्लाउड SQL के लिए स्पैनर / बिगटेबल विकल्प हैं। सर्वरलेस ऐप्स के लिए GKE के लिए क्लाउड रन विकल्प है। पब/सब GKE पॉड्स के बीच असिंक मैसेजिंग जोड़ता है। आकार वही रहता है।
सेवा-दर-सेवा वैचारिक कवरेज के लिए, इस प्रमाणपत्र पृष्ठ के ब्राउज़, मार्गदर्शिका, और Editorial अनुभाग देखें।