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.
Az erőforráscsoportban való üzembe helyezéshez használja az Üzembe helyezés – Létrehozás parancsot. A kérést a rendszer a következő címre küldi:
PUT https://management.azure.com/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/{deploymentName}?api-version=2020-10-01
Az előfizetésben való üzembe helyezéshez használja az Üzembe helyezés – Létrehozás előfizetési hatókörben lehetőséget. A kérést a rendszer a következő címre küldi:
PUT https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.Resources/deployments/{deploymentName}?api-version=2020-10-01
Az előfizetési szintű üzembe helyezésekkel kapcsolatos további információkért lásd : Erőforráscsoportok és erőforrások létrehozása az előfizetés szintjén.
A felügyeleti csoportokban való üzembe helyezéshez használja az Üzembe helyezés – Létrehozás a felügyeleti csoport hatókörében lehetőséget. A kérést a rendszer a következő címre küldi:
PUT https://management.azure.com/providers/Microsoft.Management/managementGroups/{groupId}/providers/Microsoft.Resources/deployments/{deploymentName}?api-version=2020-10-01
A felügyeleti csoportszintű üzembe helyezésekkel kapcsolatos további információkért lásd : Erőforrások létrehozása a felügyeleti csoport szintjén.
A bérlőn való üzembe helyezéshez használja az üzembe helyezést – Létrehozás vagy frissítés bérlői hatókörben. A kérést a rendszer a következő címre küldi:
PUT https://management.azure.com/providers/Microsoft.Resources/deployments/{deploymentName}?api-version=2020-10-01
A bérlői szintű üzembe helyezésekkel kapcsolatos további információkért lásd : Erőforrások létrehozása bérlői szinten.
A cikkben szereplő példák erőforráscsoport-telepítéseket használnak.
Üzembe helyezés a REST API-val
Adja meg a gyakori paramétereket és fejléceket, beleértve a hitelesítési jogkivonatokat is.
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" } }
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.
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ítsamode
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.
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" } } } }
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 storage1
tárfiókot helyez üzembe, és ugyanakkor futtat egy másik, egy elnevezett storage2
tá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ű storage1
tárfiókot helyez üzembe, és közvetlenül a befejezése után futtat egy másik üzembe helyezést newStorage
, amely egy nevű storage2
tá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 storage1
tárfiókot helyez üzembe, és ugyanakkor futtat egy másik üzembe helyezést newStorage2
, amely egy elnevezett storage2
tá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
- Ha hiba esetén szeretne visszatérni egy sikeres üzembe helyezéshez, tekintse meg a sikeres üzembe helyezésre vonatkozó hiba visszaállítása című témakört.
- Az erőforráscsoportban található, de a sablonban nem definiált erőforrások kezelésének módjáról az Azure Resource Manager üzembe helyezési módjaiban olvashat.
- Az aszinkron REST-műveletek kezeléséről további információt az aszinkron Azure-műveletek nyomon követése című témakörben talál.
- A sablonokról további információt az ARM-sablonok szerkezetének és szintaxisának ismertetése című témakörben talál.