Több Azure-beli üzemelő példány kezelése az Azure Resource Manager-sablonok címkéi és paraméterfájljai használatával
Az Azure Resource Manager- (ARM-) sablonoknak két funkciója van, amelyeket egynél több Azure-környezetben való üzembe helyezéskor szeretne használni. Ez a két funkció az erőforráscímkék és az ARM-sablonok paraméterfájljai.
Amikor további erőforrásokat ad hozzá a környezetekhez, gyorsan rá kell találnia, hogy meg kell határoznia ezeknek az erőforrásoknak a célját. Erre a célra az erőforrások egy tags:
attribútummal rendelkeznek. A további környezetekben való üzembe helyezés során hatékony módszerre van szükség a bemeneti paraméterek nyomon követéséhez. Az ARM-sablonok paraméterfájlokat használnak az egyes üzembehelyezési környezetek paramétereinek kezeléséhez.
Mi az az Azure-erőforráscímke?
Az erőforráscímkékkel az erőforrások felhasználási célját azonosító értékeket adhat meg. Hozzáadhat például olyan címkéket, amelyek felsorolják azt a környezetet és projektet, amelyhez egy erőforrás tartozik. Hozzáadhat olyan címkéket is, amelyek azonosítják a költséghelyet vagy az erőforrást birtokban lévő csapatot. Adjon hozzá olyan értékeket, amelyek a szervezet szempontjából jelentéssel bírnak.
A címke értéke megjelenik az Azure-erőforrás áttekintési oldalán és a költségjelentésekben.
Hogyan hozhatok létre Azure-erőforráscímkéket?
Minden erőforrás rendelkezik egy tags:
attribútummal. Eddig az alapértelmezett displayName
értéket használta a tárfiók címkéjéhez:
"tags": {
"displayName": "[parameters('storageName')]"
},
Ahhoz, hogy ez az attribútum hasznosabb legyen, meghatározhat egy paramétert, amely több információt tartalmaz, majd ezt a paramétert használja a tags:
attribútumban. Például létrehozhat egy paramétert, amely egy resourceTags
nevű objektumot tartalmaz:
"resourceTags": {
"type": "object",
"defaultValue": {
"Environment": "Dev",
"Project": "Inventory"
}
}
Itt létrehozott egy objektumot, amely egy környezetnév és egy projektnév értékeit tárolja, de bármit meghatározhat.
Ezután ezt a paramétert bármely olyan erőforráshoz használhatja, amely a Dev környezethez és az Inventory projekthez készült; például a tárfiókot.
"resources": [{
"name": "[variables('uniqueStorageName')]",
"type": "Microsoft.Storage/storageAccounts",
"apiVersion": "2019-06-01",
"tags": "[parameters('resourceTags')]",
...
}],
Mi az ARM-sablonok paraméterfájlja?
Az ARM-sablon paraméterfájlja olyan értékeket tartalmaz, amelyeket a sablon végrehajtásakor az ARM-sablonnak ad át. Ha minden olyan környezethez használ paraméterfájlt, amelyre arm-sablont helyez üzembe, győződjön meg arról, hogy a megfelelő paraméterek vannak beállítva az adott környezethez. Emellett arról is gondoskodik, hogy a paraméterértékek előzményei és kezelése verziókövetéssel nyomon követhető legyen.
Hogyan használhatom az ARM-sablonok paraméterfájljait?
Az ARM-sablonok paraméterfájljai olyan JSON-fájlok, amelyek paraméterértékeket tárolnak. Az ARM-sablonban eddig használt paraméterekhez például az alábbiak szerint hozhat létre sablonparaméterfájlt:
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"storagePrefix": {
"value": "storage"
},
"storageSKU": {
"value": "Standard_LRS"
},
"resourceTags": {
"value": {
"Environment": "Dev",
"Project": "Learn"
}
}
}
}
Ezt követően minden környezethez létrehozhat egy hasonló fájlt. Ezek a fájlok például azuredeploy.parameters.dev.json és azuredeploy.parameters.prod.json lehetnek, és különböző értékeket tartalmazhatnak a paraméterekhez.
Arm-sablon paraméterfájllal történő üzembe helyezéséhez adja meg a paraméterfájl elérési útját az üzembe helyezési parancsban. Az Azure CLI-ben a .--parameters {path to parameter file}
A PowerShellben a .-TemplateParameterFile {path to parameter file}
templateFile="{path-to-the-template-file}"
devParameterFile="{path-to-azuredeploy.parameters.dev.json}"
az group create \
--name myResourceGroupDev \
--location "East US"
az deployment group create \
--name devenvironment \
--resource-group myResourceGroupDev \
--template-file $templateFile \
--parameters $devParameterFile