Azure Resource Manager Nasıl Çalışır?
Bir kaynak oluşturma isteğini ARM katmanı boyunca izleyin, kaynak gruplarını mantıksal kapsayıcılar olarak anlayın ve ARM'nin role dayalı erişimi ile denetim izini öğrenin.
Azure Resource Manager Nasıl Çalışır?, CoddyKit'te ücretsiz bir Azure Fundamentals dersidir. Bu, 4 dersinin 1. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Azure Fundamentals öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Azure Fundamentals kursu toplamda 4 dersten oluşur.
Azure Resource Manager Nedir?
Azure Resource Manager (ARM), Azure için dağıtım ve yönetim Service'idir. Azure portalında, CLI'da, PowerShell'de veya REST API'de gerçekleştirdiğiniz her işlem ARM üzerinden geçer. ARM, her Resource işlemini kimlik doğrulayan, yetkilendiren ve yönlendiren merkezi bir denetim düzlemi olarak çalışır.
ARM İstek Akışı
Bir kaynak oluşturmak için istek gönderdiğinizde ARM isteği yakalar, kimliğinizi Microsoft Entra ID aracılığıyla doğrular, RBAC izinlerini denetler, varsa Azure Policy kurallarını uygular ve ardından doğrulanmış isteği uygun kaynak sağlayıcısına iletir. Kaynak sağlayıcısı (örneğin, Microsoft.Compute) gerçek işlemi gerçekleştirir ve sonucu ARM'ye döndürür.
# Example: creating a VM via Azure CLI (routed through ARM)
az vm create \
--resource-group MyRG \
--name MyVM \
--image UbuntuLTS \
--admin-username azureuserKaynak Sağlayıcıları ve Kaynak Türleri
Azure hizmetleri, her biri Microsoft.Storage veya Microsoft.Network gibi bir ad alanıyla tanımlanan kaynak sağlayıcıları aracılığıyla sunulur. Her kaynak türü (örneğin, Microsoft.Storage/storageAccounts), örneklerini oluşturabilmeniz için önce aboneliğinizde kaydedilmelidir. Sağlayıcıların çoğu, ilgili hizmeti ilk kez kullandığınızda otomatik olarak kaydedilir.
# List registered resource providers
az provider list --query "[?registrationState=='Registered'].namespace" -o table
# Register a provider manually
az provider register --namespace Microsoft.InsightsMantıksal Kapsayıcılar Olarak Kaynak Grupları
Kaynak grubu, birbiriyle ilişkili Azure kaynaklarını barındıran mantıksal bir kapsayıcıdır. Bir gruptaki tüm kaynaklar aynı yaşam döngüsünü paylaşır; bunları birlikte dağıtabilir, güncelleyebilir ve silebilirsiniz. Kaynak grupları ayrıca RBAC atamaları ve maliyet takibi için varsayılan kapsam görevi görür. Her Azure kaynağı tam olarak bir kaynak grubuna ait olmalıdır.
# Create a resource group
az group create --name MyResourceGroup --location eastus
# List all resources in a resource group
az resource list --resource-group MyResourceGroup -o tableARM ve Rol Tabanlı Erişim Denetimi
ARM, Rol Tabanlı Erişim Denetimi (RBAC)'ni her kapsamda uygular: yönetim grubu, abonelik, kaynak grubu veya tek bir kaynak. Owner, Contributor ve Reader gibi yerleşik roller çoğu senaryoyu kapsar. ARM, rol atamalarını en yüksek kapsamdan aşağı doğru değerlendirir ve reddetme atamaları devralınan izinleri engelleyebilir.
# Assign Contributor role at resource group scope
az role assignment create \
--assignee user@contoso.com \
--role 'Contributor' \
--resource-group MyResourceGroupARM Denetim İzi
ARM üzerinden yönlendirilen her işlem Azure Activity Log'a kaydedilir. Etkinlik günlüğü, işlemi kimin gerçekleştirdiğini, hangi kaynağın etkilendiğini, işlemin ne zaman gerçekleştiğini ve başarılı mı yoksa başarısız mı olduğunu kaydeder. Etkinlik günlükleri varsayılan olarak 90 gün boyunca saklanır; daha uzun süre saklamak için bir Storage Account'a arşivlenebilir veya Log Analytics'e aktarılabilir.
# Query recent ARM operations in activity log
az monitor activity-log list \
--resource-group MyResourceGroup \
--max-events 10 \
--query '[].{time:eventTimestamp, caller:caller, operation:operationName.value, status:status.value}' \
-o tableBildirimsel ve Buyruklu Dağıtımlar
ARM hem bildirimsel hem de buyruklu dağıtım stillerini destekler. Bildirimsel dağıtımlar, istenen son durumu açıklamak için ARM şablonlarını veya Bicep'i kullanır; ARM bu duruma ulaşmak için gereken işlemleri belirler. Buyruklu dağıtımlarda CLI veya PowerShell komutları adım adım kullanılır. Bildirimsel dağıtımlar tekrarlanabilirlik, sürüm denetimi ve eşit-etkililik açısından tercih edilir.
# Imperative: create storage account step-by-step
az storage account create \
--name mystorageaccount \
--resource-group MyRG \
--location eastus \
--sku Standard_LRS
# Declarative: deploy via ARM template
az deployment group create \
--resource-group MyRG \
--template-file azuredeploy.json \
--parameters @azuredeploy.parameters.jsonDağıtım Modları: Complete ve Incremental
ARM şablonu dağıtımları iki modda çalışabilir. Incremental modu (varsayılan), şablonda tanımlanan kaynakları ekler veya günceller; grupta zaten bulunan ancak şablonda yer almayan kaynakları değiştirmez. Complete modu, kaynak grubunda bulunup şablonda tanımlanmayan kaynakları silerek grubun şablonla tam olarak eşleşmesini sağlar; dikkatli kullanın.
# Incremental deployment (default)
az deployment group create \
--resource-group MyRG \
--template-file azuredeploy.json \
--mode Incremental
# Complete deployment (deletes unlisted resources!)
az deployment group create \
--resource-group MyRG \
--template-file azuredeploy.json \
--mode CompleteARM Şablonu Yapısı
ARM şablonu, altı ana bölüm içeren bir JSON belgesidir: $schema (şablon sürümü), contentVersion, parameters (girdiler), variables (hesaplanan değerler), resources (dağıtılacaklar) ve outputs (döndürülecek değerler). Kaynak dizisi, her Azure kaynağı için bir nesne içerir; bu nesnelerin her biri türü, API sürümünü, adı, konumu ve özellikleri belirtir.
{
'$schema': 'https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#',
'contentVersion': '1.0.0.0',
'parameters': {},
'variables': {},
'resources': [
{
'type': 'Microsoft.Storage/storageAccounts',
'apiVersion': '2023-01-01',
'name': 'mystorageaccount',
'location': '[resourceGroup().location]',
'sku': { 'name': 'Standard_LRS' },
'kind': 'StorageV2'
}
],
'outputs': {}
}ARM'de Bağımlılık Yönetimi
Birden çok kaynak dağıtılırken ARM, bağımsız kaynakları varsayılan olarak paralel dağıtabilir ve böylece dağıtımları hızlandırır. Bir kaynak başka bir kaynağa bağlı olduğunda (örneğin, bir VM'nin NIC'ye, NIC'nin de bir VNet'e ihtiyaç duyması), bağımlılığı dependsOn ile açıkça bildirirsiniz. ARM, bağımlılık grafiğini çözümler ve işlemleri buna göre sıralar.
{
'type': 'Microsoft.Network/networkInterfaces',
'name': 'myNic',
'dependsOn': [
'[resourceId("Microsoft.Network/virtualNetworks", "myVNet")]'
],
'properties': {
'ipConfigurations': [{
'name': 'ipconfig1',
'properties': {
'subnet': {
'id': '[resourceId("Microsoft.Network/virtualNetworks/subnets", "myVNet", "mySubnet")]'
}
}
}]
}
}Dağıtım İçin What-If Analizi
Bir dağıtımı çalıştırmadan önce, ARM'nin gerçekleştireceği değişiklikleri gerçekten uygulamadan önizlemek için what-if işlemini kullanın. Çıktı, oluşturulacak, değiştirilecek veya silinecek kaynakları değişiklik türüne göre renklerle listeler. Bu özellik, özellikle complete modunda bir dağıtım çalıştırmadan veya üretim ortamlarında değişiklik yapmadan önce çok değerlidir.
# Preview changes before deploying
az deployment group what-if \
--resource-group MyRG \
--template-file azuredeploy.json \
--parameters @params.jsonHızlı Kontrol
Bu derste ele alınan Microsoft Azure Fundamentals (AZ-900) kavramlarını anlayıp anlamadığınızı test edin.
Ders Özeti
Bu derste şunları öğrendiniz: Azure Resource Manager tüm Azure kaynakları için merkezi yönetim katmanıdır, kaynak grupları aynı yaşam döngüsünü paylaşan kaynakları bir araya getiren mantıksal kapsayıcılardır ve ARM dağıtımları what-if önizleme desteğiyle incremental veya complete modunda çalıştırılabilir. Sırada ARM şablonları yazmayı inceleyeceğiz.
Sıkça Sorulan Sorular
“Azure Resource Manager Nasıl Çalışır?” dersi ücretsiz mi?
Evet — “Azure Resource Manager Nasıl Çalışır?” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Azure Fundamentals kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Azure Fundamentals kursu toplamda 4 dersten oluşur.
“Azure Resource Manager Nasıl Çalışır?” dersinde ne öğreneceğim?
Bir kaynak oluşturma isteğini ARM katmanı boyunca izleyin, kaynak gruplarını mantıksal kapsayıcılar olarak anlayın ve ARM'nin role dayalı erişimi ile denetim izini öğrenin. Azure Fundamentals ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Azure Fundamentals öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Azure Fundamentals, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 1. dersidir.
“Azure Resource Manager Nasıl Çalışır?” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Azure Fundamentals dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Azure Fundamentals dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Azure Resource Manager Nasıl Çalışır?
- ARM Şablonları Yazma
- Bicep: Modern Azure IaC
- Azure'da Terraform