Udostępnij za pośrednictwem


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:

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