Avvio rapido: Usare Bicep per distribuire una definizione di applicazione gestita di Azure
Questo avvio rapido descrive come usare Bicep per distribuire una definizione di applicazione gestita di Azure dal catalogo di servizi. Le definizioni nel catalogo di servizi sono disponibili per i membri dell'organizzazione.
Per distribuire una definizione di applicazione gestita dal catalogo di servizi, seguire questa procedura:
- Usare Bicep per sviluppare un modello che distribuisce una definizione di applicazione gestita.
- Creare un file di parametri per la distribuzione.
- Distribuire la definizione di applicazione gestita dal catalogo di servizi.
Prerequisiti
Per seguire la procedura descritta in questo articolo, sono necessari gli elementi seguenti:
- Distribuire una definizione con Avvio rapido: Usare Bicep per creare e pubblicare una definizione di applicazione gestita di Azure.
- Un account Azure con una sottoscrizione attiva. Se non si ha un account Azure, crearne uno gratuito prima di iniziare.
- Visual Studio Code con l'estensione Strumenti di Azure Resource Manager più recente. Per i file Bicep, installare l'estensione Bicep per Visual Studio Code.
- La versione più recente di Azure PowerShell o dell'interfaccia della riga di comando di Azure.
Ottenere la definizione dell'applicazione gestita
Per ottenere la definizione dell'applicazione gestita con Azure PowerShell, eseguire i comandi seguenti.
In Visual Studio Code aprire un nuovo terminale di PowerShell e accedere alla sottoscrizione di Azure.
Connect-AzAccount
Verrà aperto il browser predefinito e richiesto di eseguire l'accesso ad Azure. Per altre informazioni, vedere Accedere con Azure PowerShell.
Da Azure PowerShell recuperare la definizione dell'applicazione gestita. In questo esempio usare il nome del gruppo di risorse bicepDefinitionGroup creato durante la distribuzione della definizione dell'applicazione gestita.
Get-AzManagedApplicationDefinition -ResourceGroupName bicepDefinitionGroup
Get-AzManagedApplicationDefinition
elenca tutte le definizioni disponibili nel gruppo di risorse specificato, ad esempio sampleBicepManagedApplication.
Il comando seguente analizza l'output per visualizzare solo il nome della definizione e il nome del gruppo di risorse. I nomi vengono usati quando si distribuisce l'applicazione gestita.
Get-AzManagedApplicationDefinition -ResourceGroupName bicepDefinitionGroup | Select-Object -Property Name, ResourceGroupName
Creare il file Bicep
Aprire Visual Studio Code e creare un nome file deployServiceCatalog.bicep. Copiare e incollare il codice seguente nel file e salvarlo.
@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
}
}
}
}
Per altre informazioni sul tipo di risorsa, vedere Microsoft.Solutions/applications.
Creare il file di parametri
Aprire Visual Studio Code e creare un file di parametri denominato deployServiceCatalog-parameters.bicepparam. Copiare e incollare il codice seguente nel file e salvarlo.
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'
È necessario specificare diversi parametri per distribuire l'applicazione gestita:
Parametro | Valore |
---|---|
definitionName |
Nome della definizione del catalogo di servizi. Questo esempio usa sampleBicepManagedApplication. |
definitionRG |
Nome del gruppo di risorse in cui è archiviata la definizione. Questo esempio usa bicepDefinitionGroup. |
managedAppName |
Nome dell'applicazione gestita distribuita. Questo esempio usa sampleBicepManagedApp. |
mrgName |
Nome univoco del gruppo di risorse gestite che contiene le risorse distribuite dell'applicazione. Il gruppo di risorse viene creato quando si distribuisce l'applicazione gestita. Per creare un nome di gruppo di risorse gestite, eseguire i comandi che seguono questo elenco di parametri e usare il valore $mrgname per sostituire il segnaposto nel file dei parametri. |
appServicePlanName |
Creare un nome di piano. Può includere massimo 40 caratteri alfanumerici e trattini. Ad esempio, demoAppServicePlan. I nomi dei piani di servizio app devono essere univoci all'interno di un gruppo di risorse nella sottoscrizione. |
appServiceNamePrefix |
Creare un prefisso per il nome del piano. Può includere massimo 47 caratteri alfanumerici e trattini. Ad esempio, demoApp. Durante la distribuzione, il prefisso viene concatenato con una stringa univoca per creare un nome univoco a livello globale in Azure. |
È possibile eseguire i comandi seguenti per creare un nome per il gruppo di risorse gestite.
$mrgprefix = 'mrg-sampleBicepManagedApplication-'
$mrgtimestamp = Get-Date -UFormat "%Y%m%d%H%M%S"
$mrgname = $mrgprefix + $mrgtimestamp
$mrgname
Le variabili $mrgprefix
e $mrgtimestamp
vengono concatenate e archiviate nella variabile $mrgname
. Il valore della variabile è espresso nel formato mrg-sampleBicepManagedApplication-20230512103059. Quando si distribuisce l'applicazione gestita, si usa il valore della variabile $mrgname
.
Distribuire l'applicazione gestita
Usare Azure PowerShell o l'interfaccia della riga di comando di Azure per creare un gruppo di risorse e distribuire l'applicazione gestita.
New-AzResourceGroup -Name bicepApplicationGroup -Location westus
$deployparms = @{
ResourceGroupName = "bicepApplicationGroup"
TemplateFile = "deployServiceCatalog.bicep"
TemplateParameterFile = "deployServiceCatalog-parameters.bicepparam"
Name = "deployServiceCatalogApp"
}
New-AzResourceGroupDeployment @deployparms
La variabile $deployparms
usa lo splatting di PowerShell per migliorare la leggibilità dei valori dei parametri.
La distribuzione potrebbe visualizzare un avviso linter Bicep che indica che la proprietà managedResourceGroupId
prevede un ID risorsa. Poiché il gruppo di risorse gestite viene creato durante la distribuzione, non è disponibile un ID risorsa per la proprietà.
Visualizza risultati
Dopo la distribuzione dell'applicazione gestita del catalogo di servizi, sono disponibili due nuovi gruppi di risorse. Un gruppo di risorse contiene l'applicazione gestita. L'altro gruppo di risorse contiene le risorse gestite distribuite. In questo esempio, un servizio app, un piano di servizio app e un account di archiviazione.
Applicazione gestita
Al termine della distribuzione, è possibile verificare lo stato dell'applicazione gestita.
Eseguire il comando seguente per verificare lo stato dell'applicazione gestita.
Get-AzManagedApplication -Name sampleBicepManagedApp -ResourceGroupName bicepApplicationGroup
Espandere le proprietà per semplificare la lettura delle informazioni relative a Properties
.
Get-AzManagedApplication -Name sampleBicepManagedApp -ResourceGroupName bicepApplicationGroup | Select-Object -ExpandProperty Properties
Risorse gestite
È possibile visualizzare le risorse distribuite nel gruppo di risorse gestite.
Per visualizzare le risorse del gruppo di risorse gestite, eseguire il comando seguente. La variabile $mrgname
è stata creata al momento della creazione dei parametri.
Get-AzResource -ResourceGroupName $mrgname
Per visualizzare tutte le assegnazioni di ruolo per il gruppo di risorse gestite.
Get-AzRoleAssignment -ResourceGroupName $mrgname
Per la definizione dell'applicazione gestita creata negli articoli di avvio rapido è stato usato un gruppo con l'assegnazione di ruolo Proprietario. È possibile visualizzare il gruppo con il comando seguente.
Get-AzRoleAssignment -ResourceGroupName $mrgname -RoleDefinitionName Owner
È anche possibile elencare le assegnazioni di rifiuto per il gruppo di risorse gestite.
Get-AzDenyAssignment -ResourceGroupName $mrgname
Pulire le risorse
Quando l'applicazione gestita non è più necessaria, è possibile eliminare i gruppi di risorse, rimuovendo così tutte le risorse create. Ad esempio, sono stati creati i gruppi di risorse bicepApplicationGroup e un gruppo di risorse gestite con il prefisso mrg-bicepManagedApplication.
Quando si elimina il gruppo di risorse bicepApplicationGroup, l'applicazione gestita, il gruppo di risorse gestite e tutte le risorse di Azure vengono eliminati.
Il comando chiede di confermare la rimozione del gruppo di risorse.
Remove-AzResourceGroup -Name bicepApplicationGroup
Per eliminare la definizione dell'applicazione gestita, eliminare i gruppi di risorse creati denominati packageStorageGroup e bicepDefinitionGroup.
Passaggi successivi
- Per informazioni su come creare e pubblicare i file di definizione per un'applicazione gestita usando Azure PowerShell, l'interfaccia della riga di comando di Azure o il portale, vedere Avvio rapido: Creare e pubblicare una definizione di applicazione gestita di Azure.
- Per usare un account di archiviazione personalizzato per creare e pubblicare i file di definizione per un'applicazione gestita, vedere Avvio rapido: Creare e pubblicare una definizione di applicazione gestita di Azure.