Рубрики
Uncategorized

Развертывание ARM, новые варианты развертывания Azure с PowerShell

До недавнего времени для развертывания ресурса для Azure с помощью шаблона ARM и PowerShell у вас было два варианта … Помечено с лазурным, PowerShell, DevOps, IAC.

До недавнего времени для развертывания ресурса для 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»