Schnellstart: Verwenden von Bicep zum Bereitstellen einer Definition für eine verwaltete Azure-Anwendung
Diese Schnellstartanleitung beschreibt, wie Sie Bicep verwenden, um eine Definition für eine verwaltete Azure-Anwendung in Ihrem Dienstkatalog bereitzustellen. Die Definition in Ihrem Dienstkatalog steht Mitgliedern Ihrer Organisation zur Verfügung.
Um eine Definition für eine verwaltete Anwendung in Ihrem Dienstkatalog bereitzustellen, gehen Sie folgendermaßen vor:
- Verwenden Sie Bicep, um eine Vorlage zu entwickeln, die eine Definition für eine verwaltete Anwendung bereitstellt.
- Erstellen Sie eine Parameterdatei für die Bereitstellung.
- Stellen Sie die Definition für eine verwaltete Anwendung in Ihrem Dienstkatalog bereit.
Voraussetzungen
Damit Sie die Aufgaben in diesem Artikel ausführen können, benötigen Sie Folgendes:
- Bereitstellung einer Definition mit Schnellstart: Erstellen und Veröffentlichen einer Definition für eine verwaltete Azure-Anwendung mit Bicep.
- Ein Azure-Konto mit einem aktiven Abonnement. Sollten Sie kein Azure-Konto haben, erstellen Sie zunächst ein kostenloses Konto.
- Visual Studio Code mit der neuesten Azure Resource Manager Tools-Erweiterung. Installieren Sie für Bicep-Dateien die Bicep-Erweiterung für Visual Studio Code.
- Die aktuelle Version von Azure PowerShell oder der Azure CLI.
Abrufen der Definition einer verwalteten Anwendung
Führen Sie die folgenden Befehle aus, um die Definition der verwalteten Anwendung mit Azure PowerShell abzurufen.
Öffnen Sie in Visual Studio Code ein neues PowerShell-Terminal, und melden Sie sich bei Ihrem Azure-Abonnement an.
Connect-AzAccount
Der Befehl öffnet Ihren Standardbrowser und fordert Sie auf, sich bei Azure anzumelden. Weitere Informationen finden Sie unter Anmelden mit Azure PowerShell.
Rufen Sie aus Azure PowerShell die Definition Ihrer verwalteten Anwendung ab. Verwenden Sie in diesem Beispiel den Ressourcengruppennamen bicepDefinitionGroup, der beim Bereitstellen der Definition der verwalteten Anwendung erstellt wurde.
Get-AzManagedApplicationDefinition -ResourceGroupName bicepDefinitionGroup
Get-AzManagedApplicationDefinition
listet alle verfügbaren Definitionen in der angegebenen Ressourcengruppe auf, z. B. sampleBicepManagedApplication.
Der folgende Befehl analysiert die Ausgabe so, dass nur der Definitionsname und der Ressourcengruppenname angezeigt werden. Sie verwenden die Namen, wenn Sie die verwaltete Anwendung bereitstellen.
Get-AzManagedApplicationDefinition -ResourceGroupName bicepDefinitionGroup | Select-Object -Property Name, ResourceGroupName
Erstellen der Bicep-Datei
Öffnen Sie Visual Studio Code, und erstellen Sie eine Datei mit dem Namen deployServiceCatalog.bicep. Kopieren Sie den folgenden Code, fügen Sie ihn in die Datei ein, und speichern Sie.
@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
}
}
}
}
Weitere Informationen zum Ressourcentyp finden Sie unter Microsoft.Solutions/applications.
Erstellen der Parameterdatei
Öffnen Sie Visual Studio Code, und erstellen Sie eine Parameterdatei mit dem Namen deployServiceCatalog-parameters.bicepparam. Kopieren Sie den folgenden Code, fügen Sie ihn in die Datei ein, und speichern Sie.
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'
Für die Bereitstellung der verwalteten Anwendung müssen Sie mehrere Parameter zur Verfügung stellen:
Parameter | Wert |
---|---|
definitionName |
Name der Definition für den Dienstkatalog. In diesem Beispiel wird sampleBicepManagedApplication verwendet. |
definitionRG |
Ressourcengruppenname, in dem die Definition gespeichert ist. In diesem Beispiel wird bicepDefinitionGroup verwendet. |
managedAppName |
Name für die bereitgestellte verwaltete Anwendung. In diesem Beispiel wird sampleBicepManagedApp verwendet. |
mrgName |
Eindeutiger Name für die verwaltete Ressourcengruppe, die die bereitgestellten Ressourcen der Anwendung enthält. Die Ressourcengruppe wird erstellt, wenn Sie die verwaltete Anwendung bereitstellen. Um einen Namen einer verwalteten Ressourcengruppe zu erstellen, führen Sie die Befehle aus, die dieser Parameterliste folgen, und verwenden Sie den $mrgname Wert, um den Platzhalter in der Parameterdatei zu ersetzen. |
appServicePlanName |
Erstellen Sie einen Plannamen. Maximal 40 alphanumerische Zeichen und Bindestriche. Beispiel: demoAppServicePlan. App Service-Plannamen müssen innerhalb einer Ressourcengruppe in Ihrem Abonnement eindeutig sein. |
appServiceNamePrefix |
Erstellen Sie ein Präfix für den Plannamen. Maximal 47 alphanumerische Zeichen oder Bindestriche. Beispiel: demoApp. Während der Bereitstellung wird das Präfix mit einer eindeutigen Zeichenfolge verkettet, um einen Namen zu erstellen, der in Azure global eindeutig ist. |
Sie können die folgenden Befehle ausführen, um einen Namen für die verwaltete Ressourcengruppe zu erstellen.
$mrgprefix = 'mrg-sampleBicepManagedApplication-'
$mrgtimestamp = Get-Date -UFormat "%Y%m%d%H%M%S"
$mrgname = $mrgprefix + $mrgtimestamp
$mrgname
Die Variablen $mrgprefix
und $mrgtimestamp
werden verkettet und in der Variable $mrgname
gespeichert. Der Wert der Variablen hat das Format mrg-sampleBicepManagedApplication-20230512103059. Sie verwenden den Wert der $mrgname
-Variable, wenn Sie die verwaltete Anwendung bereitstellen.
Bereitstellen der verwalteten Anwendung
Verwenden Sie Azure PowerShell oder Azure CLI, um eine Ressourcengruppe zu erstellen und die verwaltete Anwendung bereitzustellen.
New-AzResourceGroup -Name bicepApplicationGroup -Location westus
$deployparms = @{
ResourceGroupName = "bicepApplicationGroup"
TemplateFile = "deployServiceCatalog.bicep"
TemplateParameterFile = "deployServiceCatalog-parameters.bicepparam"
Name = "deployServiceCatalogApp"
}
New-AzResourceGroupDeployment @deployparms
Die $deployparms
Variable verwendet die PowerShell-Splatting, um die Lesbarkeit für die Parameterwerte zu verbessern.
Ihre Bereitstellung zeigt möglicherweise eine Bicep-Linter-Warnung an, dass die Eigenschaft managedResourceGroupId
eine Ressourcen-ID erwartet. Da die verwaltete Ressourcengruppe während der Bereitstellung erstellt wird, ist für die Eigenschaft keine Ressourcen-ID verfügbar.
Anzeigen der Ergebnisse
Nachdem die vom Dienstkatalog verwaltete Anwendung bereitgestellt wurde, verfügen Sie über zwei neue Ressourcengruppen. Eine Ressourcengruppe enthält die verwaltete Anwendung. Die andere Ressourcengruppe enthält die verwalteten Ressourcen, die bereitgestellt wurden. In diesem Beispiel ein App Service, ein App Service-Plan und ein Speicherkonto.
Verwaltete Anwendung
Nach Abschluss der Bereitstellung können Sie den Status Ihrer verwalteten Anwendung überprüfen.
Führen Sie den folgenden Befehl aus, um den Status der verwalteten Anwendung zu überprüfen.
Get-AzManagedApplication -Name sampleBicepManagedApp -ResourceGroupName bicepApplicationGroup
Erweitern Sie die Eigenschaften, um das Lesen der Properties
-Informationen zu vereinfachen.
Get-AzManagedApplication -Name sampleBicepManagedApp -ResourceGroupName bicepApplicationGroup | Select-Object -ExpandProperty Properties
Verwaltete Ressourcen
Sie können die in der verwalteten Ressourcengruppe bereitgestellten Ressourcen anzeigen.
Führen Sie den folgenden Befehl aus, um die Ressourcen der verwalteten Ressourcengruppe anzuzeigen. Sie haben die $mrgname
-Variable erstellt, als Sie die Parameter erstellt haben.
Get-AzResource -ResourceGroupName $mrgname
Zum Anzeigen aller Rollenzuweisungen für die verwaltete Ressourcengruppe.
Get-AzRoleAssignment -ResourceGroupName $mrgname
Die Definition der verwalteten Anwendung, die Sie in den Schnellstartartikeln erstellt haben, verwendete eine Gruppe mit der Rollenzuweisung „Besitzer“. Sie können die Gruppe mit dem folgenden Befehl anzeigen.
Get-AzRoleAssignment -ResourceGroupName $mrgname -RoleDefinitionName Owner
Sie können auch die Ablehnungszuweisungen für die verwaltete Ressourcengruppe auflisten.
Get-AzDenyAssignment -ResourceGroupName $mrgname
Bereinigen von Ressourcen
Wenn Sie mit der verwalteten Anwendung fertig sind, können Sie die Ressourcengruppen löschen, und dies entfernt alle von Ihnen erstellten Ressourcen. Sie haben beispielsweise die Ressourcengruppen bicepApplicationGroup und eine verwaltete Ressourcengruppe mit dem Präfix mrg-bicepManagedApplication erstellt.
Wenn Sie die Ressourcengruppe bicepApplicationGroup löschen, werden die verwaltete Anwendung, die verwaltete Ressourcengruppe und alle Azure-Ressourcen gelöscht.
Der Befehl fordert Sie auf, zu bestätigen, dass Sie die Ressourcengruppe entfernen wollen.
Remove-AzResourceGroup -Name bicepApplicationGroup
Wenn Sie eine Definition für eine verwaltete Anwendung löschen möchten, löschen Sie die von Ihnen erstellten Ressourcengruppen mit dem Namen packageStorageGroup und bicepDefinitionGroup.
Nächste Schritte
- Weitere Informationen zum Erstellen und Veröffentlichen der Definitionsdateien für eine verwaltete Anwendung über Azure PowerShell, Azure CLI oder das Portal finden Sie unter Schnellstart: Erstellen und Veröffentlichen einer Definition für eine verwaltete Azure-Anwendung.
- Wenn Sie Ihren eigenen Speicher verwenden möchten, um die Definitionsdateien für eine verwaltete Anwendung zu erstellen und zu veröffentlichen, wechseln Sie zu Schnellstart: „Bring Your Own Storage“, um eine Definition für eine verwaltete Azure-Anwendung zu erstellen und zu veröffentlichen.