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:
- Az Azure PowerShell telepítése
- Az Azure CLI telepítése Windows rendszeren
- Az Azure CLI telepítése Linux rendszeren
- Az Azure CLI telepítése macOS rendszeren
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.
- A Azure Portal válassza az Erőforráscsoport lehetőséget a bal oldali menüben.
- A Szűrés név alapján mezőben adja meg az erőforráscsoport nevét.
- Válassza ki az erőforráscsoport nevét.
- 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.