Краткое руководство. Развертывание определения Управляемого приложения Azure с помощью Bicep
В этом кратком руководстве описывается, как с помощью Bicep развернуть определение Управляемого приложения Azure из каталога служб. Определения в каталоге служб доступны членам вашей организации.
Чтобы развернуть определение управляемого приложения из каталога служб, выполните следующие действия.
- Используйте Bicep для разработки шаблона, который развертывает определение управляемого приложения.
- Создайте файл параметров для развертывания.
- Разверните определение управляемого приложения из каталога служб.
Предварительные требования
Для выполнения задач, описанных в этой статье, вам потребуется:
- Краткое руководство по созданию и публикации определения управляемого приложения в каталоге служб с помощью Bicep .
- Учетная запись 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 получите определение управляемого приложения. В этом примере используйте имя группы ресурсов bicepDefinitionRG , созданное при развертывании определения управляемого приложения.
Get-AzManagedApplicationDefinition -ResourceGroupName bicepDefinitionRG
Get-AzManagedApplicationDefinition
список всех доступных определений в указанной группе ресурсов, например sampleBicepManagedApplication.
Следующая команда анализирует выходные данные, чтобы отобразить только имя определения и имя группы ресурсов. Имена используются при развертывании управляемого приложения.
Get-AzManagedApplicationDefinition -ResourceGroupName bicepDefinitionRG | 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
@maxLength(11)
@description('Use only lowercase letters and numbers and a maximum of 11 characters.')
param storageAccountNamePrefix string
@allowed([
'Premium_LRS'
'Standard_LRS'
'Standard_GRS'
])
@description('The options are Premium_LRS, Standard_LRS, or Standard_GRS')
param storageAccountType 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
}
storageAccountNamePrefix: {
value: storageAccountNamePrefix
}
storageAccountType: {
value: storageAccountType
}
}
}
}
Дополнительные сведения о типе ресурса см. в статье Microsoft.Solutions/applications.
Создание файла параметров
Откройте Visual Studio Code и создайте файл параметров с именем deployServiceCatalog.parameters.json. Скопируйте и вставьте следующий код в файл и сохраните его.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"definitionName": {
"value": "sampleBicepManagedApplication"
},
"definitionRG": {
"value": "bicepDefinitionRG"
},
"managedAppName": {
"value": "sampleBicepManagedApp"
},
"mrgName": {
"value": "<placeholder for managed resource group name>"
},
"appServicePlanName": {
"value": "demoAppServicePlan"
},
"appServiceNamePrefix": {
"value": "demoApp"
},
"storageAccountNamePrefix": {
"value": "demostg1234"
},
"storageAccountType": {
"value": "Standard_LRS"
}
}
}
Для развертывания управляемого приложения необходимо указать несколько параметров:
Параметр | Значение |
---|---|
definitionName |
Имя определения каталога служб. В этом примере используется sampleBicepManagedApplication. |
definitionRG |
Имя группы ресурсов, в которой хранится определение. В этом примере используется bicepDefinitionRG. |
managedAppName |
Имя развернутого управляемого приложения. В этом примере используется sampleBicepManagedApp. |
mrgName |
Уникальное имя управляемой группы ресурсов, содержащей развернутые ресурсы приложения. Группа ресурсов создается при развертывании управляемого приложения. Чтобы создать имя управляемой группы ресурсов, можно выполнить команды, следующие за этим списком параметров. |
appServicePlanName |
Создайте имя плана. Не более 40 буквенно-цифровых символов и дефисов. Например, demoAppServicePlan. Служба приложений имена планов должны быть уникальными в пределах группы ресурсов в вашей подписке. |
appServiceNamePrefix |
Создайте префикс для имени плана. Не более 47 буквенно-цифровых символов или дефисов. Например, demoApp. Во время развертывания префикс объединяется с уникальной строкой, чтобы создать глобально уникальное имя в Azure. |
storageAccountNamePrefix |
Используйте только строчные буквы и цифры и не более 11 символов. Например, demostg1234. Во время развертывания префикс объединяется с уникальной строкой, чтобы создать глобально уникальное имя в Azure. |
storageAccountType |
Доступны следующие параметры: Premium_LRS, Standard_LRS и Standard_GRS. |
Вы можете выполнить следующие команды, чтобы создать имя для управляемой группы ресурсов.
$mrgprefix = 'mrg-sampleBicepManagedApplication-'
$mrgtimestamp = Get-Date -UFormat "%Y%m%d%H%M%S"
$mrgname = $mrgprefix + $mrgtimestamp
$mrgname
$mrgprefix
Переменные и $mrgtimestamp
объединяются и сохраняются в переменной $mrgname
. Значение переменной имеет формат mrg-sampleBicepManagedApplication-20230512103059. Значение переменной $mrgname
используется при развертывании управляемого приложения.
Развертывание управляемого приложения
Используйте Azure PowerShell или Azure CLI, чтобы создать группу ресурсов и развернуть управляемое приложение.
New-AzResourceGroup -Name bicepAppRG -Location westus3
New-AzResourceGroupDeployment `
-ResourceGroupName bicepAppRG `
-TemplateFile deployServiceCatalog.bicep `
-TemplateParameterFile deployServiceCatalog.parameters.json
В развертывании может отображаться предупреждение анализатора кода Bicep о том, что managedResourceGroupId
свойство ожидает идентификатор ресурса. Так как управляемая группа ресурсов создается во время развертывания, идентификатор ресурса для свойства недоступен.
Просмотр результатов
После развертывания управляемого приложения из каталога служб будут созданы две группы ресурсов. Одна группа ресурсов содержит управляемое приложение. Другая группа ресурсов содержит развернутые управляемые ресурсы. В этом примере используется Служба приложений, план Служба приложений и учетная запись хранения.
Управляемое приложение
После завершения развертывания можно проверка состояние управляемого приложения.
Выполните следующую команду, чтобы проверка состояние управляемого приложения.
Get-AzManagedApplication -Name sampleBicepManagedApp -ResourceGroupName bicepAppRG
Разверните свойства, чтобы упростить чтение сведений Properties
.
Get-AzManagedApplication -Name sampleBicepManagedApp -ResourceGroupName bicepAppRG | Select-Object -ExpandProperty Properties
Управляемые ресурсы
Вы можете просмотреть ресурсы, развернутые в управляемой группе ресурсов.
Чтобы отобразить ресурсы управляемой группы ресурсов, выполните следующую команду. Переменная была создана $mrgname
при создании параметров.
Get-AzResource -ResourceGroupName $mrgname
Отображение всех назначений ролей для управляемой группы ресурсов.
Get-AzRoleAssignment -ResourceGroupName $mrgname
В определении управляемого приложения, созданном в статьях с кратким руководством, используется группа с назначением роли владелец. Группу можно просмотреть с помощью следующей команды.
Get-AzRoleAssignment -ResourceGroupName $mrgname -RoleDefinitionName Owner
Вы также можете перечислить запрет назначений для управляемой группы ресурсов.
Get-AzDenyAssignment -ResourceGroupName $mrgname
Очистка ресурсов
Завершив работу с управляемым приложением, вы можете удалить группы ресурсов и удалить все созданные ресурсы. Например, вы создали группы ресурсов bicepAppRG и управляемую группу ресурсов с префиксом mrg-bicepManagedApplication.
При удалении группы ресурсов bicepAppRG удаляется управляемое приложение, управляемая группа ресурсов и все ресурсы Azure.
Команда предложит подтвердить удаление группы ресурсов.
Remove-AzResourceGroup -Name bicepAppRG
Если вы хотите удалить определение управляемого приложения, удалите созданные группы ресурсов с именами packageStorageRG и bicepDefinitionRG.
Дальнейшие действия
- Сведения о создании и публикации файлов определений для управляемого приложения с помощью Azure PowerShell, Azure CLI или портала см. в статье Краткое руководство. Создание и публикация определения управляемого приложения Azure.
- Чтобы использовать собственное хранилище для создания и публикации файлов определений для управляемого приложения, перейдите к статье Краткое руководство. Использование собственного хранилища для создания и публикации определения управляемого приложения Azure.