अंतिम समीक्षा: मई 2026
साधारण Terraform के साथ CLF-C02 परीक्षा के AWS संसाधनों को बनाएं — एक समय में एक ब्लॉक, प्रत्येक परीक्षा डोमेन से जुड़ा हुआ। यही कोड OpenTofu पर भी काम करता है।
इस लैब के अंत तक, आप सादे टेराफॉर्म के साथ सबसे छोटा यथार्थवादी पहला AWS वर्कलोड—एक निजी एन्क्रिप्टेड S3 बकेट, एक न्यूनतम-विशेषाधिकार IAM भूमिका, एक फ्री-टियर EC2 इंस्टेंस, और एक बिलिंग अलार्म जो AWS से पहले आपको ईमेल करता है—उपलब्ध करा चुके होंगे। प्रत्येक संसाधन चार CLF-C02 परीक्षा डोमेन में से एक से संबंधित है।
प्रत्येक संसाधन सादा टेराफॉर्म है — वही कोड OpenTofu पर बिना किसी संशोधन के काम करता है। इसमें कोई वैरिएबल, कोई मॉड्यूल, कोई रिमोट स्टेट नहीं है। नीचे दिए गए स्निपेट को एक main.tf में डालें, एक बार terraform init चलाएँ, फिर terraform apply को चरण-दर-चरण चलाएँ।
>= 1.5 या ओपनटोफू >= 1.6।us-east-1 का उपयोग करते हैं क्योंकि बिलिंग डेटा वहीं केंद्रीकृत होता है।इस लैब में सभी संसाधन नए खातों के लिए AWS फ्री टियर (साइन-अप से 12 महीने) के भीतर आते हैं:
t3.micro इंस्टेंस: 750 घंटे/माह मुफ्त।फ्री टियर के बाहर, पूरा स्टैक 24/7 चलने पर भी $10/माह से कम खर्च करता है। हालांकि, फ्री टियर समाप्त होने के बाद निष्क्रिय संसाधनों पर भी शुल्क लगता है — काम पूरा होने पर उन्हें नष्ट कर दें। यदि आप भूल जाते हैं तो चरण 4 में हम जो बिलिंग अलार्म बनाते हैं, वह आपकी सुरक्षा जाल है।
प्रत्येक वर्कलोड टेराफॉर्म को यह बताने से शुरू होता है कि हम उसका कौन सा संस्करण अपेक्षित करते हैं और हम किस AWS प्रोवाइडर का उपयोग करेंगे। हम AWS प्रोवाइडर को ~> 5.60 पर पिन करते हैं और डिफ़ॉल्ट रूप से us-east-1 का उपयोग करते हैं — AWS का सबसे पुराना क्षेत्र, जहाँ बिलिंग डेटा केंद्रीकृत होता है और अधिकांश सेवाएँ सबसे पहले लॉन्च होती हैं।
शुरुआत करने के लिए इसे एक नई main.tf में डालें। लैब में इसके बाद सब कुछ उसी फ़ाइल में होगा।
प्रोवाइडर में default_tags ब्लॉक हमारे द्वारा बनाए जाने वाले प्रत्येक टैग करने योग्य संसाधन से समान टैग जोड़ता है। AWS कॉस्ट एक्सप्लोरर + कॉस्ट एलोकेशन रिपोर्ट टैग के अनुसार खर्च को समूहित करते हैं — पहले दिन इसे सही करना सबसे सस्ता लागत-नियंत्रण निवेश है जो आप कभी करेंगे, और यह सीधे CLF-C02 के बिलिंग और मूल्य निर्धारण डोमेन से संबंधित है।
terraform {
required_version = ">= 1.5"
required_providers {
aws = {
source = "hashicorp/aws"
version = "~> 5.60"
}
}
}
provider "aws" {
region = "us-east-1"
default_tags {
tags = {
Project = "certlabpro-clf-c02"
ManagedBy = "terraform"
Environment = "lab"
}
}
}S3 लगभग हर AWS वर्कलोड के पीछे स्टोरेज लेयर है — हर CLF-C02 डोमेन इसका संदर्भ देता है। हम एक बकेट बनाते हैं, सार्वजनिक पहुंच को लॉक करते हैं (2023 से नए बकेट के लिए डिफ़ॉल्ट-ऑन, लेकिन स्पष्ट-होना बेहतर है), और AES256 के साथ सर्वर-साइड एन्क्रिप्शन चालू करते हैं।
ये तीनों संसाधन एक साथ — बकेट, सार्वजनिक-पहुंच ब्लॉक, एन्क्रिप्शन — किसी भी S3 बकेट के लिए न्यूनतम जिम्मेदार डिफ़ॉल्ट हैं। CLF-C02 परीक्षा इसे साझा उत्तरदायित्व मॉडल के रूप में प्रस्तुत करती है: AWS हमें एक सुरक्षित प्लेटफॉर्म देता है, लेकिन हम एन्क्रिप्शन + एक्सेस कंट्रोल को कॉन्फ़िगर करते हैं। बकेट "ग्राहक जिम्मेदारी" का हिस्सा है।
resource "aws_s3_bucket" "app_data" {
bucket_prefix = "certlabpro-clf-c02-"
}
resource "aws_s3_bucket_public_access_block" "app_data" {
bucket = aws_s3_bucket.app_data.id
block_public_acls = true
block_public_policy = true
ignore_public_acls = true
restrict_public_buckets = true
}
resource "aws_s3_bucket_server_side_encryption_configuration" "app_data" {
bucket = aws_s3_bucket.app_data.id
rule {
apply_server_side_encryption_by_default {
sse_algorithm = "AES256"
}
}
}EC2 वह AWS सेवा है जिसे हर CLF-C02 उम्मीदवार को अच्छी तरह से जानना अपेक्षित है। हम सबसे छोटे फ्री-टियर-योग्य इंस्टेंस प्रकार (t3.micro) का उपयोग करते हैं और इसे एक IAM इंस्टेंस प्रोफ़ाइल देते हैं ताकि यह चरण 2 में बनाए गए बकेट से पढ़ सके — बिना किसी AWS क्रेडेंशियल को बॉक्स पर एम्बेड किए। यह एप्लिकेशन-से-AWS प्रमाणीकरण के लिए प्रामाणिक AWS पैटर्न है और कई CLF-C02 प्रश्न प्रकारों में दिखाई देता है।
data ब्लॉक नवीनतम Amazon Linux 2023 AMI को गतिशील रूप से प्राप्त करता है — एक विशिष्ट AMI ID पर पिन करने से जब AWS इमेज को हटा देता है तो लैब टूट जाएगी। सुरक्षा समूह सभी इनबाउंड ट्रैफ़िक को अस्वीकार करता है; हम एक वास्तविक वर्कलोड में इनग्रेस नियम जोड़ेंगे, लेकिन इस लैब के लिए एक लॉक-डाउन इंस्टेंस सही डिफ़ॉल्ट है।
data "aws_ami" "al2023" {
most_recent = true
owners = ["amazon"]
filter {
name = "name"
values = ["al2023-ami-*-kernel-6.1-x86_64"]
}
}
resource "aws_iam_role" "ec2_app" {
name = "certlabpro-clf-c02-ec2-app"
assume_role_policy = jsonencode({
Version = "2012-10-17"
Statement = [{
Effect = "Allow"
Principal = { Service = "ec2.amazonaws.com" }
Action = "sts:AssumeRole"
}]
})
}
resource "aws_iam_role_policy" "ec2_app_s3_read" {
name = "read-app-data-bucket"
role = aws_iam_role.ec2_app.id
policy = jsonencode({
Version = "2012-10-17"
Statement = [{
Effect = "Allow"
Action = ["s3:GetObject", "s3:ListBucket"]
Resource = [aws_s3_bucket.app_data.arn, "${aws_s3_bucket.app_data.arn}/*"]
}]
})
}
resource "aws_iam_instance_profile" "ec2_app" {
name = "certlabpro-clf-c02-ec2-app"
role = aws_iam_role.ec2_app.name
}
resource "aws_security_group" "ec2_app" {
name = "certlabpro-clf-c02-ec2-app"
description = "Locked down by default; add ingress rules per workload."
egress {
from_port = 0
to_port = 0
protocol = "-1"
cidr_blocks = ["0.0.0.0/0"]
}
}
resource "aws_instance" "app" {
ami = data.aws_ami.al2023.id
instance_type = "t3.micro"
iam_instance_profile = aws_iam_instance_profile.ec2_app.name
vpc_security_group_ids = [aws_security_group.ec2_app.id]
metadata_options {
http_endpoint = "enabled"
http_tokens = "required" # IMDSv2 only — required for SCS-C03 best practice
}
}CLF-C02 परीक्षा का 16% हिस्सा बिलिंग, मूल्य निर्धारण और समर्थन के लिए समर्पित है। उस क्षेत्र में आप जो सबसे ठोस चीज़ बना सकते हैं, वह है एक CloudWatch बिलिंग अलार्म: AWS खाता-स्तर के अनुमानित शुल्कों को एक मीट्रिक के रूप में प्रकाशित करता है, और हम एक सीमा निर्धारित करते हैं जिसके ऊपर हम इसके बारे में जानना चाहते हैं। अलार्म एक SNS विषय पर प्रकाशित होता है, जो हमें ईमेल करता है।
बिलिंग-मीट्रिक अलार्म us-east-1 में बनाए जाने चाहिए भले ही आपके वर्कलोड कहीं भी चल रहे हों — यही कारण है कि हमने चरण 1 में डिफ़ॉल्ट रूप से us-east-1 का उपयोग किया। आपको बिलिंग अलर्ट को एक बार अकाउंट कंसोल में बिलिंग → बिलिंग प्राथमिकताएँ → बिलिंग अलर्ट प्राप्त करें पर सक्षम करना होगा। टेराफॉर्म इसे टॉगल नहीं कर सकता है; यह इंफ्रास्ट्रक्चर-एज़-कोड के बाहर एक खाता-स्तरीय सेटिंग है।
terraform apply के बाद, AWS email_endpoint में पते पर एक पुष्टिकरण ईमेल भेजेगा — एक बार सदस्यता की पुष्टि करें पर क्लिक करें, और सीमा पार होने पर अलार्म वास्तव में आप तक पहुंच जाएगा।
resource "aws_sns_topic" "billing_alerts" {
name = "certlabpro-clf-c02-billing-alerts"
}
resource "aws_sns_topic_subscription" "billing_alerts_email" {
topic_arn = aws_sns_topic.billing_alerts.arn
protocol = "email"
endpoint = "you@example.com" # replace with your real email
}
resource "aws_cloudwatch_metric_alarm" "monthly_bill_over_10" {
alarm_name = "certlabpro-clf-c02-monthly-bill-over-10-usd"
comparison_operator = "GreaterThanThreshold"
evaluation_periods = 1
metric_name = "EstimatedCharges"
namespace = "AWS/Billing"
period = 21600 # 6 hours — billing metric is slow-moving
statistic = "Maximum"
threshold = 10
alarm_description = "Estimated monthly AWS charges exceeded $10 USD."
alarm_actions = [aws_sns_topic.billing_alerts.arn]
dimensions = {
Currency = "USD"
}
}एक मानक terraform destroy इस लैब में सब कुछ हटा देता है। दो बातें ध्यान दें:
Project = certlabpro-clf-c02 के लिए grep करना और यह पुष्टि करना आसान बनाते हैं कि कुछ भी बचा नहीं है।CLF-C02 एक विस्तृत सेवा कैटलॉग को कवर करता है — RDS, लैम्ब्डा, VPC विवरण, CloudFront, Route 53, ECS, EKS, Aurora, Elastic Beanstalk, AppSync, और बहुत कुछ। हम जानबूझकर उन्हें इस मूलभूत लैब में उपलब्ध नहीं कराते हैं।
CLF-C02 का लक्ष्य व्यापक वैचारिक प्रवाह है, न कि गहन सेवा-दर-सेवा प्रावधान। ऊपर दिए गए चार चरण परीक्षा के चार डोमेन में से प्रत्येक से एक संसाधन को छूते हैं — क्लाउड अवधारणाएँ (प्लेटफ़ॉर्म-और-स्टोरेज प्रिमिटिव के रूप में IAM + S3), सुरक्षा और अनुपालन (न्यूनतम-विशेषाधिकार IAM, रेस्ट पर एन्क्रिप्शन, IMDSv2), क्लाउड प्रौद्योगिकी और सेवाएँ (विहित कंप्यूट सेवा के रूप में EC2), और बिलिंग, मूल्य निर्धारण और समर्थन (CloudWatch बिलिंग अलार्म)। यह परीक्षा के लिए सही रूपरेखा है।
सेवा-दर-सेवा कवरेज के लिए, इस सर्ट पेज के ब्राउज़ और Editorial अनुभाग देखें — वे CLF-C02 दायरे में हर सेवा को एक-पंक्ति विवरण और परीक्षा-डोमेन संबंधों के साथ संदर्भित करते हैं। इस लैब का हैंड्स-ऑन मूल्य यह देखने में है कि पहले दिन चारों स्तंभ कैसे जुड़ते हैं, न कि सभी 200+ AWS सेवाओं का दौरा करने में।