До недавнего времени для развертывания ресурса для Azure с использованием шаблона ARM и PowerShell у вас было два варианта;
Командлет New-AZDELOPLEMENTS для объектов масштаба подписки. Это позволяет вам развернуть группы ресурсов, определения политики, пользовательских ролей …
И командлет New-AzresourceGrupДом, для объектов группы ресурсов. С помощью этого командлета вы можете развернуть учетную запись хранения, VM, VNET, управление API, все, что нуждается в группе ресурсов …. И да, ресурсная группа тоже.
Но если вы обновили модуль PowerShell AZ, недавно, вы, возможно, отмечали несколько новых командлетов для развертывания ресурсов для Azure.
А также немногие другие, чтобы проверить ваши развертывания
Давайте попробуем эти новые инструменты развертывания.
AZDELOYMENTY и AZRESOURCEGROUPDeploblement все еще здесь Но сейчас у нас есть еще три варианта, AzSubscriptionDeplower, AzManagementGrupDeploblement и AztenantDeploblement.
Во-первых, отметьте, почему у нас есть новая азазоляция и новая azsubscriptionDeyment? У них такая же цель и делает то же самое, развернуть объекты на уровне подписки.
Для расследования вам необходимо открыть папку Module Az.ressources и открыть AZ. Resources.psd1 файл. Вы увидите, что * -azSubscriptionDeplyment — псевдоним, другое имя для существующего командлета, New-Azdeploblement.
Шаблон ARM BELED развертывает группу ресурсов в текущей подписке
{ "$schema": "https://schema.management.azure.com/schemas/2018-05-01/subscriptionDeploymentTemplate.json#", "contentVersion": "1.0.0.0", "parameters": {}, "variables": {}, "resources": [ { "type": "Microsoft.Resources/resourceGroups", "apiVersion": "2018-05-01", "location": "westeurope", "name": "az-deploy-demo-rg", "properties": {} } ] }
Развернуть шаблон
New-AzSubscriptionDeployment -Name DevToDemo -Location westeurope -TemplateFile .\subscription.json
Но вы сможете использовать New-Azdeployment
В отличие от New-AzSubscriptionDeployment, New-AzmanagementGrupDeploblement не является псевдонимом. Это простой командлет, предназначенный для развертывания объектов на уровне группы управления. На этом сфере применения вы можете развернуть азазубечные политики, задания ролей и чертежи.
Пример, чтобы создать пользовательскую политику и назначить его в группу управления, вы можете использовать этот шаблон.
{ "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "1.0.0.0", "parameters": {}, "variables": { "mgScope": "/providers/Microsoft.Management/managementGroups/group01" }, "resources": [ { "type": "Microsoft.Authorization/policyDefinitions", "name": "policy-marseille", "apiVersion": "2016-12-01", "properties": { "policyType": "Custom", "parameters": { }, "policyRule": { "if": { "field": "location", "equals": "francesouth" }, "then": { "effect": "audit" } } } }, { "type": "Microsoft.Authorization/policyAssignments", "name": "location-lock", "apiVersion": "2016-12-01", "dependsOn": [ "policy-marseille" ], "properties": { "scope": "[variables('mgScope')]", "policyDefinitionId": "[concat(variables('mgScope'), '/providers/', 'Microsoft.Authorization/policyDefinitions/', 'policy-marseille')]" } } ] }
Шаблон создает пользовательскую политику, аудит по политике, если какой-либо ресурс расположен в Марселе, Франция Юг (нет злоба здесь, это место, которое я родился), тогда он присваивает эту политику в группу управления.
Чтобы развернуть его, используйте новый командлет New-AzManagementGroupДоборуются
New-AzManagementGroupDeployment -Name Mars13-policy-assign -Location northeurope -TemplateFile .\managementGroup.json -ManagementGroupId group01
Нам нужно предоставить имя для развертывания (это необязательно, но рекомендуется идентифицировать развертывание позже), файл шаблона (и параметры шаблона, если таковые имеются) и идентификатор группы управления. Этот идентификатор является уникальным именем группы управления, которую вы дали при создании группы.
Эти новые командлеты открывают новый подход к определению подписки и группы управления кодом, используя те же принципы, и тот же набор инструментов, который мы используем для развертывания ресурсов.
Тот факт, что New-AzsubscriptionDeplyment — псевдоним нового азазоидата, заставляет меня считаться, что в ближайшее время будет какое-то перерыв на этот модуль.
Оригинал: «https://dev.to/omiossec/arm-deployment-new-azure-deployment-options-with-powershell-gjn»