अंतिम समीक्षा: मई 2026
साधारण Terraform के साथ CDL परीक्षा के AWS संसाधनों को बनाएं — एक समय में एक ब्लॉक, प्रत्येक परीक्षा डोमेन से जुड़ा हुआ। यही कोड OpenTofu पर भी काम करता है।
इस लैब के अंत तक, आप सादे टेराफ़ॉर्म के साथ, सबसे छोटा वास्तविक GCP फ़ुटप्रिंट तैयार कर चुके होंगे — दो प्रोजेक्ट सेवाएँ सक्षम होंगी, एक यूनिफ़ॉर्म बकेट-लेवल एक्सेस + लाइफ़साइकिल के साथ क्लाउड स्टोरेज बकेट, और एक क्लाउड बिलिंग बजट जो खर्च एक सीमा को पार करने पर ईमेल करेगा। चार ब्लॉक, जो AWS खाता बनाने और उसमें एक S3 बकेट डालने के GCP के बराबर हैं।
स्निपेट्स को एक ही main.tf में डालें, terraform init चलाएँ, फिर terraform apply को चरण-दर-चरण चलाएँ।
>= 1.5 या OpenTofu >= 1.6।provider ब्लॉक में पेस्ट करेंगे।gcloud auth application-default login।gcloud beta billing accounts list के माध्यम से खोजें।terraform apply चलाने से पहले नीचे दिए गए स्निपेट्स में your-project-id और your-billing-account-id को बदलें।इस दायरे में सब कुछ मुफ्त है:
us-* क्षेत्रों में 5 GB/माह मुफ्त; लैब बकेट में कुछ भी नहीं है।लैब ~$0/माह पर निष्क्रिय रहती है। इसका उद्देश्य यह साबित करना है कि बिलिंग ट्रिपवायर काम करता है — पूरा CDL परीक्षा GCP को सुरक्षित रूप से संचालित करने के कौशल सेट के इर्द-गिर्द घूमती है, जिसमें 'आप क्या खर्च कर रहे हैं यह जानना' नियम #1 है।
संसाधनों को प्रावधानित करने से पहले GCP को स्पष्ट प्रोजेक्ट सेवाओं (APIs) को सक्षम करने की आवश्यकता होती है। हम storage.googleapis.com (चरण 2 के लिए) और billingbudgets.googleapis.com (चरण 4 के लिए) को सक्षम करते हैं। AWS से तुलना करें जहाँ API सतहें हमेशा चालू रहती हैं — GCP आपको प्रति प्रोजेक्ट ऑप्ट इन कराता है।
your-project-id को अपनी वास्तविक प्रोजेक्ट ID से बदलें।
terraform {
required_version = ">= 1.5"
required_providers {
google = { source = "hashicorp/google", version = "~> 6.0" }
}
}
provider "google" {
project = "your-project-id" # REPLACE with your GCP project ID
region = "us-central1"
}
locals {
labels = {
project = "certlabpro-cdl"
managed_by = "terraform"
}
}
resource "google_project_service" "storage" {
service = "storage.googleapis.com"
disable_on_destroy = false
}
resource "google_project_service" "budgets" {
service = "billingbudgets.googleapis.com"
disable_on_destroy = false
}क्लाउड स्टोरेज GCP का S3 के बराबर है — क्षेत्रीय, बहु-क्षेत्रीय और दोहरी-क्षेत्र प्रतिकृति विकल्पों के साथ ऑब्जेक्ट स्टोर। CDL परीक्षा बार-बार कौन-सी-स्टोरेज-क्लास के प्रश्न का परीक्षण करती है: स्टैंडर्ड (हॉट), नियरलाइन (>30 दिन), कोल्डलाइन (>90 दिन), आर्काइव (>365 दिन)।
हम यूनिफ़ॉर्म बकेट-लेवल एक्सेस (CDL-अनुशंसित सुरक्षा डिफ़ॉल्ट — IAM-केवल के पक्ष में ठीक-ठाक प्रति-ऑब्जेक्ट ACLs को अक्षम करता है) और 30-दिवसीय → नियरलाइन लाइफ़साइकिल संक्रमण को सक्षम करते हैं। नाम GCP के सभी में विश्व स्तर पर अद्वितीय होने चाहिए — हम एक रैंडम हेक्स के साथ सफ़िक्स करते हैं।
resource "random_id" "suffix" {
byte_length = 4
}
resource "google_storage_bucket" "main" {
name = "certlabpro-cdl-${random_id.suffix.hex}"
location = "US"
uniform_bucket_level_access = true
force_destroy = true # lab-only — never in production
lifecycle_rule {
condition {
age = 30
}
action {
type = "SetStorageClass"
storage_class = "NEARLINE"
}
}
labels = local.labels
depends_on = [google_project_service.storage]
}GCP का क्लाउड लॉगिंग अधिकांश सेवाओं के लिए डिफ़ॉल्ट रूप से चालू रहता है — लेकिन CDL परीक्षा आवश्यक बनाम डिफ़ॉल्ट बनाम डेटा एक्सेस ऑडिट-लॉग अंतर का परीक्षण करती है। आवश्यक ऑडिट लॉग (व्यवस्थापक गतिविधि) हमेशा चालू रहते हैं, मुफ्त होते हैं, अक्षम नहीं किए जा सकते। डिफ़ॉल्ट लॉग (कुछ सेवाओं के लिए डेटा राइट्स) चालू रहते हैं लेकिन अक्षम किए जा सकते हैं। डेटा एक्सेस लॉग (डेटा रीड्स) डिफ़ॉल्ट रूप से बंद रहते हैं — इन्हें स्पष्ट रूप से सक्षम किया जाना चाहिए और सामान्य रूप से बिल किया जाता है।
हम क्लाउड स्टोरेज के लिए डेटा एक्सेस लॉगिंग को सक्षम करते हैं ताकि चरण 2 से बकेट में प्रत्येक ऑब्जेक्ट का प्रत्येक रीड क्लाउड लॉगिंग में दर्ज हो। यह लैब iam-audit-config प्राइमेटिव का एक प्रदर्शन है; उत्पादन परिनियोजन [[gcp-pcse]] पैटर्न के माध्यम से संगठन स्तर पर इस पैटर्न का उपयोग करते हैं।
resource "google_project_iam_audit_config" "storage_data_access" {
service = "storage.googleapis.com"
audit_log_config {
log_type = "DATA_READ"
}
audit_log_config {
log_type = "DATA_WRITE"
}
}CDL परीक्षा इस पैटर्न को बहुत पसंद करती है — क्लाउड बिलिंग बजट + अलर्ट लागत नियंत्रण के लिए बार-बार आने वाला CDL परीक्षा-प्रश्न प्रारूप है। हम $10/माह का बजट निर्धारित करते हैं और अनुमानित खर्च के 50% / 90% / 100% पर अलर्ट कॉन्फ़िगर करते हैं। अलर्ट बिलिंग-खाता प्रशासकों को ईमेल के माध्यम से प्राप्त होता है (ईमेल के लिए कोई अतिरिक्त कॉन्फ़िगरेशन की आवश्यकता नहीं है; Slack / PagerDuty के लिए आप एक Pub/Sub विषय + क्लाउड फ़ंक्शन फैनआउट जोड़ेंगे)।
your-billing-account-id को अपनी वास्तविक ID से बदलें। बजट projects फ़िल्टर के माध्यम से केवल वर्तमान प्रोजेक्ट तक ही सीमित है — CDL परीक्षा इस प्रति-प्रोजेक्ट-बजट बनाम संगठन-व्यापी-बजट अंतर का परीक्षण करती है।
data "google_project" "current" {}
resource "google_billing_budget" "monthly_10" {
billing_account = "your-billing-account-id" # REPLACE — find via `gcloud beta billing accounts list`
display_name = "certlabpro-cdl-$10-monthly"
budget_filter {
projects = ["projects/${data.google_project.current.number}"]
}
amount {
specified_amount {
currency_code = "USD"
units = "10"
}
}
threshold_rules {
threshold_percent = 0.5
spend_basis = "FORECASTED_SPEND"
}
threshold_rules {
threshold_percent = 0.9
spend_basis = "FORECASTED_SPEND"
}
threshold_rules {
threshold_percent = 1.0
spend_basis = "CURRENT_SPEND"
}
depends_on = [google_project_service.budgets]
}terraform destroy सब कुछ साफ-सुथरा हटा देता है। बकेट नष्ट हो जाता है (केवल लैब के लिए force_destroy = true टेराफ़ॉर्म को खाली न होने पर भी इसे हटाने देता है — उत्पादन में इसका कभी उपयोग न करें)। बजट अलग हो जाता है; ईमेल बंद हो जाते हैं। IAM ऑडिट कॉन्फ़िग डिफ़ॉल्ट पर वापस आ जाता है। प्रोजेक्ट सेवाएँ सक्षम रहती हैं (हमने disable_on_destroy = false सेट किया है — उन्हें चालू छोड़ना मुफ्त है, और उन्हें अक्षम करने से उसी प्रोजेक्ट पर असंबंधित वर्कलोड टूट सकते हैं)।
CDL कई GCP सतहों को कवर करता है जिन्हें यह लैब शामिल नहीं कर सकती — Compute Engine VMs, GKE क्लस्टर, Cloud Run, Cloud Functions, App Engine, BigQuery, Cloud SQL, Spanner, Bigtable, Firestore, Cloud Pub/Sub, Dataflow, Dataproc, Vertex AI, Cloud Build, Cloud Deploy, Anthos / Multi-Cloud, Cloud CDN / Cloud Armor, VPC + Cloud NAT, Cloud Interconnect, Cloud IAM / Identity, Cloud KMS, Security Command Center, पूरा GCP मार्केटप्लेस।
हम स्टोरेज + लॉगिंग + बिलिंग प्राइमेटिव्स से चिपके रहते हैं क्योंकि वे सबसे कम सामान्य-भाजक फ़ुटप्रिंट हैं जिसे हर CDL परीक्षा परिदृश्य मानकर चलता है। हर दूसरी GCP सेवा क्लाउड स्टोरेज को लिखती है / क्लाउड स्टोरेज से पढ़ती है / क्लाउड लॉगिंग में लॉग दर्ज करती है / क्लाउड बिलिंग डैशबोर्ड पर दिखाई देती है। नींव में महारत हासिल करें; बाद में विशेष सेवाओं को परत करें।
सेवा-दर-सेवा वैचारिक कवरेज के लिए, इस प्रमाणपत्र पृष्ठ के ब्राउज़, मार्गदर्शिका, और Editorial अनुभाग देखें।