Quickstart: Bicep gebruiken om een definitie van een beheerde Azure-toepassing te implementeren
In deze quickstart wordt beschreven hoe u Bicep gebruikt om een definitie van een beheerde Azure-toepassing te implementeren vanuit uw servicecatalogus. De definities in uw servicecatalogus zijn 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 voltooien, hebt u het volgende nodig:
- De quickstart voltooid om Bicep te gebruiken voor het maken en publiceren van een definitie van een beheerde toepassing in uw servicecatalogus.
- Een Azure-account met een actief abonnement. Als u nog geen account hebt, maakt u een gratis account aan voordat u begint.
- Visual Studio Code met de nieuwste azure Resource Manager Tools-extensie. Voor Bicep-bestanden installeert u de Bicep-extensie voor Visual Studio Code.
- Installeer 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 wordt uw standaardbrowser geopend en wordt u gevraagd u aan te melden bij Azure. Ga naar Aanmelden met Azure PowerShell voor meer informatie.
Haal in Azure PowerShell de definitie van uw beheerde toepassing op. Gebruik in dit voorbeeld de naam van de resourcegroep bicepDefinitionRG die is gemaakt toen u de definitie van de beheerde toepassing hebt geïmplementeerd.
Get-AzManagedApplicationDefinition -ResourceGroupName bicepDefinitionRG
Get-AzManagedApplicationDefinition
een lijst met alle beschikbare definities in de opgegeven resourcegroep, zoals sampleBicepManagedApplication.
Met de volgende opdracht parseert u de uitvoer om alleen de naam van de definitie en de naam van de resourcegroep weer te geven. U gebruikt de namen wanneer u de beheerde toepassing implementeert.
Get-AzManagedApplicationDefinition -ResourceGroupName bicepDefinitionRG | 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
@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
}
}
}
}
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.json. Kopieer en plak de volgende code in het bestand en sla deze op.
{
"$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"
}
}
}
U moet verschillende parameters opgeven om de beheerde toepassing te implementeren:
Parameter | Waarde |
---|---|
definitionName |
Naam van de definitie van de servicecatalogus. In dit voorbeeld wordt sampleBicepManagedApplication gebruikt. |
definitionRG |
Resourcegroepnaam waarin de definitie is opgeslagen. In dit voorbeeld wordt bicepDefinitionRG 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, kunt u de opdrachten uitvoeren die volgen op deze parameterlijst. |
appServicePlanName |
Maak een plannaam. Maximaal 40 alfanumerieke tekens en afbreekstreepjes. Bijvoorbeeld demoAppServicePlan. App Service plannamen moeten uniek zijn binnen een resourcegroep in uw abonnement. |
appServiceNamePrefix |
Maak een voorvoegsel voor de plannaam. 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. |
storageAccountNamePrefix |
Gebruik alleen kleine letters en cijfers en maximaal 11 tekens. Bijvoorbeeld demostg1234. Tijdens de implementatie wordt het voorvoegsel samengevoegd met een unieke tekenreeks om een naam te maken die wereldwijd uniek is in Azure. |
storageAccountType |
De opties zijn Premium_LRS, Standard_LRS en Standard_GRS. |
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 en $mrgtimestamp
worden 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 bicepAppRG -Location westus3
New-AzResourceGroupDeployment `
-ResourceGroupName bicepAppRG `
-TemplateFile deployServiceCatalog.bicep `
-TemplateParameterFile deployServiceCatalog.parameters.json
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 van 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 een App Service, App Service-abonnement en 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 bicepAppRG
Vouw de eigenschappen uit zodat u de Properties
informatie gemakkelijker kunt lezen.
Get-AzManagedApplication -Name sampleBicepManagedApp -ResourceGroupName bicepAppRG | 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
Alle roltoewijzingen voor de beheerde resourcegroep weergeven.
Get-AzRoleAssignment -ResourceGroupName $mrgname
De definitie van de beheerde toepassing die u in de quickstart-artikelen hebt gemaakt, heeft een groep met de roltoewijzing Eigenaar gebruikt. 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 worden alle resources die u hebt gemaakt, verwijderd. U hebt bijvoorbeeld de resourcegroepen bicepAppRG gemaakt en een beheerde resourcegroep met het voorvoegsel mrg-bicepManagedApplication.
Wanneer u de resourcegroep bicepAppRG 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 bicepAppRG
Als u de definitie van de beheerde toepassing wilt verwijderen, verwijdert u de resourcegroepen die u hebt gemaakt met de namen packageStorageRG en bicepDefinitionRG.
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 de portal, gaat u naar Quickstart: Een definitie van een beheerde Azure-toepassing maken en publiceren.
- Als u uw eigen opslag wilt gebruiken voor het maken en publiceren van de definitiebestanden voor een beheerde toepassing, gaat u naar Quickstart: Bring your own storage to create and publish an Azure Managed Application definition (Uw eigen opslag meenemen om een definitie van een beheerde Azure-toepassing te maken en publiceren).