Необходимо ли вам строить инфраструктуру в Azure? Вы рассматривали ARM-шаблоны и думали: “Вау, выглядит сложно”? Поскольку многие жаловались на сложность создания ARM-шаблонов, Microsoft разработала уровень абстракции под названием Azure Bicep.
В этом руководстве вы узнаете, как начать с нуля. Вы узнаете, как сделать все, начиная от настройки среды разработки и заканчивая развертыванием вашего первого шаблона Bicep!
Давайте начнем!
Предварительные требования
Этот учебник будет практическим демонстрационным материалом. Если вы хотите следовать за ним, убедитесь, что у вас есть следующее:
- Windows 10 – Большинство демонстраций в этом учебнике будут работать на других операционных системах, но все демонстрации будут использовать Windows 10.
- Visual Studio Code – В этом учебнике будет использована версия 1.60.2.
- Группа ресурсов Azure для развертывания – В этом учебнике будет использоваться группа ресурсов с именем ATA.
Что такое Azure Bicep?
Bicep – это язык, специфичный для области, который упрощает создание шаблонов ARM. Можно представить Bicep как слой абстракции над шаблонами ARM. ARM использует JSON и может стать сложным, особенно для крупных развертываний.
Майкрософт решила создать Bicep, чтобы уменьшить сложности и улучшить опыт разработки. Это не новый язык; думайте о нем скорее как о улучшении шаблонов ARM в формате JSON.
Настройка среды разработки Bicep
Для начала разработки шаблонов Bicep вам потребуется настроить среду, которая поможет вам достичь наилучших результатов. Для этого у вас есть несколько инструментов. Давайте сначала настроим необходимую среду, включая расширение Bicep для VS Code, CLI Bicep и, при необходимости, модули Azure PowerShell.
Установка расширения Bicep для VS Code
VS Code – отличный инструмент разработки для создания шаблонов Bicep. Для этого Microsoft предоставляет расширение VS Code, чтобы облегчить создание шаблонов Bicep. Давайте начнем создавать среду разработки, подготовив VS Code.
Откройте Visual Studio Code и нажмите на кнопку Расширения.

В строке поиска введите “bicep”. Вы увидите одно расширение Bicep. Когда это произойдет, нажмите на Установить. Через несколько моментов VS Code установит расширение Bicep.

Хотя в следующем разделе будет предоставлен шаблон Bicep для копирования/вставки, несомненно, у вас будут времена, когда вам нужно будет создавать шаблоны Bicep с нуля. Расширение Bicep в VS Code пригодится здесь, особенно благодаря его функциям интеллектуального анализа.
Обратите внимание, что если вы откроете файл с расширением .bicep в VS Code, VS Code попытается предоставить вам быстрые клавиши. Например, вы создаете ресурсы Azure с помощью ключевого слова resource
в шаблоне Bicep. С установленным расширением Bicep VS Code понимает это.

Выбор одного из предоставленных вариантов меню автоматически создает шаблон для заполнения, а необходимость запоминать точный синтаксис отпадает.

Точка (.
) – еще один удобный быстрый способ при создании шаблонов Bicep. Введя это в разделе properties, например, вы увидите все доступные свойства для учетной записи хранилища.

Установка Bicep CLI
После создания необходимо вызвать шаблоны Bicep с помощью Bicep CLI. Прежде чем пытаться установить Bicep CLI, проверьте, установлен ли он. В зависимости от версии Azure CLI, которую у вас установили, у вас может уже быть установлен Bicep CLI. Чтобы проверить, откройте консоль PowerShell или терминал и проверьте версию Bicep CLI.
Если у вас установлен Bicep CLI, вы увидите сообщение о версии, как показано ниже.

Если вы видите сообщение об ошибке о том, что Bicep CLI не найден, выполните подкоманду install
для установки Bicep CLI.
Теперь вы увидите вывод, как показано ниже. Это подтверждает, что Bicep CLI успешно установлен и готов к использованию.

В качестве альтернативного способа установки вы также можете установить Bicep CLI через установщик Bicep для Windows.
Создание шаблона Bicep для развертывания учетной записи хранилища
Вы можете развернуть некоторые сложные ресурсы Azure с использованием Bicep, но давайте начнем медленно. Для вашего первого шаблона Bicep создадим простой аккаунт хранения Azure, который вы затем сможете развернуть в Azure с использованием как Azure CLI, так и PowerShell в следующем разделе.
1. Откройте VS Code и создайте новый файл с именем main.bicep. Вы не обязаны давать файлу точно такое имя, как здесь, но, следуя примеру Terraform, общепринято называть шаблон main с расширением .bicep.
2. Скопируйте и вставьте нижеуказанный код Bicep в файл и сохраните. В этом шаблоне содержатся различные атрибуты, составляющие шаблон Bicep.
Сначала вы увидите некоторые общие атрибуты для всех шаблонов Bicep:
- Идентификатор ресурса (
resource myStorage
) – указывает Bicep создать новый ресурс с именемmyStorage
. Это имя идентифицирует конкретный ресурс внутри шаблона Bicep. Это имя не является именем ресурса, созданного в Azure. Microsoft.Storage/storageAccounts@2019-06-01
– Определяет тип, состоящий из поставщика ресурсовMicrosoft.Storage
, типа ресурса (storageAccounts
) и версии API(2019-06-01)
для использования.name
– Имя ресурса, как оно отображается в Azure (обратите внимание на правила и ограничения для именования ресурсов Azure.)location
– Регион Azure, в котором создается ресурс.
Вы также увидите некоторые атрибуты, специфичные для ресурсного типа storageAccounts
:
SKU
– SKU учетной записи хранилища (Standard_LRS
), определенный в свойствеname
.kind
– Тип учетной записи хранилища (StorageV2).properties
– Различные ресурсоспецифичные свойства, которые не имеют собственного раздела, такие какaccessTier
в этом примере. Эти свойства такие же, какие вы найдете в шаблонах ARM.
Развертывание шаблона Bicep с помощью PowerShell
Как уже упоминалось ранее, вы можете развертывать шаблоны Bicep одним из двух способов: через Azure CLI и модуль Azure PowerShell. Давайте сначала развернем шаблон Bicep с помощью PowerShell.
Убедитесь, что у вас установлен модуль Azure PowerShell и вы аутентифицированы в Azure, прежде чем начинать этот раздел.
Развертывание ресурсов Azure с помощью шаблонов Bicep идентично развертыванию шаблонов ARM. Microsoft по сути добавила поддержку языка Bicep к многим существующим командлетам PowerShell ARM, таким как New-AzResourceGroupDeployment.
В консоли PowerShell вызовите развертывание новой группы ресурсов с помощью командлета New-AzResourceGroupDeployment
, указав путь к шаблону Bicep и ResourceGroupName
для развертывания. Вы заметите, что можете использовать шаблон Bicep точно так же, как и шаблон ARM.
Если развертывание прошло успешно, вы увидите следующий вывод в вашей сессии PowerShell с свойством ProvisioningState, отображающимся как успешное. Вот и все!

Чтобы убедиться, что ресурс был успешно создан, войдите в Портал Azure, перейдите в свою группу ресурсов, и вы увидите в этой группе ресурсов новый созданный аккаунт хранения.

Если вы следуете за нами и создали аккаунт хранения как демонстрацию, не забудьте удалить его! Обратите внимание, что ResourceName
совпадает с name
, указанным в шаблоне Bicep.
Теперь вы увидите следующий вывод.

Развертывание шаблона Bicep с помощью Azure CLI
Для завершения этого учебного пособия давайте рассмотрим развертывание только что созданного вами шаблона Bicep с помощью Azure CLI.
Убедитесь, что у вас установлен Azure CLI версии 2.2.0+ и вы вошли в систему перед началом этого раздела.
С открытым окном PowerShell или другим терминалом вызовите развертывание ARM с помощью команды az deployment group create
. Эта команда выполняет развертывание ARM так же, как и в PowerShell. Обязательно укажите resource-group
для развертывания, а также шаблон Bicep, созданный ранее, с помощью параметра template-file
.
Если вы видите, что provisioningState равен Succeeded, как показано ниже, это означает, что ARM прочитал шаблон Bicep и выполнил все инструкции!


Не забудьте очистить ресурс с помощью команды
az resource delete -g ATA -n ata2021bicepdiskstorage --resource-type "Microsoft.Storage/storageAccounts"
Заключение
Теперь у вас есть среда разработки для Azure Bicep и созданный ресурс в Azure, какой будет ваш следующий шаг? Может быть, посмотреть, что предлагает Microsoft Learn по Bicep?
Возможно, провести демонстрацию вашим коллегам о том, как Bicep может помочь вашей организации?