Erőforrások üzembe helyezése ARM-sablonokkal és Azure Resource Manager REST API-val

Ez a cikk azt ismerteti, hogyan helyezhet üzembe erőforrásokat az Azure-ban az Azure Resource Manager REST API-val azure Resource Manager-sablonokkal (ARM-sablonokkal).

Felveheti a sablont a kérelem törzsébe, vagy hivatkozhat egy fájlra. Fájl használata esetén ez lehet egy helyi vagy egy külső fájl, amely egy URI-on keresztül érhető el. Ha a sablon tárfiókban van, korlátozhatja a sablonhoz való hozzáférést, és az üzembe helyezés során megadhat egy közös hozzáférésű jogosultságkód (SAS) jogkivonatot.

Szükséges engedélyek

Bicep-fájl vagy ARM-sablon üzembe helyezéséhez írási joggal kell rendelkeznie az üzembe helyezett erőforrásokhoz, és hozzá kell férnie a Microsoft.Resources/deployments erőforrástípus összes műveletéhez. Egy virtuális gép üzembe helyezéséhez például szüksége van Microsoft.Compute/virtualMachines/write az engedélyekre és Microsoft.Resources/deployments/* az engedélyekre. A lehetőségelemzési műveletnek ugyanazok az engedélykövetelményei vannak.

A szerepkörök és engedélyek listáját megtalálja a Beépített Azure-szerepkörök című cikkben.

Üzembehelyezési hatókör

Az üzembe helyezést egy erőforráscsoportra, azure-előfizetésre, felügyeleti csoportra vagy bérlőre célozhatja. Az üzembe helyezés hatókörétől függően különböző parancsokat használ.

A cikkben szereplő példák erőforráscsoport-üzemelő példányokat használnak.

Üzembe helyezés a REST API-val

  1. Adja meg a gyakori paramétereket és fejléceket, beleértve a hitelesítési jogkivonatokat is.

  2. Ha nem létező erőforráscsoportba helyezi üzembe az üzembe helyezést, hozza létre az erőforráscsoportot. Adja meg az előfizetés azonosítóját, az új erőforráscsoport nevét és a megoldáshoz szükséges helyet. További információ: Erőforráscsoport létrehozása.

    PUT https://management.azure.com/subscriptions/<YourSubscriptionId>/resourcegroups/<YourResourceGroupName>?api-version=2020-06-01
    

    A kérelem törzse a következő:

    {
     "location": "West US",
     "tags": {
       "tagname1": "tagvalue1"
     }
    }
    
  3. A sablon üzembe helyezése előtt megtekintheti a sablon által a környezetben végrehajtott módosításokat. A lehetőségelemzési művelettel ellenőrizze, hogy a sablon végrehajtja-e a várt módosításokat. A What-if a sablont is ellenőrzi a hibák esetén.

  4. Sablon üzembe helyezéséhez adja meg az előfizetés azonosítóját, az erőforráscsoport nevét, az üzembe helyezés nevét a kérelem URI-jában.

    PUT https://management.azure.com/subscriptions/<YourSubscriptionId>/resourcegroups/<YourResourceGroupName>/providers/Microsoft.Resources/deployments/<YourDeploymentName>?api-version=2020-10-01
    

    A kérelem törzsében adjon meg egy hivatkozást a sablonra és a paraméterfájlra. A paraméterfájlról a Resource Manager-paraméterfájl létrehozása című cikk nyújt további információkat.

    Figyelje meg, hogy a modenövekményes értékre van állítva. A teljes üzembe helyezés futtatásához állítsa a Kész értéketmode. Legyen óvatos a teljes mód használatakor, mivel véletlenül törölheti a sablonban nem szereplő erőforrásokat.

    {
     "properties": {
       "templateLink": {
         "uri": "http://mystorageaccount.blob.core.windows.net/templates/template.json",
         "contentVersion": "1.0.0.0"
       },
       "parametersLink": {
         "uri": "http://mystorageaccount.blob.core.windows.net/templates/parameters.json",
         "contentVersion": "1.0.0.0"
       },
       "mode": "Incremental"
     }
    }
    

    Ha naplózni szeretné a válasz tartalmát, a kérés tartalmát vagy mindkettőt, vegye fel debugSetting a kérésbe.

    {
     "properties": {
       "templateLink": {
         "uri": "http://mystorageaccount.blob.core.windows.net/templates/template.json",
         "contentVersion": "1.0.0.0"
       },
       "parametersLink": {
         "uri": "http://mystorageaccount.blob.core.windows.net/templates/parameters.json",
         "contentVersion": "1.0.0.0"
       },
       "mode": "Incremental",
       "debugSetting": {
         "detailLevel": "requestContent, responseContent"
       }
     }
    }
    

    Beállíthatja a tárfiókot úgy, hogy közös hozzáférésű jogosultságkód (SAS) jogkivonatot használjon. További információ: Hozzáférés delegálása közös hozzáférésű jogosultságkóddal.

    Ha bizalmas értéket kell megadnia egy paraméterhez (például jelszóhoz), adja hozzá ezt az értéket egy kulcstartóhoz. Kérje le a kulcstartót az üzembe helyezés során az előző példában látható módon. További információ: Az Azure Key Vault használata biztonságos paraméterértékek átadásához az üzembe helyezés során.

  5. A sablonhoz és paraméterekhez tartozó fájlok csatolása helyett felveheti őket a kérelem törzsébe. Az alábbi példa a kérelem törzsét mutatja be a sablonnal és a paraméterrel:

    {
       "properties": {
       "mode": "Incremental",
       "template": {
         "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
         "contentVersion": "1.0.0.0",
         "parameters": {
           "storageAccountType": {
             "type": "string",
             "defaultValue": "Standard_LRS",
             "allowedValues": [
               "Standard_LRS",
               "Standard_GRS",
               "Standard_ZRS",
               "Premium_LRS"
             ],
             "metadata": {
               "description": "Storage Account type"
             }
           },
           "location": {
             "type": "string",
             "defaultValue": "[resourceGroup().location]",
             "metadata": {
               "description": "Location for all resources."
             }
           }
         },
         "variables": {
           "storageAccountName": "[format('{0}standardsa', uniquestring(resourceGroup().id))]"
         },
         "resources": [
           {
             "type": "Microsoft.Storage/storageAccounts",
             "apiVersion": "2022-09-01",
             "name": "[variables('storageAccountName')]",
             "location": "[parameters('location')]",
             "sku": {
               "name": "[parameters('storageAccountType')]"
             },
             "kind": "StorageV2",
             "properties": {}
           }
         ],
         "outputs": {
           "storageAccountName": {
             "type": "string",
             "value": "[variables('storageAccountName')]"
           }
         }
       },
       "parameters": {
         "location": {
           "value": "eastus2"
         }
       }
     }
    }
    
  6. A sablon üzembe helyezésének állapotának lekéréséhez használja az Üzembe helyezés – Lekérés lehetőséget.

    GET https://management.azure.com/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/{deploymentName}?api-version=2020-10-01
    

Üzembe helyezés AZ ARMClient használatával

Az ARMClient egy egyszerű parancssori eszköz az Azure Resource Manager API meghívásához. Az eszköz telepítéséhez lásd: ARMClient.

Az előfizetések listázása:

armclient GET /subscriptions?api-version=2021-04-01

Az erőforráscsoportok listázása:

armclient GET /subscriptions/<subscription-id>/resourceGroups?api-version=2021-04-01

Cserélje le <az előfizetés-azonosítót> az Azure-előfizetés-azonosítóra.

Erőforráscsoport létrehozása az USA középső régiójában:

armclient PUT /subscriptions/<subscription-id>/resourceGroups/<resource-group-name>?api-version=2021-04-01  "{location: 'central us', properties: {}}"

Másik lehetőségként a törzset egy CreateRg.json nevű JSON-fájlba is elhelyezheti:

{
  "location": "Central US",
  "properties": { }
}
armclient PUT /subscriptions/<subscription-id>/resourceGroups/<resource-group-name>?api-version=2021-04-01 '@CreateRg.json'

További információ : ARMClient: az Azure API parancssori eszköze.

Üzemelő példány neve

Az üzembe helyezéshez megadhat egy nevet, például ExampleDeployment: .

Minden alkalommal, amikor futtat egy üzemelő példányt, a rendszer hozzáad egy bejegyzést az erőforráscsoport üzembehelyezési előzményeihez az üzembe helyezés nevével. Ha egy másik üzembe helyezést futtat, és ugyanazt a nevet adja neki, a korábbi bejegyzés helyébe az aktuális üzemelő példány kerül. Ha egyedi bejegyzéseket szeretne fenntartani az üzembe helyezési előzményekben, adjon egyedi nevet minden üzemelő példánynak.

Egyedi név létrehozásához véletlenszerű számot rendelhet hozzá. Vagy adjon hozzá egy dátumértéket.

Ha ugyanabban az erőforráscsoportban futtat egyidejű üzembe helyezéseket ugyanazzal az üzembe helyezési névvel, csak az utolsó üzembe helyezés fejeződik be. A még nem befejezett névvel rendelkező üzemelő példányokat az utolsó üzembe helyezés váltja fel. Ha például egy nevű newStorage üzembe helyezést futtat, amely egy nevű storage1tárfiókot helyez üzembe, és ugyanakkor futtat egy másik nevű üzembe helyezést newStorage , amely egy nevű storage2tárfiókot helyez üzembe, akkor csak egy tárfiókot helyez üzembe. Az eredményként kapott tárfiók neve storage2.

Ha azonban futtat egy nevű newStorage üzembe helyezést, amely üzembe helyez egy nevű tárfiókot storage1, és közvetlenül a befejezése után futtat egy másik, nevű üzembe helyezést newStorage , amely üzembe helyez egy nevű storage2tárfiókot, akkor két tárfiókja van. Az egyik neve storage1, a másik pedig a neve storage2. De csak egy bejegyzése van az üzembe helyezési előzményekben.

Ha egyedi nevet ad meg minden üzemelő példányhoz, egyidejűleg futtathatja őket ütközés nélkül. Ha futtat egy nevű newStorage1 üzembe helyezést, amely üzembe helyez egy nevű tárfiókot storage1, és ugyanakkor futtat egy másik nevű üzembe helyezést newStorage2 , amely egy nevű storage2tárfiókot helyez üzembe, akkor két tárfiók és két bejegyzés szerepel az üzembe helyezési előzményekben.

Az egyidejű üzemelő példányokkal való ütközések elkerülése és az üzembe helyezési előzmények egyedi bejegyzéseinek biztosítása érdekében adjon egyedi nevet minden üzemelő példánynak.

Következő lépések