Megosztás a következőn keresztül:


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

Ez a cikk azt ismerteti, hogyan használhatja az Azure Resource Manager REST API-t Azure Resource Manager-sablonokkal (ARM-sablonokkal) az erőforrások Azure-ban való üzembe helyezéséhez.

Felveheti a sablont a kérelem törzsébe, vagy hivatkozhat egy fájlra. Fájl használata esetén lehet helyi vagy külső fájl, amely egy URI-val érhető el. Ha a sablon egy tárfiókban van, korlátozhatja a sablonhoz való hozzáférést, és az üzembe helyezés során megadhatja a 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ég van rá és Microsoft.Resources/deployments/* engedélyekreMicrosoft.Compute/virtualMachines/write. A what-if 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.

Üzembe helyezé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-telepítéseket 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áscsoportban 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örnyezetében végzett 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 mode beállítás növekményes. A teljes üzembe helyezés futtatásához állítsa mode a Kész értékre. 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"
       }
     }
    }
    

    A tárfiókot beállíthatja közös hozzáférésű jogosultságkód (SAS) jogkivonat használatára. További információ: Hozzáférés delegálása megosztott hozzáférésű aláírással.

    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 a Központi telepítések – Get parancsot.

    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 tekintse meg az ARMClientet.

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ójával.

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 például egy nevet.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ést a rendszer lecseréli az aktuális üzembe helyezésre. Ha egyedi bejegyzéseket szeretne fenntartani az üzembe helyezési előzményekben, adjon egyedi nevet az egyes üzemelő példányoknak.

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ű központi telepíté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ő központi telepítéseket az utolsó üzembe helyezés váltja fel. Ha például egy olyan üzembe helyezést newStorage futtat, amely egy névvel ellátott storage1tárfiókot helyez üzembe, és ugyanakkor futtat egy másik, egy elnevezett storage2tárfiókot üzembe helyező üzembe newStorage helyezést, akkor csak egy tárfiókot helyez üzembe. Az eredményként kapott tárfiók neve storage2.

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

Ha egyedi nevet ad meg az egyes üzemelő példányoknak, egyidejűleg, ütközés nélkül futtathatja őket. Ha egy olyan üzembe helyezést newStorage1 futtat, amely egy névvel ellátott storage1tárfiókot helyez üzembe, és ugyanakkor futtat egy másik üzembe helyezést newStorage2 , amely egy elnevezett storage2tárfiókot helyez üzembe, akkor két tárfiókja és két bejegyzése van az üzembe helyezési előzményekben.

Az egyidejű üzembe helyezésekkel 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 üzembe helyezésnek.

Következő lépések