Öğ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.

Resource Manager şablonundaki bağımlı kaynakların dağıtım sırasını gösteren diyagram.

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:

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).

  1. Visual Studio Code DosyaAç'ıseçin>.

  2. 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
    
  3. Dosyayı açmak için ’ı seçin.

  4. 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?
  1. Visual Studio Code yalnızca içindeki resourcesbirinci düzey öğeleri ve ikinci düzey öğeleri görene kadar öğeleri daraltın:

    Daraltılmış öğeler içeren bir ARM şablonu görüntüleyen Visual Studio Code ekran görüntüsü.

    Şablon tarafından tanımlanan altı kaynak vardır:

  2. İlk kaynağı genişletin. Bu bir depolama hesabı. Kaynak tanımını şablon başvurusu ile karşılaştırın.

    ARM şablonundaki depolama hesabı tanımını gösteren Visual Studio Code ekran görüntüsü.

  3. İkinci kaynağı genişletin. Kaynak türü Microsoft.Network/publicIPAddresses şeklindedir. Kaynak tanımını şablon başvurusu ile karşılaştırın.

    ARM şablonundaki genel IP adresi tanımını gösteren Visual Studio Code ekran görüntüsü.

  4. Üçüncü kaynağı genişletin. Kaynak türü Microsoft.Network/networkSecurityGroups şeklindedir. Kaynak tanımını şablon başvurusu ile karşılaştırın.

    ARM şablonundaki ağ güvenlik grubu tanımını gösteren Visual Studio Code ekran görüntüsü.

  5. Dördüncü kaynağı genişletin. Kaynak türü Microsoft.Network/virtualNetworks şeklindedir:

    ARM şablonunda dependsOn öğesiyle sanal ağ tanımını gösteren Visual Studio Code ekran görüntüsü.

    öğ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
  6. 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
  7. 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:

Visual Studio Code'de görüntülenen ARM şablonundaki kaynaklar arasındaki bağımlılık ilişkilerini gösteren diyagram.

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

  1. Cloud Shell oturum açın.

  2. 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.

    Dosyayı karşıya yükleme seçeneğinin vurgulandığı Azure portal Cloud Shell ekran görüntüsü.

  3. 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.

  4. Ş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
    
  5. 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.

  1. Azure portal soldaki menüden Kaynak grubu'na tıklayın.
  2. Ada göre filtrele alanına kaynak grubu adını girin.
  3. Kaynak grubu adını seçin. Kaynak grubunda toplam altı kaynak görürsünüz.
  4. Ü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: