Öğretici: Bağımlı kaynaklara sahip ARM şablonu oluşturma
Birden çok kaynak dağıtmak ve dağıtım sırasını yapılandırmak için Azure Resource Manager şablonu (ARM şablonu) oluşturmayı öğrenin. Şablonu oluşturduktan sonra, Azure portal Azure Cloud Shell kullanarak şablonu dağıtırsınız.
Bu öğreticide bir depolama hesabı, bir sanal makine, bir sanal ağ ve ek birkaç bağımlı kaynak oluşturacaksınız. Kaynakların bazıları başka bir kaynak var olana kadar dağıtılamaz. Örneğin depolama hesabı ve ağ arabirimi oluşturulmadan sanal makineyi oluşturamazsınız. Bu ilişkiyi, kaynakların birini diğer kaynaklara bağımlı hale getirerek tanımlarsınız. Resource Manager, kaynaklar arasındaki bağımlılıkları değerlendirir ve bunları bağımlılık sırasına göre dağıtır. Resource Manager, birbirine bağımlı olmayan kaynakları paralel olarak dağıtır. Daha fazla bilgi için bkz. ARM şablonlarındaki kaynakları dağıtma sırasını belirleme.
Bu öğretici aşağıdaki görevleri kapsar:
- Hızlı başlangıç şablonunu açma
- Şablonu keşfetme
- Şablonu dağıtma
Azure aboneliğiniz yoksa başlamadan önce ücretsiz bir hesap oluşturun.
Kaynak bağımlılıklarını kapsayan bir Learn modülü için bkz. Gelişmiş ARM şablonu özelliklerini kullanarak karmaşık bulut dağıtımlarını yönetme.
Önkoşullar
Bu makaleyi tamamlamak için gerekenler:
Visual Studio Code ve Resource Manager Araçları uzantısı. Bkz. Hızlı Başlangıç: Visual Studio Code ile ARM şablonları oluşturma.
Güvenliği artırmak istiyorsanız sanal makine yönetici hesabı için oluşturulmuş bir parola kullanın. PowerShell veya Bash'te aşağıdaki komutu çalıştırmak için Azure Cloud Shell kullanabilirsiniz:
openssl rand -base64 32
Daha fazla bilgi edinmek için komutunu çalıştırarak
man openssl rand
el ile açılan sayfayı açın.Azure Key Vault şifreleme anahtarları ve diğer gizli dizileri korumak üzere tasarlanmıştır. Daha fazla bilgi için bkz. Öğretici: ARM şablonu dağıtımında Azure Key Vault tümleştirme. Ayrıca parolanızı üç ayda bir güncelleştirmenizi öneririz.
Hızlı başlangıç şablonunu açma
Azure Hızlı Başlangıç Şablonları, ARM şablonları için bir depodur. Sıfırdan bir şablon oluşturmak yerine örnek bir şablon bulabilir ve bunu özelleştirebilirsiniz. Bu öğreticide kullanılan şablonun adı: Deploy a simple Windows VM (Basit bir Windows sanal makinesi dağıtma).
Visual Studio Code DosyaAç'ıseçin>.
Dosya adı’na şu URL’yi yapıştırın:
https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/quickstarts/microsoft.compute/vm-simple-windows/azuredeploy.json
Dosyayı açmak için Aç’ı seçin.
Dosyanın bir kopyasını yerel bilgisayarınıza azuredeploy.json adıyla kaydetmek için Dosya>Farklı Kaydet'i seçin.
Şablonu keşfetme
Bu bölümdeki şablonu inceledikten sonra şu soruları yanıtlamaya çalışın:
- Bu şablonda kaç adet Azure kaynağı tanımlanmıştır?
- Kaynaklardan biri bir Azure depolama hesabıdır. Tanım, son öğreticide kullanılan tanıma benziyor mu?
- Bu şablonda tanımlanan kaynaklara ilişkin şablon başvurularını bulabilir misiniz?
- Kaynakların bağımlılıklarını bulabilir misiniz?
Visual Studio Code yalnızca içindeki
resources
birinci düzey öğeleri ve ikinci düzey öğeleri görene kadar öğeleri daraltın:Şablon tarafından tanımlanan altı kaynak vardır:
Microsoft.Compute/virtualMachines.
Şablonu özelleştirmeden önce şablon başvurularını gözden geçirmek yararlı olur.
İlk kaynağı genişletin. Bu bir depolama hesabı. Kaynak tanımını şablon başvurusu ile karşılaştırın.
İkinci kaynağı genişletin. Kaynak türü
Microsoft.Network/publicIPAddresses
şeklindedir. Kaynak tanımını şablon başvurusu ile karşılaştırın.Üçüncü kaynağı genişletin. Kaynak türü
Microsoft.Network/networkSecurityGroups
şeklindedir. Kaynak tanımını şablon başvurusu ile karşılaştırın.Dördüncü kaynağı genişletin. Kaynak türü
Microsoft.Network/virtualNetworks
şeklindedir:öğesi,
dependsOn
bir veya daha fazla kaynağa bağımlı olarak bir kaynağı tanımlamanızı sağlar. Bu kaynak başka bir kaynağa bağlıdır:Microsoft.Network/networkSecurityGroups
Beşinci kaynağı genişletin. Kaynak türü
Microsoft.Network/networkInterfaces
şeklindedir. Kaynak, iki farklı kaynağa bağımlıdır:Microsoft.Network/publicIPAddresses
Microsoft.Network/virtualNetworks
Altıncı kaynağı genişletin. Bu kaynak bir sanal makinedir. İki farklı kaynağa bağımlıdır:
Microsoft.Storage/storageAccounts
Microsoft.Network/networkInterfaces
Aşağıdaki diyagramda bu şablondaki kaynaklar ve bağımlılık bilgileri gösterilmiştir:
Bağımlılıkların belirtilmesi, Resource Manager'ın çözümü verimli bir şekilde dağıtmasını sağlar. Depolama hesabı, genel IP adresi ve sanal ağ herhangi bir bağımlılığa sahip olmadığından paralel olarak dağıtılır. Genel IP adresi ve sanal ağ dağıtıldıktan sonra ağ arabirimi oluşturulur. Resource Manager, diğer tüm kaynaklar dağıtıldıktan sonra sanal makineyi dağıtır.
Şablonu dağıtma
Cloud Shell oturum açın.
Sol üst köşedeki PowerShell'i veya Bash'i (CLI için) seçerek tercih ettiğiniz ortamı seçin. Geçiş yaptığınızda kabuğun yeniden başlatılması gerekir.
Dosyaları karşıya yükle/indir'i seçin ve sonra da Karşıya Yükle'yi seçin. Önceki ekran görüntüsüne bakın. Daha önce kaydettiğiniz dosyayı seçin. Dosyayı karşıya yükledikten sonra, dosyanın başarıyla karşıya yüklendiğini doğrulamak için komutunu ve
cat
komutunu kullanabilirsinizls
.Şablonu dağıtmak için aşağıdaki PowerShell betiğini çalıştırın.
echo "Enter a project name that is used to generate resource group name:" && read projectName && echo "Enter the location (i.e. centralus):" && read location && echo "Enter the virtual machine admin username:" && read adminUsername && echo "Enter the DNS label prefix:" && read dnsLabelPrefix && resourceGroupName="${projectName}rg" && az group create --name $resourceGroupName --location $location && az deployment group create --resource-group $resourceGroupName --template-file "$HOME/azuredeploy.json" --parameters adminUsername=$adminUsername dnsLabelPrefix=$dnsLabelPrefix
Sanal makinenin başarıyla oluşturulduğunu doğrulamak için RDP bağlantısı kurun.
Kaynakları temizleme
Artık Azure kaynakları gerekli değilse, kaynak grubunu silerek dağıttığınız kaynakları temizleyin.
- Azure portal soldaki menüden Kaynak grubu'na tıklayın.
- Ada göre filtrele alanına kaynak grubu adını girin.
- Kaynak grubu adını seçin. Kaynak grubunda toplam altı kaynak görürsünüz.
- Üstteki menüden Kaynak grubunu sil'i seçin.
Sonraki adımlar
Bu öğreticide sanal makine, sanal ağ ve bağımlı kaynaklar oluşturmak için bir şablon geliştirdiniz ve dağıttınız. Dağıtım öncesi/sonrası işlemleri gerçekleştirmek üzere dağıtım betiklerini kullanmayı öğrenmek için bkz: