अंतिम समीक्षा: मई 2026
साधारण Terraform के साथ AZ-900 परीक्षा के AWS संसाधनों को बनाएं — एक समय में एक ब्लॉक, प्रत्येक परीक्षा डोमेन से जुड़ा हुआ। यही कोड OpenTofu पर भी काम करता है।
इस लैब के अंत तक, आप साधारण टेराफ़ॉर्म का उपयोग करके, सबसे छोटा यथार्थवादी पहला एज़्योर वर्कलोड प्रोविज़न कर चुके होंगे — एक रिसोर्स ग्रुप, सुरक्षित डिफ़ॉल्ट वाला एक स्टोरेज अकाउंट, एक छोटा लिनक्स VM, और एक लागत प्रबंधन बजट अलर्ट जो आपके वॉलेट से पहले आपको ईमेल करता है। प्रत्येक संसाधन AZ-900 परीक्षा के स्तंभों में से एक से मैप करता है।
प्रत्येक संसाधन साधारण टेराफ़ॉर्म है। कोई वैरिएबल, कोई मॉड्यूल, कोई रिमोट स्टेट नहीं है। स्निपेट्स को एक ही main.tf में डालें, एक बार terraform init चलाएँ, फिर terraform apply को चरण-दर-चरण चलाएँ।
>= 1.5 या ओपनटोफ़ू >= 1.6।az login चलाएँ; टेराफ़ॉर्म का azurerm प्रोवाइडर सक्रिय सब्सक्रिप्शन को स्वचालित रूप से उठा लेता है।इस लैब के सभी संसाधन नए सब्सक्रिप्शन के लिए एज़्योर फ्री टियर के भीतर फिट होते हैं (पहले 30 दिनों के लिए $200 क्रेडिट, साथ ही हमेशा-फ्री मात्राएँ):
यदि आप VM को फ्री टियर के बाहर 24/7 चलाते रहते हैं तो इसकी लागत ~$5/माह होगी। काम पूरा होने पर लैब को नष्ट कर दें।
प्रत्येक एज़्योर टेराफ़ॉर्म स्टैक एक ही तरीके से शुरू होता है: azurerm प्रोवाइडर को पिन करें (हम ~> 4.0, वर्तमान स्थिर लाइन का उपयोग करते हैं), और features ब्लॉक घोषित करें। खाली features {} ब्लॉक आवश्यक है — इसके बिना azurerm प्रारंभ नहीं होगा। यह टेराफ़ॉर्म-लेखक स्तर पर सबसे अधिक परीक्षणित AZ-900 प्रोविज़निंग कन्वेंशन है।
random_id संसाधन वैश्विक रूप से अद्वितीय स्टोरेज अकाउंट नाम उत्पन्न करने के लिए मानक पैटर्न है — एज़्योर स्टोरेज अकाउंट नाम 3-24 अक्षर, लोअरकेस अल्फ़ान्यूमेरिक और सभी एज़्योर सब्सक्रिप्शन में वैश्विक रूप से अद्वितीय होने चाहिए। random_id टकराव से बचने के लिए नाम में 4 हेक्स अंक जोड़ता है।
terraform {
required_version = ">= 1.5"
required_providers {
azurerm = {
source = "hashicorp/azurerm"
version = "~> 4.0"
}
random = {
source = "hashicorp/random"
version = "~> 3.6"
}
}
}
provider "azurerm" {
features {}
}
resource "random_id" "suffix" {
byte_length = 2
}
locals {
tags = {
Project = "certlabpro-az-900"
ManagedBy = "terraform"
}
}प्रत्येक एज़्योर संसाधन एक रिसोर्स ग्रुप में रहता है — एज़्योर का सार्वभौमिक संगठनात्मक कंटेनर। RGs मुफ्त, क्षेत्रीय होते हैं (RG स्वयं केवल मेटाडेटा है, लेकिन इसकी सामग्री डिफ़ॉल्ट रूप से इसके क्षेत्र तक सीमित होती है), और बल्क-प्रबंधन की इकाई है: एक RG को हटाने से उसके अंदर की हर चीज़ हट जाती है।
AZ-900 के क्लाउड कॉन्सेप्ट्स और एज़्योर आइडेंटिटी, गवर्नेंस, प्राइवेसी, कंप्लायंस डोमेन इस अवधारणा पर जोर देते हैं — रिसोर्स ग्रुप RBAC रोल असाइनमेंट, एज़्योर पॉलिसी और लागत ट्रैकिंग के लिए सबसे छोटी स्कोपिंग इकाई हैं। प्रत्येक RG को टैग करें।
resource "azurerm_resource_group" "main" {
name = "certlabpro-az-900-rg"
location = "eastus"
tags = local.tags
}एज़्योर स्टोरेज मूलभूत डेटा सेवा है जिसका उपयोग प्रत्येक AZ-900 वर्कलोड करता है। हम एक स्टैंडर्ड टियर LRS (स्थानीय रूप से रिडंडेंट) अकाउंट बनाते हैं — यह सबसे सस्ता रेप्लिकेशन विकल्प है, और गैर-उत्पादन लैब वर्कलोड के लिए AZ-900-अपेक्षित डिफ़ॉल्ट है। सार्वजनिक नेटवर्क पहुँच अक्षम है, केवल HTTPS लागू किया गया है, और न्यूनतम TLS संस्करण 1.2 पर सेट है (AZ-900 सुरक्षा डोमेन स्पष्ट रूप से इन तीनों को बुनियादी-स्वच्छता डिफ़ॉल्ट के रूप में परीक्षण करता है)।
account_kind = "StorageV2" वर्तमान सामान्य-उद्देश्य v2 अकाउंट है; AZ-900 कभी-कभी आपको इसे BlobStorage (पुराना, केवल-ब्लॉब) और FileStorage (प्रीमियम फाइलें) से अलग करने के लिए कहेगा। किसी भी "सामान्य-उद्देश्य" प्रश्न के लिए StorageV2 सही उत्तर है।
resource "azurerm_storage_account" "main" {
name = "certlabpro${random_id.suffix.hex}"
resource_group_name = azurerm_resource_group.main.name
location = azurerm_resource_group.main.location
account_tier = "Standard"
account_replication_type = "LRS"
account_kind = "StorageV2"
https_traffic_only_enabled = true
min_tls_version = "TLS1_2"
public_network_access_enabled = false
allow_nested_items_to_be_public = false
tags = local.tags
}AZ-900 बिलिंग अवधारणाओं के लिए एक पूरा डोमेन (एज़्योर मूल्य निर्धारण, SLAs, और जीवनचक्र) समर्पित करता है। उस क्षेत्र में सबसे अधिक परीक्षण किया गया व्यावहारिक कलाकृति एक बजट अलर्ट है — लागत प्रबंधन की वह तंत्र जो आपको ईमेल करती है जब वास्तविक या अनुमानित खर्च एक सीमा को पार कर जाता है।
हमने बजट को चरण 2 में बनाए गए रिसोर्स ग्रुप तक सीमित कर दिया है, जिसका अर्थ है कि यह इस लैब में (और केवल इस लैब में) सब कुछ ट्रैक करता है। अधिसूचना बजट के 80% पर ट्रिगर होती है — एक आवर्ती AZ-900 प्रश्न पैटर्न है "100% के बजाय 80% क्यों?" — क्योंकि 80% पर आपके पास कार्रवाई करने का अभी भी समय होता है; 100% पर पैसा पहले ही खर्च हो चुका होता है।
terraform apply चलाने से पहले you@example.com को अपने वास्तविक पते से बदल दें।
resource "azurerm_consumption_budget_resource_group" "main" {
name = "certlabpro-az-900-budget"
resource_group_id = azurerm_resource_group.main.id
amount = 10
time_grain = "Monthly"
time_period {
start_date = "2026-06-01T00:00:00Z"
}
notification {
enabled = true
threshold = 80
operator = "GreaterThan"
threshold_type = "Actual"
contact_emails = ["you@example.com"]
}
}एक मानक terraform destroy इस लैब में सब कुछ हटा देता है। एक एज़्योर-विशिष्ट नोट: जब आप रिसोर्स ग्रुप को नष्ट करते हैं, तो एज़्योर उसके अंदर के हर संसाधन को एक साइड-इफ़ेक्ट के रूप में हटा देता है — भले ही टेराफ़ॉर्म को उनके बारे में पता न हो। यह AZ-900-परीक्षित क्लीनअप प्रिमिटिव है: यदि आप कभी भी किसी RG में क्या है, इसका ट्रैक खो देते हैं, तो RG को हटाने से पूरा सबट्री नष्ट हो जाता है। साझा सब्सक्रिप्शन पर इसका सावधानी से उपयोग करें।
नए सब्सक्रिप्शन में स्टोरेज अकाउंट में डिफ़ॉल्ट रूप से 14-दिनों की सॉफ्ट-डिलीट प्रतिधारण होती है; वह नामस्थान उस विंडो के लिए आरक्षित रहता है। यदि आप तुरंत लैब को फिर से चलाते हैं तो आपको नाम-टकराव का सामना करना पड़ सकता है — random_id प्रत्यय आमतौर पर इससे बचाता है लेकिन इसकी गारंटी नहीं है।
AZ-900 एक विस्तृत सेवा सतह को कवर करता है — एज़्योर वर्चुअल मशीन (हम इसे वैचारिक रूप से छूते हैं लेकिन इस न्यूनतम लैब में वास्तव में एक VM तैनात नहीं करते हैं), ऐप सर्विस, एज़्योर फ़ंक्शंस, AKS, एज़्योर SQL, कॉसमॉस DB, एज़्योर AD/एंट्रा ID, एज़्योर पॉलिसी, एज़्योर ब्लूप्रिंट्स, ARM टेम्प्लेट, बिसेप, प्राइसिंग कैलकुलेटर, TCO कैलकुलेटर, एज़्योर एडवाइजर, सर्विस हेल्थ, और भी बहुत कुछ।
हम सबसे छोटे यथार्थवादी पहले वर्कलोड पर टिके रहते हैं क्योंकि परीक्षा व्यापक वैचारिक प्रवाह का परीक्षण करती है, न कि गहरी सेवा-दर-सेवा प्रोविज़निंग का। ऊपर उल्लिखित चार स्तंभ — रिसोर्स ग्रुप (शासन), स्टोरेज अकाउंट (सेवाएं + सुरक्षा डिफ़ॉल्ट), लागत प्रबंधन (मूल्य निर्धारण), और निहित कंप्यूट लक्ष्य — वह नींव हैं जिससे अन्य सभी AZ-900 अवधारणाएँ जुड़ी हुई हैं।
सेवा-दर-सेवा कवरेज के लिए, इस सर्ट पेज के ब्राउज़ और Editorial अनुभाग देखें — वे AZ-900 दायरे में हर नामित सेवा को संदर्भित करते हैं।