Inicio rápido: Usar Bicep para implementar una definición de aplicación administrada por Azure
En este inicio rápido se describe cómo usar Bicep para implementar una definición de aplicación administrada de Azure desde el catálogo de servicios. La definición del catálogo de servicios está disponible para los miembros de su organización.
Para implementar una definición de aplicación administrada desde su catálogo de servicios, realice las siguientes tareas:
- Use Bicep para desarrollar una plantilla que implemente una definición de aplicación administrada.
- Cree un archivo de parámetros para la implementación.
- Implemente la definición de aplicación administrada desde el catálogo de servicios.
Prerrequisitos
Para completar las tareas de este artículo, necesitará lo siguiente:
- Despliegue una definición con Quickstart: Utilice Bicep para crear y publicar una definición de Azure Managed Application.
- Una cuenta de Azure con una suscripción activa. Antes de comenzar, si no tiene una cuenta, cree una gratuita.
- Visual Studio Code con la extensión Herramientas de Azure Resource Manager más reciente. En el caso de los archivos de Bicep, instale la extensión de Bicep para Visual Studio Code.
- La versión más reciente de Azure PowerShell o CLI de Azure.
Obtener la definición de la aplicación administrada
Para obtener la definición de la aplicación administrada con Azure PowerShell, ejecute los siguientes comandos.
En Visual Studio Code, abra un nuevo terminal de PowerShell e inicie sesión en su suscripción de Azure.
Connect-AzAccount
Este comando abrirá el explorador predeterminado y le solicitará iniciar sesión en Azure. Para obtener más información, vaya a Inicio de sesión con Azure PowerShell.
En Azure PowerShell, obtenga la definición de la aplicación administrada. En este ejemplo, use el nombre del grupo de recursos bicepDefinitionGroup que se creó cuando implementó la definición de aplicación administrada.
Get-AzManagedApplicationDefinition -ResourceGroupName bicepDefinitionGroup
Get-AzManagedApplicationDefinition
enumera todas las definiciones disponibles del grupo de recursos especificado, como sampleBicepManagedApplication.
El siguiente comando analiza la salida para mostrar solo el nombre de definición y el nombre del grupo de recursos. Usará los nombres cuando implemente la aplicación administrada.
Get-AzManagedApplicationDefinition -ResourceGroupName bicepDefinitionGroup | Select-Object -Property Name, ResourceGroupName
Creación del archivo de Bicep
Abra Visual Studio Code y cree un archivo denominado deployServiceCatalog.bicep. Copie y pegue el siguiente código en el archivo y guárdelo.
@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
}
}
}
}
Para más información sobre el tipo de recurso, vaya a Microsoft.Solutions/applications.
Creación del archivo de parámetros
Abra Visual Studio Code y cree un archivo de parámetros denominado deployServiceCatalog-parameters.bicepparam. Copie y pegue el siguiente código en el archivo y guárdelo.
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'
Debe proporcionar varios parámetros para implementar la aplicación administrada:
Parámetro | Value |
---|---|
definitionName |
Nombre de la definición del catálogo de servicios. Este ejemplo usa sampleBicepManagedApplication. |
definitionRG |
Nombre del grupo de recursos donde se almacena la definición. En este ejemplo se usa bicepDefinitionGroup. |
managedAppName |
Nombre de la aplicación administrada implementada. En este ejemplo se usa sampleBicepManagedApp. |
mrgName |
Nombre único del grupo de recursos administrado que contiene los recursos implementados de la aplicación. El grupo de recursos se crea al implementar la aplicación administrada. Para crear un nombre de grupo de recursos administrado, ejecute los comandos que siguen esta lista de parámetros y use el valor para reemplazar el $mrgname marcador de posición en el archivo de parámetros. |
appServicePlanName |
Cree un nombre para el plan. Máximo de 40 caracteres alfanuméricos y guiones. Por ejemplo, demoAppServicePlan. Los nombres de plan de App Service deben ser únicos dentro de un grupo de recursos de la suscripción. |
appServiceNamePrefix |
Cree un prefijo para el nombre del plan. Máximo de 47 caracteres alfanuméricos o guiones. Por ejemplo, demoApp. Durante la implementación, el prefijo se concatena con una cadena única para crear un nombre único globalmente en Azure. |
Puede ejecutar los comandos siguientes para crear un nombre para el grupo de recursos administrado.
$mrgprefix = 'mrg-sampleBicepManagedApplication-'
$mrgtimestamp = Get-Date -UFormat "%Y%m%d%H%M%S"
$mrgname = $mrgprefix + $mrgtimestamp
$mrgname
Las variables $mrgprefix
y $mrgtimestamp
se concatenan y almacenan en la variable $mrgname
. El valor de la variable tiene el formato mrg-sampleBicepManagedApplication-20230512103059. Use el valor de variable $mrgname
cuando implemente la aplicación administrada.
Implementación de la aplicación administrada
Use Azure PowerShell o la CLI de Azure para crear un grupo de recursos e implementar la aplicación administrada.
New-AzResourceGroup -Name bicepApplicationGroup -Location westus
$deployparms = @{
ResourceGroupName = "bicepApplicationGroup"
TemplateFile = "deployServiceCatalog.bicep"
TemplateParameterFile = "deployServiceCatalog-parameters.bicepparam"
Name = "deployServiceCatalogApp"
}
New-AzResourceGroupDeployment @deployparms
La variable $deployparms
usa la expansión de PowerShell para mejorar la legibilidad de los valores de parámetro.
La implementación podría mostrar una advertencia de linter de Bicep de que la propiedad managedResourceGroupId
espera un identificador de recurso. Dado que el grupo de recursos administrado se crea durante la implementación, no hay un identificador de recurso disponible para la propiedad.
Vista de resultados
Una vez implementada la aplicación administrada del catálogo de servicios, tendrá dos nuevos grupos de recursos. Uno contiene la aplicación administrada El otro grupo de recursos contiene los recursos administrados que se han implementado. En este ejemplo, un App Service, un plan de App Service y una cuenta de almacenamiento.
Aplicación administrada
Una vez finalizada la implementación, puede comprobar el estado de la aplicación administrada.
Ejecute el comando siguiente para comprobar el estado de la aplicación administrada.
Get-AzManagedApplication -Name sampleBicepManagedApp -ResourceGroupName bicepApplicationGroup
Expanda las propiedades para facilitar la lectura de la información Properties
.
Get-AzManagedApplication -Name sampleBicepManagedApp -ResourceGroupName bicepApplicationGroup | Select-Object -ExpandProperty Properties
Recursos administrados
Puede ver los recursos implementados en el grupo de recursos administrados.
Para mostrar los recursos del grupo de recursos administrados, ejecute el siguiente comando. Ha creado la variable $mrgname
al crear los parámetros.
Get-AzResource -ResourceGroupName $mrgname
Para mostrar todas las asignaciones de roles para el grupo de recursos administrados.
Get-AzRoleAssignment -ResourceGroupName $mrgname
La definición de aplicación administrada que creó en los artículos de inicio rápido usó un grupo con la asignación de roles Propietario. Cree el grupo con el comando siguiente.
Get-AzRoleAssignment -ResourceGroupName $mrgname -RoleDefinitionName Owner
También puede enumerar las asignaciones de denegación para el grupo de recursos administrado.
Get-AzDenyAssignment -ResourceGroupName $mrgname
Limpieza de recursos
Cuando haya terminado con la aplicación administrada, podrá eliminar los grupos de recursos y eso eliminará todos los recursos creados. Por ejemplo, ha creado los grupos de recursos bicepApplicationGroup y un grupo de recursos gestionados con el prefijo mrg-bicepManagedApplication.
Al eliminar el grupo de recursos bicepApplicationGroup, se eliminan la aplicación gestionada, el grupo de recursos gestionados y todos los recursos de Azure.
El comando le pide que confirme que quiere quitar el grupo de recursos.
Remove-AzResourceGroup -Name bicepApplicationGroup
Si desea eliminar la definición de la aplicación gestionada, elimine los grupos de recursos que creó denominados packageStorageGroup y bicepDefinitionGroup.
Pasos siguientes
- Para obtener información sobre cómo crear y publicar los archivos de definición de una aplicación administrada usando Azure PowerShell, la CLI de Azure o el portal, vaya a Inicio rápido: Crear y publicar una definición de aplicación administrada de Azure.
- Para usar tu propio almacenamiento para crear y publicar los archivos de definición para una aplicación administrada, ve a Inicio rápido: trae tu propio almacenamiento para crear y publicar una definición de aplicación administrada de Azure.