अंतिम समीक्षा: मई 2026
साधारण Terraform के साथ PCNE परीक्षा के AWS संसाधनों को बनाएं — एक समय में एक ब्लॉक, प्रत्येक परीक्षा डोमेन से जुड़ा हुआ। यही कोड OpenTofu पर भी काम करता है।
इस लैब के अंत तक आप, साधारण Terraform के साथ, एक PCNE-आकार का नेटवर्क सब्सट्रेट प्रावधान कर चुके होंगे — Shared VPC होस्ट-प्रोजेक्ट सक्षमता, Private Google Access का उपयोग करके एक क्षेत्रीय सबनेट के साथ एक कस्टम VPC, केवल आउटबाउंड निकास के लिए एक Cloud Router + Cloud NAT, सबनेट पर VPC Flow Logs के साथ दो फ़ायरवॉल नियम, और आंतरिक नाम रिज़ॉल्यूशन के लिए एक Cloud DNS निजी ज़ोन। पाँच ब्लॉक; PCNE हब-VPC + निकास + DNS संदर्भ आकार।
स्निपेट्स को एक ही main.tf में डालें, terraform init चलाएँ, फिर terraform apply को चरण-दर-चरण चलाएँ।
ध्यान दें: यह एकल-प्रोजेक्ट लैब Shared VPC होस्ट-प्रोजेक्ट सक्षमता को प्रदर्शित करता है लेकिन वास्तव में VPC को किसी अन्य सेवा प्रोजेक्ट के साथ साझा नहीं करता है (इसके लिए ऑर्ग एडमिन + दो प्रोजेक्ट की आवश्यकता होती है, जो एक त्वरित लैब के दायरे से बाहर है)।
>= 1.5 या OpenTofu >= 1.6।roles/compute.xpnAdmin की आवश्यकता है — संगठन-स्तर के अधिकारों के बिना, google_compute_shared_vpc_host_project संसाधन विफल हो जाएगा। चरण 2 छोड़ें और इसे main.tf से हटा दें यदि आपके पास केवल प्रोजेक्ट-स्तर के अधिकार हैं।your-project-id बदलें।लगभग निःशुल्क:
~$0/माह। चलते रहने देना सस्ता है।
कंप्यूट, डीएनएस, और लॉगिंग API सक्षम करें।
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-pcne"
managed_by = "terraform"
}
}
resource "google_project_service" "compute" {
service = "compute.googleapis.com"
disable_on_destroy = false
}
resource "google_project_service" "dns" {
service = "dns.googleapis.com"
disable_on_destroy = false
}
resource "google_project_service" "logging" {
service = "logging.googleapis.com"
disable_on_destroy = false
}Shared VPC PCNE-कैनोनिकल मल्टी-प्रोजेक्ट नेटवर्किंग पैटर्न है — एक होस्ट प्रोजेक्ट VPC का मालिक होता है, कई सेवा प्रोजेक्ट अटैचमेंट के माध्यम से इसका उपयोग करते हैं। सेवा प्रोजेक्ट में वर्कलोड होस्ट VPC के सबनेट से IP प्राप्त करते हैं, बिना होस्ट प्रोजेक्ट के वर्कलोड-टियर संसाधनों का मालिक होने के। PCNE परीक्षा इस होस्ट बनाम सेवा अलगाव को लोड-बेयरिंग स्केल पैटर्न के रूप में परखती है।
हम वर्तमान प्रोजेक्ट पर होस्ट-प्रोजेक्ट मोड (google_compute_shared_vpc_host_project) को सक्षम करते हैं, फिर Private Google Access सक्षम (*.googleapis.com तक पहुँचने के लिए बाहरी IP के बिना VM को अनुमति देता है) और VPC Flow Logs चालू करके /20 सबनेट बनाते हैं।
data "google_project" "current" {}
resource "google_compute_shared_vpc_host_project" "host" {
project = data.google_project.current.project_id
depends_on = [google_project_service.compute]
}
resource "google_compute_network" "main" {
name = "certlabpro-pcne-vpc"
auto_create_subnetworks = false
routing_mode = "REGIONAL"
depends_on = [google_project_service.compute]
}
resource "google_compute_subnetwork" "main" {
name = "certlabpro-pcne-subnet"
ip_cidr_range = "10.10.0.0/20"
region = "us-central1"
network = google_compute_network.main.id
private_ip_google_access = true
log_config {
aggregation_interval = "INTERVAL_5_SEC"
flow_sampling = 0.5
metadata = "INCLUDE_ALL_METADATA"
}
}Cloud NAT सबनेट को प्रति-VM बाहरी IP के बिना आउटबाउंड इंटरनेट एक्सेस देता है — PCNE-कैनोनिकल डिफ़ॉल्ट रूप से निजी निकास पैटर्न। आकार: एक Cloud Router BGP कंट्रोल-प्लेन प्रिमिटिव है (NAT, VPN, इंटरकनेक्ट द्वारा उपयोग किया जाता है); एक Cloud NAT इससे जुड़ता है और डेटा प्लेन प्रदान करता है।
हम AUTO_ONLY NAT IP आवंटन के साथ NAT को सक्षम करते हैं (Google पते चुनता है; उत्पादन डिप्लॉयमेंट अपस्ट्रीम फ़ायरवॉल अनुमत सूचियों के लिए विशिष्ट आरक्षित IP पर पिन होते हैं)। केवल त्रुटियों पर लॉगिंग — पूर्ण-लॉग मोड पर्याप्त Cloud Logging वॉल्यूम उत्पन्न करता है।
resource "google_compute_router" "nat_router" {
name = "certlabpro-pcne-router"
region = "us-central1"
network = google_compute_network.main.id
}
resource "google_compute_router_nat" "nat" {
name = "certlabpro-pcne-nat"
router = google_compute_router.nat_router.name
region = "us-central1"
nat_ip_allocate_option = "AUTO_ONLY"
source_subnetwork_ip_ranges_to_nat = "LIST_OF_SUBNETWORKS"
subnetwork {
name = google_compute_subnetwork.main.id
source_ip_ranges_to_nat = ["ALL_IP_RANGES"]
}
log_config {
enable = true
filter = "ERRORS_ONLY"
}
}PCNE-अनुशंसित फ़ायरवॉल पोस्चर: डिफ़ॉल्ट-अस्वीकृत इनग्रेस (GCP का डिफ़ॉल्ट), केवल वही अनुमति दें जो आवश्यक है। हम आंतरिक अनुमति-सभी (सबनेट में VM के बीच कोई भी TCP / UDP / ICMP) + IAP SSH अनुमति (Google की IAP गेटवे रेंज से TCP/22, ताकि सार्वजनिक IP के बिना VM अभी भी gcloud compute ssh --tunnel-through-iap के माध्यम से SSH-पहुँच योग्य हों) जोड़ते हैं।
यह ACE लैब के समान दो-नियम पैटर्न है — PCNE इसे संगठन/फ़ोल्डर स्कोप पर फ़ायरवॉल नीतियों के साथ गहरा करता है (श्रेणीबद्ध फ़ायरवॉल जो प्रोजेक्ट-स्तर के नियमों के साथ संयोजन करते हैं; यहाँ दायरे से बाहर)।
resource "google_compute_firewall" "allow_internal" {
name = "certlabpro-pcne-allow-internal"
network = google_compute_network.main.name
direction = "INGRESS"
source_ranges = ["10.10.0.0/20"]
allow {
protocol = "tcp"
}
allow {
protocol = "udp"
}
allow {
protocol = "icmp"
}
}
resource "google_compute_firewall" "allow_iap_ssh" {
name = "certlabpro-pcne-allow-iap-ssh"
network = google_compute_network.main.name
direction = "INGRESS"
source_ranges = ["35.235.240.0/20"]
allow {
protocol = "tcp"
ports = ["22"]
}
}PCNE-कैनोनिकल पैटर्न: आंतरिक होस्टनेम VPC से जुड़े Cloud DNS निजी ज़ोन के माध्यम से रिज़ॉल्व होते हैं। VPC में VM इस ज़ोन के रिकॉर्ड देखते हैं; बाहरी VM नहीं देखते। उपयोग का मामला: सेवाओं के लिए स्थिर, मानव-पठनीय होस्टनेम (api.internal.acme.com, db.internal.acme.com) जो VM के निजी IP पर रिज़ॉल्व होते हैं।
हम ज़ोन internal.acme.com + एक उदाहरण A रिकॉर्ड बनाते हैं। उत्पादन डिप्लॉयमेंट अक्सर इसे हाइब्रिड सेटअप के लिए Cloud DNS DNS फ़ॉरवर्डिंग के साथ जोड़ते हैं (ऑन-प्रिम DNS क्वेरी क्लाउड ज़ोन में फ़ॉरवर्ड होती हैं, और इनकमिंग सर्वर नीतियों के माध्यम से इसके विपरीत)। पाँच ब्लॉक होने पर (प्रदाता+API, Shared VPC + सबनेट + फ़्लो लॉग, Cloud NAT, फ़ायरवॉल, Cloud DNS निजी ज़ोन), PCNE सब्सट्रेट पूरा हो जाता है।
resource "google_dns_managed_zone" "internal" {
name = "certlabpro-pcne-internal"
dns_name = "internal.acme.com."
description = "PCNE lab private DNS zone"
visibility = "private"
private_visibility_config {
networks {
network_url = google_compute_network.main.id
}
}
labels = local.labels
depends_on = [google_project_service.dns]
}
resource "google_dns_record_set" "api_example" {
managed_zone = google_dns_managed_zone.internal.name
name = "api.${google_dns_managed_zone.internal.dns_name}"
type = "A"
ttl = 300
rrdatas = ["10.10.0.10"]
}terraform destroy सब कुछ हटा देता है। Shared VPC host-project अक्षम हो जाता है (पहले किसी भी सेवा-प्रोजेक्ट अटैचमेंट को हटाना होगा — इस लैब में कोई नहीं)। Cloud NAT + router साफ़ तौर पर अलग हो जाते हैं। VPC + subnet + firewalls नष्ट हो जाते हैं। Cloud DNS private zone नष्ट हो जाता है (उदाहरण रिकॉर्ड इसके साथ चला जाता है)। VPC Flow Logs इनग्रेसन बंद कर देते हैं।
PCNE कई नेटवर्किंग सतहों को कवर करता है जो इस लैब में फिट नहीं हो सकती हैं — Cloud VPN (HA / Classic), Cloud Interconnect (Dedicated / Partner), Network Connectivity Center (NCC — हब-एंड-स्पोक कंट्रोल प्लेन), Cross-Cloud Interconnect, Private Service Connect (PSC सेवा/एंडपॉइंट/पब्लिशर पैटर्न के लिए), VPC के बीच VPC Peering (Shared VPC से अलग), Cloud Load Balancing (संपूर्ण LB परिवार — ग्लोबल HTTP(S), क्षेत्रीय आंतरिक, नेटवर्क LB, प्रॉक्सी नेटवर्क LB), Cloud CDN, Cloud Armor (WAF / DDoS), Identity-Aware Proxy (IAP), Cloud DNS DNS फ़ॉरवर्डिंग / इनकमिंग सर्वर नीतियाँ (हाइब्रिड-DNS आकार), Cloud DNS DNSSEC, लेगेसी Default Firewall Rules पोस्चर, संगठन/फ़ोल्डर स्कोप पर श्रेणीबद्ध फ़ायरवॉल नीतियाँ, Network Intelligence Center (कनेक्टिविटी टेस्ट / परफ़ॉर्मेंस डैशबोर्ड / फ़ायरवॉल इनसाइट्स / नेटवर्क टोपोलॉजी), और VPC Service Controls परिधिएँ (डेटा-एक्सफ़िल कोण से [[gcp-pcse]] में कवर की गई)।
हम Shared VPC + सबनेट + NAT + फ़ायरवॉल + निजी DNS प्रिमिटिव्स पर टिके रहते हैं क्योंकि वे PCNE नींव हैं जिस पर हर अधिक उन्नत नेटवर्क पैटर्न आधारित होता है। Cloud VPN / Interconnect उसी Cloud Router से जुड़ते हैं। Load Balancers उसी फ़ायरवॉल-गेटेड VM के सामने होते हैं। PSC सेवाएँ उसी VPC में प्रकाशित करता है। श्रेणीबद्ध फ़ायरवॉल प्रोजेक्ट-स्तर के नियमों के ऊपर परत बनाते हैं। सब्सट्रेट में महारत हासिल करें।
सेवा-दर-सेवा अवधारणात्मक कवरेज के लिए, इस प्रमाणपत्र पृष्ठ के ब्राउज़, मार्गदर्शिका, और Editorial अनुभाग देखें।