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

Befejeződött

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