Краткое руководство. Развертывание определения управляемого приложения Azure с помощью Bicep
В этом кратком руководстве описывается, как использовать Bicep для развертывания определения управляемого приложения Azure из каталога служб. Определение в каталоге служб доступно членам вашей организации.
Чтобы развернуть определение управляемого приложения из каталога служб, выполните следующие задачи:
- Используйте Bicep для разработки шаблона, который развертывает определение управляемого приложения.
- Создайте файл параметров для развертывания.
- Разверните определение управляемого приложения из каталога служб.
Необходимые компоненты
Чтобы выполнить задачи в этой статье, вам потребуется следующее:
- Развернуто определение с помощью краткого руководства. Используйте Bicep для создания и публикации определения управляемого приложения Azure.
- Учетная запись Azure с активной подпиской. Если у вас нет учетной записи, создайте бесплатную учетную запись, прежде чем начинать работу.
- Visual Studio Code с последней версией расширения средств Resource Manager. Для файлов Bicep установите расширение Bicep для Visual Studio Code.
- Последняя версия Azure PowerShell или Azure CLI.
Получение определения управляемого приложения
Чтобы получить определение управляемого приложения с помощью Azure PowerShell, выполните следующие команды.
В Visual Studio Code откройте новый терминал PowerShell и войдите в подписку Azure.
Connect-AzAccount
Команда открывает браузер по умолчанию и запрашивает вход в Azure. Дополнительные сведения см. в разделе "Вход с помощью Azure PowerShell".
Из Azure PowerShell получите определение управляемого приложения. В этом примере используйте имя группы ресурсов bicepDefinitionGroup , созданное при развертывании определения управляемого приложения.
Get-AzManagedApplicationDefinition -ResourceGroupName bicepDefinitionGroup
Get-AzManagedApplicationDefinition
перечисляет все доступные определения в указанной группе ресурсов, например sampleBicepManagedApplication.
Следующая команда анализирует выходные данные, чтобы отобразить только имя определения и имя группы ресурсов. Имена используются при развертывании управляемого приложения.
Get-AzManagedApplicationDefinition -ResourceGroupName bicepDefinitionGroup | Select-Object -Property Name, ResourceGroupName
Создание файла Bicep
Откройте Visual Studio Code и создайте имя файла deployServiceCatalog.bicep. Скопируйте и вставьте следующий код в файл и сохраните его.
@description('Region where the resources are deployed.')
param location string = resourceGroup().location
@description('Resource group name where the definition is stored.')
param definitionRG string
@description('Name of the service catalog definition.')
param definitionName string
// Parameters for the managed application's resource deployment
@description('Name of the managed application.')
param managedAppName string
@description('Name for the managed resource group.')
param mrgName string
@maxLength(40)
@description('Service plan name with maximum 40 alphanumeric characters and hyphens. Must be unique within a resource group in your subscription.')
param appServicePlanName string
@maxLength(47)
@description('Globally unique across Azure. Maximum of 47 alphanumeric characters or hyphens.')
param appServiceNamePrefix string
@description('Resource ID for the managed application definition.')
var appResourceId = resourceId('${definitionRG}', 'Microsoft.Solutions/applicationdefinitions', '${definitionName}')
@description('Creates the path for the managed resource group. The resource group is created during deployment.')
var mrgId = '${subscription().id}/resourceGroups/${mrgName}'
resource bicepServiceCatalogApp 'Microsoft.Solutions/applications@2021-07-01' = {
name: managedAppName
kind: 'ServiceCatalog'
location: location
properties: {
applicationDefinitionId: appResourceId
managedResourceGroupId: mrgId
parameters: {
appServicePlanName: {
value: appServicePlanName
}
appServiceNamePrefix: {
value: appServiceNamePrefix
}
}
}
}
Дополнительные сведения о типе ресурса см. в разделе Microsoft.Solutions/applications.
Создание файла параметров
Откройте Visual Studio Code и создайте файл параметров с именем deployServiceCatalog-parameters.bicepparam. Скопируйте и вставьте следующий код в файл и сохраните его.
using './deployServiceCatalog.bicep'
param definitionName = 'sampleBicepManagedApplication'
param definitionRG = 'bicepDefinitionGroup'
param managedAppName = 'sampleBicepManagedApp'
param mrgName = 'placeholder for managed resource group name'
param appServicePlanName = 'demoAppServicePlan'
param appServiceNamePrefix = 'demoApp'
Для развертывания управляемого приложения необходимо указать несколько параметров:
Параметр | Значение |
---|---|
definitionName |
Имя определения каталога служб. В этом примере используется sampleBicepManagedApplication. |
definitionRG |
Имя группы ресурсов, в которой хранится определение. В этом примере используется bicepDefinitionGroup. |
managedAppName |
Имя развернутого управляемого приложения. В этом примере используется sampleBicepManagedApp. |
mrgName |
Уникальное имя управляемой группы ресурсов, содержащей развернутые ресурсы приложения. Группа ресурсов создается при развертывании управляемого приложения. Чтобы создать имя управляемой группы ресурсов, выполните команды, следующие за этим списком параметров, и используйте $mrgname значение для замены заполнителя в файле параметров. |
appServicePlanName |
Создайте имя плана. Не более 40 буквенно-цифровых символов и дефисов. Например, demoAppServicePlan. Служба приложений имена планов должны быть уникальными в пределах группы ресурсов в подписке. |
appServiceNamePrefix |
Создайте префикс для имени плана. Не более 47 буквенно-цифровых символов или дефисов. Например, demoApp. Во время развертывания префикс объединяется с уникальной строкой для создания имени, которое глобально уникально в Azure. |
Чтобы создать имя управляемой группы ресурсов, можно выполнить следующие команды.
$mrgprefix = 'mrg-sampleBicepManagedApplication-'
$mrgtimestamp = Get-Date -UFormat "%Y%m%d%H%M%S"
$mrgname = $mrgprefix + $mrgtimestamp
$mrgname
$mrgtimestamp
Переменные $mrgprefix
объединяются и хранятся в переменной$mrgname
. Значение переменной находится в формате mrg-sampleBicepManagedApplication-20230512103059. Значение переменной $mrgname
используется при развертывании управляемого приложения.
Развертывание управляемого приложения
Используйте Azure PowerShell или Azure CLI для создания группы ресурсов и развертывания управляемого приложения.
New-AzResourceGroup -Name bicepApplicationGroup -Location westus
$deployparms = @{
ResourceGroupName = "bicepApplicationGroup"
TemplateFile = "deployServiceCatalog.bicep"
TemplateParameterFile = "deployServiceCatalog-parameters.bicepparam"
Name = "deployServiceCatalogApp"
}
New-AzResourceGroupDeployment @deployparms
Переменная $deployparms
использует splatting PowerShell для улучшения удобочитаемости значений параметров.
Развертывание может отобразить предупреждение Bicep linter о том, что managedResourceGroupId
свойство ожидает идентификатор ресурса. Так как во время развертывания создается управляемая группа ресурсов, идентификатор ресурса недоступен для свойства.
Показать результаты
После развертывания управляемого приложения из каталога служб будут созданы две группы ресурсов. Одна группа ресурсов содержит управляемое приложение. Другая группа ресурсов содержит развернутые управляемые ресурсы. В этом примере Служба приложений, Служба приложений плана и учетной записи хранения.
Управляемое приложение
После завершения развертывания можно проверить состояние управляемого приложения.
Выполните следующую команду, чтобы проверить состояние управляемого приложения.
Get-AzManagedApplication -Name sampleBicepManagedApp -ResourceGroupName bicepApplicationGroup
Разверните свойства, чтобы упростить чтение сведений Properties
.
Get-AzManagedApplication -Name sampleBicepManagedApp -ResourceGroupName bicepApplicationGroup | Select-Object -ExpandProperty Properties
Управляемые ресурсы
Ресурсы, развернутые в управляемой группе ресурсов, можно просмотреть.
Чтобы отобразить ресурсы управляемой группы ресурсов, выполните следующую команду. При создании параметров вы создали $mrgname
переменную.
Get-AzResource -ResourceGroupName $mrgname
Отображение всех назначений ролей для управляемой группы ресурсов.
Get-AzRoleAssignment -ResourceGroupName $mrgname
Определение управляемого приложения, созданное в статьях краткого руководства, использовало группу с назначением роли владельца. Группу можно просмотреть с помощью следующей команды.
Get-AzRoleAssignment -ResourceGroupName $mrgname -RoleDefinitionName Owner
Вы также можете перечислить назначения запрета для управляемой группы ресурсов.
Get-AzDenyAssignment -ResourceGroupName $mrgname
Очистка ресурсов
Завершив работу с управляемым приложением, вы можете удалить группы ресурсов и удалить все созданные ресурсы. Например, вы создали группы ресурсов bicepApplicationGroup и управляемую группу ресурсов с префиксом mrg-bicepManagedApplication.
При удалении группы ресурсов bicepApplicationGroup, управляемого приложения, управляемой группы ресурсов и всех ресурсов Azure удаляются.
В командной строке вы убедитесь, что вы хотите удалить группу ресурсов.
Remove-AzResourceGroup -Name bicepApplicationGroup
Если вы хотите удалить определение управляемого приложения, удалите группы ресурсов, созданные с именем packageStorageGroup и bicepDefinitionGroup.
Следующие шаги
- Чтобы узнать, как создать и опубликовать файлы определений для управляемого приложения с помощью Azure PowerShell, Azure CLI или портала, перейдите к краткому руководству. Создание и публикация определения управляемого приложения Azure.
- Чтобы использовать собственное хранилище для создания и публикации файлов определений для управляемого приложения, перейдите к краткому руководству. Создание и публикация определения управляемого приложения Azure.