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:
- Sie haben den Schnellstart ausgeführt, um Bicep zum Erstellen und Veröffentlichen einer Definition für eine verwaltete Anwendung in Ihrem Dienstkatalog zu verwenden.
- 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.
- Installieren Sie 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 bicepDefinitionRG, der beim Bereitstellen der Definition für eine verwaltete Anwendung erstellt wurde.
Get-AzManagedApplicationDefinition -ResourceGroupName bicepDefinitionRG
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 bicepDefinitionRG | 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
@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
}
}
}
}
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.json. Kopieren Sie den folgenden Code, fügen Sie ihn in die Datei ein, und speichern Sie.
{
"$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"
}
}
}
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 bicepDefinitionRG 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, können Sie die Befehle ausführen, die auf diese Parameterliste folgen. |
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. |
storageAccountNamePrefix |
Verwenden Sie nur Kleinbuchstaben und Zahlen und maximal 11 Zeichen. Beispiel: demostg1234. Während der Bereitstellung wird das Präfix mit einer eindeutigen Zeichenfolge verkettet, um einen global eindeutigen Namen in Azure zu erstellen. |
storageAccountType |
Die anderen Optionen sind Premium_LRS, Standard_LRS und Standard_GRS. |
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 bicepAppRG -Location westus3
New-AzResourceGroupDeployment `
-ResourceGroupName bicepAppRG `
-TemplateFile deployServiceCatalog.bicep `
-TemplateParameterFile deployServiceCatalog.parameters.json
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 bicepAppRG
Erweitern Sie die Eigenschaften, um das Lesen der Properties
-Informationen zu vereinfachen.
Get-AzManagedApplication -Name sampleBicepManagedApp -ResourceGroupName bicepAppRG | 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 bicepAppRG und eine verwaltete Ressourcengruppe mit dem Präfix mrg-bicepManagedApplication erstellt.
Wenn Sie die Ressourcengruppe bicepAppRG 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 bicepAppRG
Wenn Sie eine Definition für eine verwaltete Anwendung löschen möchten, löschen Sie die von Ihnen erstellten Ressourcengruppen mit dem Namen packageStorageRG und bicepDefinitionRG.
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.