Alıştırma - Azure Resource Manager şablonu oluşturma ve dağıtma

Tamamlandı

Dekont

Bir korumalı alanı ilk kez etkinleştirip koşulları kabul ettiğinizde Microsoft hesabı, Microsoft Learn Sandbox adlı yeni bir Azure diziniyle ilişkilendirilir. Ayrıca Concierge Aboneliği adlı özel bir aboneliğe eklenmiş olursunuz.

Bu alıştırmada bir Azure Resource Manager şablonu (ARM şablonu) oluşturacak, bunu Azure'a dağıtacak ve ardından parametreleri ve çıkışları eklemek için bu ARM şablonunu güncelleştireceksiniz.

Bu alıştırmada Visual Studio Code için Azure Resource Manager Araçları kullanılmaktadır. Alıştırmaya başlamadan önce bu uzantıyı Visual Studio Code'a yüklediğinizden emin olun.

ARM şablonunu oluşturma

  1. Visual Studio Code’u açın ve azuredeploy.json adlı yeni bir dosya oluşturun.

  2. Visual Studio Code ARM şablonu uzantısı, şablonları geliştirmenize yardımcı olan kod parçacıklarıyla yapılandırılmış olarak gelir. Boş bir şablon ekleyerek başlayalım. Dosyanın ilk satırına arm girin.

  3. Visual Studio Code, arm! ile başlayan çeşitli olası seçenekleri otomatik olarak görüntüler. Azure Resource Manager (ARM) şablonunu seçin. Visual Studio Code, şablonunuzun şemalarını ve dillerini otomatik olarak işler.

    Visual Studio Code azuredeploy.json file showing the snippet choices for Azure Resource Manager templates.

    Dosyanız şimdi şöyle görünür:

    {
      "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
      "contentVersion": "1.0.0.0",
      "parameters": {},
      "functions": [],
      "variables": {},
      "resources": [],
      "outputs": {}
    }
    

    Bu dosyada, bir ARM şablonunun önceki ünitede açıkladığımız tüm bölümleri olduğuna dikkat edin.

  4. Ctrl+S tuşlarına basarak değişiklikleri dosyaya kaydedin.

ARM şablonunu Azure’a dağıtma

Bu şablonu Azure’a dağıtmak için, Visual Studio Code terminalinden Azure hesabınızda oturum açmanız gerekir. Azure CLI araçlarını yüklediğinizden ve korumalı alanı etkinleştirirken kullandığınız hesapla oturum açtığınızdan emin olun.

  1. Terminal penceresi açmak için Terminal > Yeni Terminal'i seçin.

  2. Terminal penceresinin komut çubuğunda bash yazıyorsa, çalışmak için doğru kabuğa sahip olursunuz ve sonraki bölüme atlayabilirsiniz.

  3. Aksi takdirde açılan listeyi seçin ve Varsayılan Profili Seç'i seçin.

    Screenshot of the Visual Studio Code terminal window with bash in the drop-down.

  4. Git Bash'i seçin.

    Screenshot of the Visual Studio Code terminal window showing the select shell drop-down.

  5. Bash kabuğu terminal penceresini açmak için Terminal > Yeni Terminal'i seçin.

Azure'da oturum açma

  1. Terminal penceresinde bu komutu çalıştırarak Azure'da oturum açın.

    az login
    
  2. Hesabınızda oturum açabilmeniz için bir tarayıcı açılır. Oturum açtıktan sonra, terminalde bu hesapla ilişkilendirilmiş aboneliklerin listesi görüntülenir. Korumalı alanı etkinleştirdiyseniz Concierge Aboneliği adlı bir tane görmeniz gerekir. Alıştırmanın geri kalanında bunu kullanın.

  3. Bash kabuğunda aşağıdaki komutu çalıştırarak bu oturumda çalıştırdığınız tüm Azure CLI komutları için varsayılan aboneliği ayarlayın.

    az account set --subscription "Concierge Subscription"
    

    Yakın zamanda birden fazla korumalı alan kullandıysanız, birden fazla Concierge Aboneliği listelenebilir. Öyleyse, varsayılan aboneliği tanımlamak ve ayarlamak için sonraki iki adımı kullanın.

    1. Concierge Abonelik kimliklerini almak için aşağıdaki komutu çalıştırın.
     az account list \
       --refresh \
       --query "[?contains(name, 'Concierge Subscription')].id" \
       --output table
    
    1. Aşağıdaki komutu çalıştırarak varsayılan aboneliği ayarlayın ve {abonelik kimliğiniz} yerine en son Concierge Abonelik Kimliği yazın.
    az account set --subscription {your subscription ID}
    

Varsayılan kaynak grubunu ayarlama

Varsayılan kaynak grubunu korumalı alanı etkinleştirdiğinizde oluşturulan kaynak grubuna ayarlayarak bu alıştırmadaki Azure CLI komutlarından bu parametreyi atlayabilirsiniz. Kaynak grubunu ayarlamak için aşağıdaki komutu çalıştırın.

az configure --defaults group=<rgn>[sandbox resource group name]</rgn>

Şablonu Azure’a dağıtma

ARM şablonunu Azure'a dağıtmak için aşağıdaki komutları çalıştırın. ARM şablonunda henüz herhangi bir kaynak olmadığından oluşturulan hiçbir kaynak görmezsiniz. Başarılı bir dağıtım almanız gerekir.

templateFile="azuredeploy.json"
today=$(date +"%d-%b-%Y")
DeploymentName="blanktemplate-"$today

az deployment group create \
 --name $DeploymentName \
 --template-file $templateFile

Önceki kodun en üst bölümü Azure CLI değişkenlerini ayarlar; bunlar dağıtılacak şablon dosyasının yolu ve dağıtımın adıdır. Alttaki bölüm olan az deployment group create, şablonu Azure'a dağıtır. Dağıtım adının son ek olarak tarihle birlikte olduğuna blanktemplate dikkat edin.

Terminalde görmeniz Running... gerekir.

Bu şablonu Azure’a dağıtmak için, Visual Studio Code terminalinden Azure hesabınızda oturum açmanız gerekir. Visual Studio Code Uzantıları'ndan Azure PowerShell Araçları'nı yüklediğinizden emin olun ve korumalı alanı etkinleştiren hesapta oturum açın.

  1. Komut çubuğunda Terminal Yeni Terminal'i seçerek > bir PowerShell penceresi açın.

  2. Terminal penceresinin komut çubuğunda PowerShell görünüyorsa, çalışacağınız doğru kabuğa sahip olursunuz ve sonraki bölüme atlayabilirsiniz.

    Screenshot of the Visual Studio Code terminal window with pwsh terminal selected.

    1. Aksi takdirde, aşağı oku seçin ve açılan listede PowerShell'i seçin. Bu seçenek yoksa Varsayılan Profili Seç'i seçin.

    2. Giriş alanında aşağı kaydırın ve PowerShell'i seçin.

      Screenshot of the Visual Studio Code terminal window showing the select shell drop-down.

    3. Bir PowerShell terminal penceresi açmak için Terminal > Yeni Terminal'i seçin.

Azure PowerShell kullanarak Azure’da oturum açma

  1. Visual Studio Code’daki terminalden, Azure’da oturum açmak için şu komutu çalıştırın. Hesabınızda oturum açabilmeniz için bir tarayıcı açılır.

    Connect-AzAccount
    

    Bahşiş

    Az PowerShell modülü, AzureRM'nin yerini alır ve Azure ile etkileşime geçmek için kullanılması önerilen sürümdür.

  2. Korumalı alanı etkinleştirmek için kullandığınız hesabı kullanarak oturum açın. Oturum açtıktan sonra Visual Studio Code, terminal penceresinde hesabınızla ilişkili abonelikleri listeler. Korumalı alanı etkinleştirdiyseniz içeren "name": "Concierge Subscription"bir kod bloğu görürsünüz. Bu, alıştırmanın geri kalanında kullanılacak aboneliktir.

Bu oturumdaki tüm PowerShell komutları için varsayılan aboneliği ayarlayın

  1. Aboneliklerinizi ve kimliklerini almak için aşağıdaki komutu çalıştırın. Abonelik kimliği, ikinci sütundur. Concierge Aboneliği'ni arayın ve ikinci sütundaki değeri kopyalayın. Cf49fbbc-217c-4eb6-9eb5-a6a6c68295a0 gibi görünür:

    Get-AzSubscription
    
  2. Etkin aboneliğinizi Concierge Aboneliği olarak değiştirmek için {Your subscription ID} yerine önceki adımda kopyaladığınız komutu çalıştırın.

    $context = Get-AzSubscription -SubscriptionId {Your subscription ID}
    Set-AzContext $context
    
  3. Varsayılan kaynak grubunun korumalı alan ortamında sizin için oluşturulan kaynak grubu olmasını sağlamak için aşağıdaki komutu çalıştırın. Bu eylem bu alıştırmadaki kalan Azure PowerShell komutlarında bu parametreyi atlamanızı sağlar.

    Set-AzDefault -ResourceGroupName <rgn>[sandbox resource group name]</rgn>
    

Şablonu Azure’a dağıtma

Aşağıdaki komutları çalıştırarak şablonu Azure'a dağıtın. ARM şablonunun henüz herhangi bir kaynağı yoktur, bu nedenle kaynakların oluşturulduğunu görmezsiniz.

$templateFile="azuredeploy.json"
$today=Get-Date -Format "MM-dd-yyyy"
$deploymentName="blanktemplate-"+"$today"
New-AzResourceGroupDeployment `
  -Name $deploymentName `
  -TemplateFile $templateFile

Yukarıdaki kodun üst bölümü, dağıtım dosyasının yolunu ve dağıtımın adını içeren Azure PowerShell değişkenlerini ayarlar. Ardından komutu şablonu New-AzResourceGroupDeployment Azure'a dağıtır. Dağıtım adının son ek olarak tarihle birlikte olduğuna blanktemplate dikkat edin.

ARM şablonunuzu Azure'a dağıttığınızda Azure portalına gidin ve korumalı alan aboneliğinde olduğunuzdan emin olun. Bunu yapmak için, sayfanın sağ üst köşesinde avatarınızı seçin. Dizini değiştir’i seçin. Listede Microsoft Learn Korumalı Alan dizinini seçin.

  1. Kaynak menüsünde Kaynak grupları'nı seçin.

  2. [sandbox resource group name] kaynak grubunu seçin.

  3. Genel Bakış bölmesinde bir dağıtımın başarılı olduğunu görürsünüz.

    Azure portal interface for the resource group overview with the deployments section showing that one succeeded.

  4. Dağıtımın ayrıntılarını görmek için 1 Başarılı seçeneğini belirleyin.

    Azure portal interface for the deployments with the one deployment listed and a succeeded status.

  5. Hangi kaynakların dağıtıldığını görmek için seçin blanktemplate . Bu durumda, henüz şablonda bir kaynak belirtmediğinizden bu boş olur.

    Azure portal interface for the specific deployment with no resources listed.

  6. Sayfayı tarayıcınızda açık bırakın. Dağıtımları tekrar denetleyeceksiniz.

ARM şablonuna kaynak ekleme

Önceki görevde, nasıl boş bir şablon oluşturulup dağıtılacağını öğrendiniz. Şimdi gerçek bir kaynak dağıtmaya hazırsınız demektir. Bu görevde, Visual Studio Code için Azure Resource Manager Araçları uzantısından bir kod parçacığı kullanarak ARM şablonuna bir Azure depolama hesabı kaynağı ekleyeceksiniz.

  1. Visual Studio Code'daki azuredeploy.json dosyasında imlecinizi resources bloğundaki "resources":[],köşeli ayraçların içine yerleştirin.

  2. Köşeli ayraçların içine storage girin. İlgili kod parçacıklarının listesi görüntülenir. arm-storage öğesini seçin.

    Visual Studio Code arm-storage snippet shown under the typed word storage.

    Dosyanız şu şekilde görünür:

    {
      "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
      "contentVersion": "1.0.0.0",
      "parameters": {},
      "functions": [],
      "variables": {},
      "resources": [
        {
          "name": "storageaccount1",
          "type": "Microsoft.Storage/storageAccounts",
          "apiVersion": "2019-06-01",
          "tags": {
            "displayName": "storageaccount1"
          },
          "location": "[resourceGroup().location]",
          "kind": "StorageV2",
          "sku": {
            "name": "Premium_LRS",
            "tier": "Premium"
          }
        }
      ],
      "outputs": {}
    }
    

    Düzenlemeniz gereken değerler dosyanızın yeni bölümünde vurgulanır ve Sekme tuşuna basarak bunlarda gezinebilirsiniz.

    tags ve location özniteliklerinin doldurulduğuna dikkat edin. location özniteliği, kaynağın konumunu kaynak grubunun konumuna ayarlamak için bir işlev kullanır. Sonraki modülde etiketler ve işlevler hakkında bilgi edineceksiniz.

  3. Kaynak adı ve displayName değerlerini benzersiz bir değerle değiştirin (örneğin, learnexercise12321). Bu ad, Azure’ın tamamında benzersiz olmalıdır; bu nedenle size özgü benzersiz bir ad seçin.

  4. Sku name değerini, Premium_LRS değerinden Standard_LRS değerine değiştirin. tier değerini Standart değerine değiştirin. Visual Studio Code’un size IntelliSense’deki öznitelik değerleriniz için uygun seçenekleri sunduğuna dikkat edin. Bu çalışmayı görmek için tırnak işaretleri de dahil olmak üzere varsayılan değeri silin ve tırnak işaretleri girin.

    Screenshot of Visual Studio Code showing the IntelliSense choices for the name attribute of the storage SKU.

  5. Kaynak konumu, dağıtılacağı kaynak grubu konumuna ayarlanır. Burada varsayılan değeri değiştirmeyin.

  6. Dosyayı kaydedin.

Güncelleştirilmiş ARM şablonunu dağıtma

Burada, dağıtımın adını bu dağıtımın ne yaptığını daha iyi yansıtacak şekilde değiştireceksiniz.

Terminalde aşağıdaki Azure CLI komutlarını çalıştırın. Bu kod parçacığı daha önce kullandığınız kodla aynıdır ama dağıtımın adı değişmiştir.

templateFile="azuredeploy.json"
today=$(date +"%d-%b-%Y")
DeploymentName="addstorage-"$today

az deployment group create \
  --name $DeploymentName \
  --template-file $templateFile

Terminalde aşağıdaki Azure PowerShell komutlarını çalıştırın. Bu kod parçacığı daha önce kullandığınız kodla aynıdır ama dağıtımın adı değişmiştir.

$templateFile="azuredeploy.json"
$today=Get-Date -Format "MM-dd-yyyy"
$deploymentName="addstorage-"+"$today"
New-AzResourceGroupDeployment `
  -Name $deploymentName `
  -TemplateFile $templateFile

Dağıtımınızı denetleme

  1. Dağıtım tamamlandığında tarayıcınızda Azure portalına geri dönün. Kaynak grubunuza gidin; şimdi 2 Başarılı dağıtım olduğunu göreceksiniz. Bu bağlantıyı seçin.

    Her iki dağıtımın da listede olduğuna dikkat edin.

    Screenshot of the Azure portal interface for the deployments with the two deployments listed and succeeded statuses.

  2. addstorage seçeneğini belirleyin.

    Screenshot of the Azure portal interface for the specific deployment with one resource listed.

Depolama hesabının dağıtıldığına dikkat edin.