Quickstart: Bicep gebruiken om een definitie van een door Azure beheerde toepassing te implementeren
In deze quickstart wordt beschreven hoe u Bicep gebruikt om een definitie van een door Azure beheerde toepassing te implementeren vanuit uw servicecatalogus. De definitie in uw servicecatalogus is beschikbaar voor leden van uw organisatie.
Voer de volgende taken uit om een definitie van een beheerde toepassing te implementeren vanuit uw servicecatalogus:
- Gebruik Bicep om een sjabloon te ontwikkelen waarmee een definitie van een beheerde toepassing wordt geïmplementeerd.
- Maak een parameterbestand voor de implementatie.
- Implementeer de definitie van de beheerde toepassing vanuit uw servicecatalogus.
Vereisten
Als u de taken in dit artikel wilt uitvoeren, hebt u het volgende nodig:
- Een definitie geïmplementeerd met quickstart: Bicep gebruiken om een definitie van een door Azure beheerde toepassing te maken en te publiceren.
- Een Azure-account met een actief abonnement. Als u geen account hebt, maakt u een gratis account voordat u begint.
- Visual Studio Code met de nieuwste Azure Resource Manager Tools-extensie. Installeer voor Bicep-bestanden de Bicep-extensie voor Visual Studio Code.
- De nieuwste versie van Azure PowerShell of Azure CLI.
Definitie van beheerde toepassing ophalen
Voer de volgende opdrachten uit om de definitie van de beheerde toepassing op te halen met Azure PowerShell.
Open in Visual Studio Code een nieuwe PowerShell-terminal en meld u aan bij uw Azure-abonnement.
Connect-AzAccount
Met de opdracht opent u uw standaardbrowser en wordt u gevraagd u aan te melden bij Azure. Ga naar Aanmelden met Azure PowerShell voor meer informatie.
Haal vanuit Azure PowerShell de definitie van uw beheerde toepassing op. In dit voorbeeld gebruikt u de naam van de resourcegroep bicepDefinitionGroup die is gemaakt toen u de definitie van de beheerde toepassing hebt geïmplementeerd.
Get-AzManagedApplicationDefinition -ResourceGroupName bicepDefinitionGroup
Get-AzManagedApplicationDefinition
bevat alle beschikbare definities in de opgegeven resourcegroep, zoals sampleBicepManagedApplication.
Met de volgende opdracht wordt de uitvoer geparseerd om alleen de definitienaam en de naam van de resourcegroep weer te geven. U gebruikt de namen wanneer u de beheerde toepassing implementeert.
Get-AzManagedApplicationDefinition -ResourceGroupName bicepDefinitionGroup | Select-Object -Property Name, ResourceGroupName
Het Bicep-bestand maken
Open Visual Studio Code en maak een bestandsnaam deployServiceCatalog.bicep. Kopieer en plak de volgende code in het bestand en sla deze op.
@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
}
}
}
}
Ga naar Microsoft.Solutions/applications voor meer informatie over het resourcetype.
Het parameterbestand maken
Open Visual Studio Code en maak een parameterbestand met de naam deployServiceCatalog-parameters.bicepparam. Kopieer en plak de volgende code in het bestand en sla deze op.
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'
U moet verschillende parameters opgeven om de beheerde toepassing te implementeren:
Parameter | Weergegeven als |
---|---|
definitionName |
Naam van de definitie van de servicecatalogus. In dit voorbeeld wordt sampleBicepManagedApplication gebruikt. |
definitionRG |
De naam van de resourcegroep waarin de definitie is opgeslagen. In dit voorbeeld wordt bicepDefinitionGroup gebruikt. |
managedAppName |
Naam voor de geïmplementeerde beheerde toepassing. In dit voorbeeld wordt sampleBicepManagedApp gebruikt. |
mrgName |
Unieke naam voor de beheerde resourcegroep die de geïmplementeerde resources van de toepassing bevat. De resourcegroep wordt gemaakt wanneer u de beheerde toepassing implementeert. Als u een naam voor een beheerde resourcegroep wilt maken, voert u de opdrachten uit die volgen op deze parameterlijst en gebruikt u de $mrgname waarde om de tijdelijke aanduiding in het parameterbestand te vervangen. |
appServicePlanName |
Maak een plannaam. Maximaal 40 alfanumerieke tekens en afbreekstreepjes. Bijvoorbeeld demoAppServicePlan. Namen van App Service-plannen moeten uniek zijn binnen een resourcegroep in uw abonnement. |
appServiceNamePrefix |
Maak een voorvoegsel voor de naam van het plan. Maximaal 47 alfanumerieke tekens of afbreekstreepjes. Bijvoorbeeld demoApp. Tijdens de implementatie wordt het voorvoegsel samengevoegd met een unieke tekenreeks om een naam te maken die wereldwijd uniek is in Azure. |
U kunt de volgende opdrachten uitvoeren om een naam te maken voor de beheerde resourcegroep.
$mrgprefix = 'mrg-sampleBicepManagedApplication-'
$mrgtimestamp = Get-Date -UFormat "%Y%m%d%H%M%S"
$mrgname = $mrgprefix + $mrgtimestamp
$mrgname
De $mrgprefix
variabelen worden $mrgtimestamp
samengevoegd en opgeslagen in de $mrgname
variabele. De waarde van de variabele heeft de indeling mrg-sampleBicepManagedApplication-20230512103059. U gebruikt de waarde van de $mrgname
variabele wanneer u de beheerde toepassing implementeert.
De beheerde toepassing implementeren
Gebruik Azure PowerShell of Azure CLI om een resourcegroep te maken en de beheerde toepassing te implementeren.
New-AzResourceGroup -Name bicepApplicationGroup -Location westus
$deployparms = @{
ResourceGroupName = "bicepApplicationGroup"
TemplateFile = "deployServiceCatalog.bicep"
TemplateParameterFile = "deployServiceCatalog-parameters.bicepparam"
Name = "deployServiceCatalogApp"
}
New-AzResourceGroupDeployment @deployparms
De $deployparms
variabele maakt gebruik van PowerShell-splatting om de leesbaarheid voor de parameterwaarden te verbeteren.
In uw implementatie wordt mogelijk een Bicep linter-waarschuwing weergegeven dat de managedResourceGroupId
eigenschap een resource-id verwacht. Omdat de beheerde resourcegroep wordt gemaakt tijdens de implementatie, is er geen resource-id beschikbaar voor de eigenschap.
Resultaten weergeven
Nadat de beheerde toepassing voor de servicecatalogus is geïmplementeerd, hebt u twee nieuwe resourcegroepen. Eén resourcegroep bevat de beheerde toepassing. De andere resourcegroep bevat de beheerde resources die zijn geïmplementeerd. In dit voorbeeld ziet u een App Service-, App Service-plan en een opslagaccount.
Beheerde toepassing
Nadat de implementatie is voltooid, kunt u de status van uw beheerde toepassing controleren.
Voer de volgende opdracht uit om de status van de beheerde toepassing te controleren.
Get-AzManagedApplication -Name sampleBicepManagedApp -ResourceGroupName bicepApplicationGroup
Vouw de eigenschappen uit om de Properties
informatie gemakkelijker te lezen.
Get-AzManagedApplication -Name sampleBicepManagedApp -ResourceGroupName bicepApplicationGroup | Select-Object -ExpandProperty Properties
Beheerde resources
U kunt de resources weergeven die zijn geïmplementeerd in de beheerde resourcegroep.
Voer de volgende opdracht uit om de resources van de beheerde resourcegroep weer te geven. U hebt de $mrgname
variabele gemaakt toen u de parameters maakte.
Get-AzResource -ResourceGroupName $mrgname
Als u alle roltoewijzingen voor de beheerde resourcegroep wilt weergeven.
Get-AzRoleAssignment -ResourceGroupName $mrgname
De definitie van de beheerde toepassing die u in de quickstart-artikelen hebt gemaakt, heeft een groep gebruikt met de roltoewijzing Eigenaar. U kunt de groep weergeven met de volgende opdracht.
Get-AzRoleAssignment -ResourceGroupName $mrgname -RoleDefinitionName Owner
U kunt ook de weigeringstoewijzingen voor de beheerde resourcegroep weergeven.
Get-AzDenyAssignment -ResourceGroupName $mrgname
Resources opschonen
Wanneer u klaar bent met de beheerde toepassing, kunt u de resourcegroepen verwijderen en alle resources die u hebt gemaakt, verwijderen. U hebt bijvoorbeeld de resourcegroepen bicepApplicationGroup en een beheerde resourcegroep gemaakt met het voorvoegsel mrg-bicepManagedApplication.
Wanneer u de bicepApplicationGroup-resourcegroep verwijdert, worden de beheerde toepassing, de beheerde resourcegroep en alle Azure-resources verwijderd.
Met de opdracht wordt u gevraagd om te bevestigen dat u de resourcegroep wilt verwijderen.
Remove-AzResourceGroup -Name bicepApplicationGroup
Als u de definitie van de beheerde toepassing wilt verwijderen, verwijdert u de resourcegroepen die u hebt gemaakt met de naam packageStorageGroup en bicepDefinitionGroup.
Volgende stappen
- Als u wilt weten hoe u de definitiebestanden voor een beheerde toepassing maakt en publiceert met behulp van Azure PowerShell, Azure CLI of portal, gaat u naar quickstart: Een definitie van een beheerde Azure-toepassing maken en publiceren.
- Als u uw eigen opslag wilt gebruiken om de definitiebestanden voor een beheerde toepassing te maken en te publiceren, gaat u naar quickstart: Bring your own storage to create and publish an Azure Managed Application definition.