Развертывание шаблонов на различных уровнях
Теперь вы понимаете различные область, с помощью которых можно развернуть ресурсы. А в этом уроке вы узнаете, как приступить к созданию файлов Bicep, используя которые вы сможете выполнять развертывания на этих уровнях.
Указание целевого уровня для файла Bicep
Bicep должен знать область, в которой развертывается файл. Эти сведения важны, поскольку Bicep необходимо убедиться, что развертываемые ресурсы допустимы для используемого уровня. Например, расширение Bicep для Visual Studio Code выдает предупреждение при попытке оределить ресурс на неподдерживаемом уровне.
Используйте ключевое слово targetScope
, чтобы сообщить Bicep о том, что ресурсы в файле относятся к определенному уровню. Ниже приведен пример файла Bicep, который развертывает ресурсы в группе управления область:
targetScope = 'managementGroup'
resource policyDefinition 'Microsoft.Authorization/policyDefinitions@2024-05-01' = {
// ...
}
Обратите внимание, что вы сообщаете Bicep развернуть ресурсы в область группы управления, но вы не указываете, какая группа управления. Вы указываете Bicep, в какой именно группе управления требуется развернуть ресурсы, развертывая шаблон. Командлеты Azure CLI и Azure PowerShell предоставляют аргументы для указания этих сведений.
Вы можете задать targetScope
для файла resourceGroup
значение , subscription
managementGroup
или tenant
. Если целевой область не указан, Bicep предполагает resourceGroup
область.
Создание групп ресурсов
Теперь, когда вы получили сведения о том, как создавать развертывания на разных уровнях, попробуйте применить полученные знания, чтобы создать группу ресурсов, которая является ресурсом с областью действия подписки.
targetScope = 'subscription'
resource resourceGroup 'Microsoft.Resources/resourceGroups@2024-07-01' = {
name: 'example-resource-group'
location: 'westus'
}
В этом примере обратите внимание, что файл Bicep имеет значение targetScope
subscription
, что означает, что Bicep считает все ресурсы в файле область по умолчанию.
Примечание.
Сведения о том, как использовать Bicep для создания подписок Azure и групп управления, будут представлены позже в этом модуле.
Отправка развертывания
При запуске развертывания необходимо сообщить Azure, на каком область его нужно развернуть. Это значит, что для каждой области развертывания используется другой командлет Azure CLI, как показано ниже:
Чтобы выполнить развертывание на этом уровне, выполните следующие действия. | Выполните следующую команду Azure CLI. |
---|---|
Группа ресурсов | az deployment group create |
Подписка | az deployment sub create |
Группа управления | az deployment mg create |
Клиент | az deployment tenant create |
При запуске развертывания необходимо сообщить Azure, на каком область его нужно развернуть. Это означает, что для каждой области развертывания используются разные командлеты PowerShell, как показано ниже:
Чтобы выполнить развертывание на этом уровне, выполните следующие действия. | Используйте этот командлет PowerShell: |
---|---|
Группа ресурсов | New-AzResourceGroupDeployment |
Подписка | New-AzSubscriptionDeployment |
Группа управления | New-AzManagementGroupDeployment |
Клиент | New-AzTenantDeployment |
Azure хранит метаданные о каждом развертывании. В отличие от развертываний в группе ресурсов область, при развертывании в других область azure есть некоторые сведения, которые позволяют Azure правильно хранить метаданные:
Расположение. Метаданные развертывания должны храниться в указанном расположении. Вам не нужно указывать расположение для групп ресурсов область развертывания, так как метаданные развертывания используют то же расположение, что и группа ресурсов. Однако при создании развертывания в подписке, группе управления или клиенте область необходимо указать регион Azure, в который хранятся метаданные развертывания. Ресурсы для развертывания в этих область не всегда создаются в том же расположении, которое вы указали для метаданных.
Имя. Все развертывания в Azure имеют имя. Вы можете отправить Azure запрос о развертывании, указав его имя. При использовании Azure CLI или Azure PowerShell для отправки развертывания вам не нужно указывать имя. Но если нет, имя файла шаблона используется в качестве имени развертывания.
Комбинация области развертывания, расположения и имени должна быть уникальной. Например, предположим, что вы создадите развертывание подписки с именем my-deployment
и используете расположение "Восточная часть США" для хранения метаданных. Вы не можете создать другое развертывание в той же подписке, my-deployment
даже если она находится в другом расположении, например в Западной Европе. Если вы создаете другое развертывание с именем в my-deployment
восточной части США, оно перезаписывает существующее развертывание.