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.
Az erőforráscsoportban való üzembe helyezéshez használja az Üzembe helyezés – Létrehozás lehetőséget. 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 a Központi telepítések – 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 a Központi telepítések – Létrehozás felügyeleti csoport hatókörét. 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és – Létrehozás vagy frissítés bérlői hatókörben parancsot. 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-üzemelő példányokat 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á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" } }
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.
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
nö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.
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 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ű storage1
tárfiókot helyez üzembe, és ugyanakkor futtat egy másik nevű üzembe helyezést newStorage
, amely egy nevű storage2
tá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ű storage2
tá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ű storage2
tá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
- Ha hiba esetén vissza szeretne állítani egy sikeres üzembe helyezést, olvassa el a Hiba visszaállítása a sikeres üzembe helyezésre 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 üzembehelyezési módok című témakörben 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.