Szybki start: wdrażanie definicji aplikacji zarządzanej platformy Azure przy użyciu aplikacji Bicep
W tym przewodniku Szybki start opisano sposób wdrażania definicji aplikacji zarządzanej platformy Azure z katalogu usług za pomocą narzędzia Bicep. Definicje w katalogu usług są dostępne dla członków organizacji.
Aby wdrożyć definicję aplikacji zarządzanej z katalogu usług, wykonaj następujące zadania:
- Użyj narzędzia Bicep, aby utworzyć szablon, który wdraża definicję aplikacji zarządzanej.
- Utwórz plik parametrów dla wdrożenia.
- Wdróż definicję aplikacji zarządzanej z katalogu usług.
Wymagania wstępne
Do wykonania zadań w tym artykule potrzebne są następujące elementy:
- Wdrożono definicję za pomocą przewodnika Szybki start: użyj narzędzia Bicep, aby utworzyć i opublikować definicję aplikacji zarządzanej platformy Azure.
- Konto platformy Azure z aktywną subskrypcją. Jeśli nie masz konta, przed rozpoczęciem utwórz bezpłatne konto .
- Program Visual Studio Code z najnowszym rozszerzeniem narzędzi usługi Azure Resource Manager. W przypadku plików Bicep zainstaluj rozszerzenie Bicep dla programu Visual Studio Code.
- Najnowsza wersja programu Azure PowerShell lub interfejsu wiersza polecenia platformy Azure.
Pobieranie definicji aplikacji zarządzanej
Aby uzyskać definicję aplikacji zarządzanej za pomocą programu Azure PowerShell, uruchom następujące polecenia.
W programie Visual Studio Code otwórz nowy terminal programu PowerShell i zaloguj się do subskrypcji platformy Azure.
Connect-AzAccount
Polecenie otwiera domyślną przeglądarkę i wyświetla monit o zalogowanie się na platformie Azure. Aby uzyskać więcej informacji, przejdź do tematu Logowanie się przy użyciu programu Azure PowerShell.
Z poziomu programu Azure PowerShell uzyskaj definicję aplikacji zarządzanej. W tym przykładzie użyj nazwy grupy zasobów bicepDefinitionGroup , która została utworzona podczas wdrażania definicji aplikacji zarządzanej.
Get-AzManagedApplicationDefinition -ResourceGroupName bicepDefinitionGroup
Get-AzManagedApplicationDefinition
Wyświetla listę wszystkich dostępnych definicji w określonej grupie zasobów, takich jak sampleBicepManagedApplication.
Następujące polecenie analizuje dane wyjściowe, aby wyświetlić tylko nazwę definicji i nazwę grupy zasobów. Nazwy są używane podczas wdrażania aplikacji zarządzanej.
Get-AzManagedApplicationDefinition -ResourceGroupName bicepDefinitionGroup | Select-Object -Property Name, ResourceGroupName
Tworzenie pliku Bicep
Otwórz program Visual Studio Code i utwórz nazwę pliku deployServiceCatalog.bicep. Skopiuj i wklej następujący kod do pliku i zapisz go.
@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
}
}
}
}
Aby uzyskać więcej informacji na temat typu zasobu, przejdź do strony Microsoft.Solutions/applications.
Tworzenie pliku parametrów
Otwórz program Visual Studio Code i utwórz plik parametrów o nazwie deployServiceCatalog-parameters.bicepparam. Skopiuj i wklej następujący kod do pliku i zapisz go.
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'
Aby wdrożyć aplikację zarządzaną, należy podać kilka parametrów:
Parametr | Wartość |
---|---|
definitionName |
Nazwa definicji katalogu usług. W tym przykładzie użyto przykładuBicepManagedApplication. |
definitionRG |
Nazwa grupy zasobów, w której jest przechowywana definicja. W tym przykładzie użyto grupy bicepDefinitionGroup. |
managedAppName |
Nazwa wdrożonej aplikacji zarządzanej. W tym przykładzie użyto przykładuBicepManagedApp. |
mrgName |
Unikatowa nazwa zarządzanej grupy zasobów zawierającej wdrożone zasoby aplikacji. Grupa zasobów jest tworzona podczas wdrażania aplikacji zarządzanej. Aby utworzyć nazwę zarządzanej grupy zasobów, uruchom polecenia zgodne z tą listą parametrów i użyj $mrgname wartości , aby zastąpić symbol zastępczy w pliku parametrów. |
appServicePlanName |
Utwórz nazwę planu. Maksymalnie 40 znaków alfanumerycznych i łączników. Na przykład demoAppServicePlan. Nazwy planów usługi App Service muszą być unikatowe w ramach grupy zasobów w ramach subskrypcji. |
appServiceNamePrefix |
Utwórz prefiks nazwy planu. Maksymalnie 47 znaków alfanumerycznych lub łączników. Na przykład demoApp. Podczas wdrażania prefiks jest połączony z unikatowym ciągiem w celu utworzenia nazwy, która jest globalnie unikatowa na platformie Azure. |
Możesz uruchomić następujące polecenia, aby utworzyć nazwę zarządzanej grupy zasobów.
$mrgprefix = 'mrg-sampleBicepManagedApplication-'
$mrgtimestamp = Get-Date -UFormat "%Y%m%d%H%M%S"
$mrgname = $mrgprefix + $mrgtimestamp
$mrgname
Zmienne $mrgprefix
i $mrgtimestamp
są łączone i przechowywane w zmiennej $mrgname
. Wartość zmiennej jest w formacie mrg-sampleBicepManagedApplication-20230512103059. Wartość zmiennej $mrgname
jest używana podczas wdrażania aplikacji zarządzanej.
Wdrażanie aplikacji zarządzanej
Użyj programu Azure PowerShell lub interfejsu wiersza polecenia platformy Azure, aby utworzyć grupę zasobów i wdrożyć aplikację zarządzaną.
New-AzResourceGroup -Name bicepApplicationGroup -Location westus
$deployparms = @{
ResourceGroupName = "bicepApplicationGroup"
TemplateFile = "deployServiceCatalog.bicep"
TemplateParameterFile = "deployServiceCatalog-parameters.bicepparam"
Name = "deployServiceCatalogApp"
}
New-AzResourceGroupDeployment @deployparms
Zmienna $deployparms
używa splattingu programu PowerShell, aby zwiększyć czytelność wartości parametrów.
Wdrożenie może wyświetlić ostrzeżenie lintera Bicep, że managedResourceGroupId
właściwość oczekuje identyfikatora zasobu. Ponieważ zarządzana grupa zasobów jest tworzona podczas wdrażania, nie ma identyfikatora zasobu dostępnego dla właściwości.
Wyświetlanie wyników
Po wdrożeniu aplikacji zarządzanej katalogu usług masz dwie nowe grupy zasobów. Jedna grupa zasobów zawiera aplikację zarządzaną. Druga grupa zasobów zawiera wdrożone zasoby zarządzane. W tym przykładzie konto usługi App Service, plan usługi App Service i magazyn.
Aplikacja zarządzana
Po zakończeniu wdrażania możesz sprawdzić stan aplikacji zarządzanej.
Uruchom następujące polecenie, aby sprawdzić stan aplikacji zarządzanej.
Get-AzManagedApplication -Name sampleBicepManagedApp -ResourceGroupName bicepApplicationGroup
Rozwiń właściwości, aby ułatwić odczytywanie Properties
informacji.
Get-AzManagedApplication -Name sampleBicepManagedApp -ResourceGroupName bicepApplicationGroup | Select-Object -ExpandProperty Properties
Zasoby zarządzane
Zasoby wdrożone w zarządzanej grupie zasobów można wyświetlić.
Aby wyświetlić zasoby zarządzanej grupy zasobów, uruchom następujące polecenie. Zmienna została utworzona $mrgname
podczas tworzenia parametrów.
Get-AzResource -ResourceGroupName $mrgname
Aby wyświetlić wszystkie przypisania ról dla zarządzanej grupy zasobów.
Get-AzRoleAssignment -ResourceGroupName $mrgname
Definicja aplikacji zarządzanej utworzona w artykułach Szybki start używała grupy z przypisaniem roli Właściciel. Grupę można wyświetlić za pomocą następującego polecenia.
Get-AzRoleAssignment -ResourceGroupName $mrgname -RoleDefinitionName Owner
Można również wyświetlić listę przypisań odmowy dla zarządzanej grupy zasobów.
Get-AzDenyAssignment -ResourceGroupName $mrgname
Czyszczenie zasobów
Po zakończeniu pracy z aplikacją zarządzaną możesz usunąć grupy zasobów i usunąć wszystkie utworzone zasoby. Na przykład utworzono grupy zasobów bicepApplicationGroup i zarządzaną grupę zasobów z prefiksem mrg-bicepManagedApplication.
Po usunięciu grupy zasobów bicepApplicationGroup zarządzana aplikacja, zarządzana grupa zasobów i wszystkie zasoby platformy Azure zostaną usunięte.
Polecenie wyświetla monit o potwierdzenie, że chcesz usunąć grupę zasobów.
Remove-AzResourceGroup -Name bicepApplicationGroup
Jeśli chcesz usunąć definicję aplikacji zarządzanej, usuń utworzone grupy zasobów o nazwie packageStorageGroup i bicepDefinitionGroup.
Następne kroki
- Aby dowiedzieć się, jak tworzyć i publikować pliki definicji dla aplikacji zarządzanej przy użyciu programu Azure PowerShell, interfejsu wiersza polecenia platformy Azure lub portalu, przejdź do przewodnika Szybki start: tworzenie i publikowanie definicji aplikacji zarządzanej platformy Azure.
- Aby utworzyć i opublikować pliki definicji dla aplikacji zarządzanej przy użyciu własnego magazynu, przejdź do przewodnika Szybki start: Tworzenie i publikowanie definicji aplikacji zarządzanej platformy Azure.