Oktatóanyag: Helyi ARM-sablon üzembe helyezése

Megtudhatja, hogyan helyezhet üzembe Azure Resource Manager-sablont (ARM-sablont) a helyi gépről. A folyamat körülbelül 8 percet vesz igénybe.

Ez az oktatóanyag egy sorozat első része. A sorozat végighaladtával modulárissá teheti a sablont egy csatolt sablon létrehozásával, a csatolt sablont egy tárfiókban tárolhatja, és SAS-jogkivonat használatával biztonságossá teheti a csatolt sablont, és megtudhatja, hogyan hozhat létre DevOps-folyamatot sablonok üzembe helyezéséhez. Ez a sorozat a sablon üzembe helyezésére összpontosít. Ha meg szeretné tanulni a sablonfejlesztést, tekintse meg a kezdő oktatóanyagokat.

Eszközök lekérése

Először is győződjön meg arról, hogy rendelkezik a sablonok üzembe helyezéséhez szükséges eszközökkel.

Parancssori üzembe helyezés

A sablon üzembe helyezéséhez Azure PowerShell vagy Azure CLI szükséges. A telepítési utasításokért lásd:

A Azure PowerShell vagy az Azure CLI telepítése után győződjön meg arról, hogy először jelentkezik be. További segítségért lásd: Bejelentkezés – PowerShell vagy Bejelentkezés – Azure CLI.

Szerkesztő (nem kötelező)

A sablonok JSON-fájlok. A sablonok áttekintéséhez/szerkesztéséhez jó JSON-szerkesztőre van szükség. Javasoljuk, hogy a Visual Studio Code-ot használja a Resource Manager Tools bővítménnyel. Ha telepítenie kell ezeket az eszközöket, olvassa el a Rövid útmutató: ARM-sablonok létrehozása a Visual Studio Code-dal című témakört.

Sablon áttekintése

A sablon üzembe helyez egy tárfiókot, egy App Service-csomagot és egy webalkalmazást. Ha szeretné létrehozni a sablont, tekintse át a gyorsindítási sablonokról szóló oktatóanyagot. Az oktatóanyag elvégzéséhez azonban nem szükséges.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "projectName": {
      "type": "string",
      "minLength": 3,
      "maxLength": 11,
      "metadata": {
        "description": "Specify a project name that is used to generate resource names."
      }
    },
    "location": {
      "type": "string",
      "defaultValue": "[resourceGroup().location]",
      "metadata": {
        "description": "Specify a location for the resources."
      }
    },
    "storageSKU": {
      "type": "string",
      "defaultValue": "Standard_LRS",
      "allowedValues": [
        "Standard_LRS",
        "Standard_GRS",
        "Standard_RAGRS",
        "Standard_ZRS",
        "Premium_LRS",
        "Premium_ZRS",
        "Standard_GZRS",
        "Standard_RAGZRS"
      ],
      "metadata": {
        "description": "Specify the storage account type."
      }
    },
    "linuxFxVersion": {
      "type": "string",
      "defaultValue": "php|7.0",
      "metadata": {
        "description": "Specify the Runtime stack of current web app"
      }
    }
  },
  "variables": {
    "storageAccountName": "[format('{0}{1}', parameters('projectName'), uniqueString(resourceGroup().id))]",
    "webAppName": "[format('{0}WebApp', parameters('projectName'))]",
    "appServicePlanName": "[format('{0}Plan', parameters('projectName'))]"
  },
  "resources": [
    {
      "type": "Microsoft.Storage/storageAccounts",
      "apiVersion": "2023-01-01",
      "name": "[variables('storageAccountName')]",
      "location": "[parameters('location')]",
      "sku": {
        "name": "[parameters('storageSKU')]"
      },
      "kind": "StorageV2",
      "properties": {
        "supportsHttpsTrafficOnly": true
      }
    },
    {
      "type": "Microsoft.Web/serverfarms",
      "apiVersion": "2022-09-01",
      "name": "[variables('appServicePlanName')]",
      "location": "[parameters('location')]",
      "sku": {
        "name": "B1",
        "tier": "Basic",
        "size": "B1",
        "family": "B",
        "capacity": 1
      },
      "kind": "linux",
      "properties": {
        "perSiteScaling": false,
        "reserved": true,
        "targetWorkerCount": 0,
        "targetWorkerSizeId": 0
      }
    },
    {
      "type": "Microsoft.Web/sites",
      "apiVersion": "2022-09-01",
      "name": "[variables('webAppName')]",
      "location": "[parameters('location')]",
      "kind": "app",
      "properties": {
        "serverFarmId": "[resourceId('Microsoft.Web/serverfarms', variables('appServicePlanName'))]",
        "siteConfig": {
          "linuxFxVersion": "[parameters('linuxFxVersion')]"
        }
      },
      "dependsOn": [
        "[resourceId('Microsoft.Web/serverfarms', variables('appServicePlanName'))]"
      ]
    }
  ],
  "outputs": {
    "storageEndpoint": {
      "type": "object",
      "value": "[reference(resourceId('Microsoft.Storage/storageAccounts', variables('storageAccountName')), '2023-01-01').primaryEndpoints]"
    }
  }
}

Fontos

A tárfiókok nevének egyedinek kell lennie, 3 és 24 karakter közötti hosszúságúnak kell lennie, és csak számokat és kisbetűket kell használnia. A mintasablon változója storageAccountName a projectName paraméter legfeljebb 11 karakterét kombinálja egy 13 karakteres uniqueString értékkel.

Mentse a sablon másolatát a helyi számítógépre a .json kiterjesztéssel, például : azuredeploy.json. Ezt a sablont az oktatóanyag későbbi részében telepítheti.

Bejelentkezés az Azure-ba

Ha Azure PowerShell/Azure CLI-vel szeretne sablont üzembe helyezni, jelentkezzen be az Azure-beli hitelesítő adataival.

Connect-AzAccount

Ha több Azure-előfizetéssel rendelkezik, válassza ki a használni kívánt előfizetést. Cserélje le [SubscriptionID/SubscriptionName] a és a szögletes zárójeleket [] az előfizetés adataira:

Set-AzContext [SubscriptionID/SubscriptionName]

Erőforráscsoport létrehozása

Sablon üzembe helyezésekor meg kell adnia egy erőforráscsoportot, amely tartalmazni fogja az erőforrásokat. Az üzembe helyezési parancs futtatása előtt hozza létre az erőforráscsoportot az Azure CLI-vel vagy az Azure PowerShell-lel. Válassza a következő kódszakasz lapfüleit a Azure PowerShell és az Azure CLI közötti választáshoz. A cikkben szereplő CLI-példák a Bash-felülethez íródnak.

$projectName = Read-Host -Prompt "Enter a project name that is used to generate resource and resource group names"
$resourceGroupName = "${projectName}rg"

New-AzResourceGroup `
  -Name $resourceGroupName `
  -Location "Central US"

Sablon üzembe helyezése

A sablon üzembe helyezéséhez használjon egy vagy mindkét üzembe helyezési lehetőséget.

$projectName = Read-Host -Prompt "Enter the same project name"
$templateFile = Read-Host -Prompt "Enter the template file path and file name"
$resourceGroupName = "${projectName}rg"

New-AzResourceGroupDeployment `
  -Name DeployLocalTemplate `
  -ResourceGroupName $resourceGroupName `
  -TemplateFile $templateFile `
  -projectName $projectName `
  -verbose

A sablonok Azure PowerShell használatával történő üzembe helyezésével kapcsolatos további információkért lásd: Erőforrások üzembe helyezése ARM-sablonokkal és Azure PowerShell.

Az erőforrások eltávolítása

Törölje az üzembe helyezett erőforrásokat az erőforráscsoport törlésével.

  1. A Azure Portal válassza az Erőforráscsoport lehetőséget a bal oldali menüben.
  2. A Szűrés név alapján mezőben adja meg az erőforráscsoport nevét.
  3. Válassza ki az erőforráscsoport nevét.
  4. Válassza az Erőforráscsoport törlése lehetőséget a felső menüben.

Következő lépések

Megtanulta, hogyan helyezhet üzembe helyi sablont. A következő oktatóanyagban egy fő sablonra és egy csatolt sablonra bontja a sablont, és megtudhatja, hogyan tárolhatja és védheti meg a csatolt sablont.