Inicio rápido: Usar Bicep para implementar una definición de aplicación administrada por Azure
Artikulua
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:
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.
Azure PowerShell
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 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.
Para obtener la definición de la aplicación administrada con la CLI de Azure, ejecute los siguientes comandos.
En Visual Studio Code, abra una nueva sesión de terminal de Bash e inicie sesión en su suscripción de Azure. Por ejemplo, si tiene Git instalado, seleccione Git Bash.
Azure CLI
az login
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 la CLI de Azure.
En la CLI de Azure, 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.
Azure CLI
az managedapp definition list --resource-group bicepDefinitionGroup
El comando 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.
Azure CLI
az managedapp definition list --resource-group bicepDefinitionGroup --query"[].{Name:name, ResourceGroup:resourceGroup}"
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.
Bicep
@description('Region where the resources are deployed.')paramlocationstring = resourceGroup().location
@description('Resource group name where the definition is stored.')paramdefinitionRGstring
@description('Name of the service catalog definition.')paramdefinitionNamestring// Parameters for the managed application's resource deployment
@description('Name of the managed application.')parammanagedAppNamestring
@description('Name for the managed resource group.')parammrgNamestring
@maxLength(40)
@description('Service plan name with maximum 40 alphanumeric characters and hyphens. Must be unique within a resource group in your subscription.')paramappServicePlanNamestring
@maxLength(47)
@description('Globally unique across Azure. Maximum of 47 alphanumeric characters or hyphens.')paramappServiceNamePrefixstring
@description('Resource ID for the managed application definition.')varappResourceId = resourceId('${definitionRG}', 'Microsoft.Solutions/applicationdefinitions', '${definitionName}')
@description('Creates the path for the managed resource group. The resource group is created during deployment.')varmrgId = '${subscription().id}/resourceGroups/${mrgName}'resourcebicepServiceCatalogApp'Microsoft.Solutions/applications@2021-07-01' = {
name: managedAppNamekind: 'ServiceCatalog'location: locationproperties: {
applicationDefinitionId: appResourceIdmanagedResourceGroupId: mrgIdparameters: {
appServicePlanName: {
value: appServicePlanName
}
appServiceNamePrefix: {
value: appServiceNamePrefix
}
}
}
}
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.
Bicep
using'./deployServiceCatalog.bicep'paramdefinitionName = 'sampleBicepManagedApplication'paramdefinitionRG = 'bicepDefinitionGroup'parammanagedAppName = 'sampleBicepManagedApp'parammrgName = 'placeholder for managed resource group name'paramappServicePlanName = 'demoAppServicePlan'paramappServiceNamePrefix = '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.
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.
La variable $deployparms usa la expansión de PowerShell para mejorar la legibilidad de los valores de parámetro.
Azure CLI
az group create --name bicepApplicationGroup --location westus
az deployment group create \
--resource-group bicepApplicationGroup \
--template-file deployServiceCatalog.bicep \
--parameters deployServiceCatalog-parameters.bicepparam \
--name deployServiceCatalogApp
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.
Para mostrar los recursos del grupo de recursos administrados, ejecute el siguiente comando. Ha creado la variable $mrgname al crear los parámetros.
Azure PowerShell
Get-AzResource -ResourceGroupName$mrgname
Para mostrar todas las asignaciones de roles para el grupo de recursos administrados.
Azure PowerShell
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.
También puede enumerar las asignaciones de denegación para el grupo de recursos administrado.
Azure PowerShell
Get-AzDenyAssignment -ResourceGroupName$mrgname
Para mostrar los recursos del grupo de recursos administrados, ejecute el siguiente comando. Ha creado la variable $mrgname al crear los parámetros.
Azure CLI
az resource list --resource-group$mrgname
Ejecute el siguiente comando para enumerar solo el nombre, el tipo y el estado de aprovisionamiento de los recursos administrados.
Azure CLI
az resource list --resource-group$mrgname--query"[].{Name:name, Type:type, provisioningState:provisioningState}"
Ejecute el siguiente comando para enumerar la asignación de roles para el grupo que se usó en la definición de la aplicación administrada.
Azure CLI
az role assignment list --resource-group$mrgname
El siguiente comando analiza los datos de la asignación de roles del grupo.
Azure CLI
az role assignment list --resource-group$mrgname--role Owner --query"[].{ResourceGroup:resourceGroup, GroupName:principalName, RoleDefinition:roleDefinitionId, Role:roleDefinitionName}"
Para revisar las asignaciones de denegación del grupo de recursos administrados, use los comandos Azure Portal o Azure PowerShell.
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 solicita la confirmación y, a continuación, le devuelve al símbolo del sistema mientras se eliminan los recursos.
Azure CLI
az group delete --resource-group bicepApplicationGroup --no-wait
Si desea eliminar la definición de la aplicación gestionada, elimine los grupos de recursos que creó denominados packageStorageGroup y bicepDefinitionGroup.
Cree soluciones de un extremo a otro en Microsoft Azure para crear Azure Functions, implementar y administrar aplicaciones web, desarrollar soluciones que usen Azure Storage, etc.
Describe cómo implementar la aplicación administrada de un catálogo de servicios para una aplicación administrada de Azure mediante Azure PowerShell, la CLI de Azure o Azure Portal.
Describe cómo crear y publicar una aplicación administrada de Azure en el catálogo de servicios mediante Azure PowerShell, la CLI de Azure o el Azure Portal.