Sdílet prostřednictvím


Rychlý start: Nasazení definice spravované aplikace Azure pomocí Bicep

Tento rychlý start popisuje, jak pomocí Bicep nasadit definici spravované aplikace Azure z katalogu služeb. Definice v katalogu služeb je dostupná členům vaší organizace.

Pokud chcete nasadit definici spravované aplikace z katalogu služeb, proveďte následující úlohy:

  • Použijte Bicep k vývoji šablony, která nasadí definici spravované aplikace.
  • Vytvořte soubor parametrů pro nasazení.
  • Nasaďte definici spravované aplikace z katalogu služeb.

Požadavky

K dokončení úkolů v tomto článku potřebujete následující položky:

Získání definice spravované aplikace

Pokud chcete získat definici spravované aplikace pomocí Azure PowerShellu, spusťte následující příkazy.

V editoru Visual Studio Code otevřete nový terminál PowerShellu a přihlaste se k předplatnému Azure.

Connect-AzAccount

Příkaz otevře výchozí prohlížeč a vyzve vás, abyste se přihlásili k Azure. Další informace najdete v tématu Přihlášení pomocí Azure PowerShellu.

Z Azure PowerShellu získejte definici spravované aplikace. V tomto příkladu použijte název skupiny prostředků bicepDefinitionGroup , který byl vytvořen při nasazení definice spravované aplikace.

Get-AzManagedApplicationDefinition -ResourceGroupName bicepDefinitionGroup

Get-AzManagedApplicationDefinition zobrazí seznam všech dostupných definic v zadané skupině prostředků, jako je sampleBicepManagedApplication.

Následující příkaz analyzuje výstup tak, aby zobrazoval pouze název definice a název skupiny prostředků. Názvy použijete při nasazení spravované aplikace.

Get-AzManagedApplicationDefinition -ResourceGroupName bicepDefinitionGroup | Select-Object -Property Name, ResourceGroupName

Vytvoření souboru Bicep

Otevřete Visual Studio Code a vytvořte název souboru deployServiceCatalog.bicep. Zkopírujte a vložte do souboru následující kód a uložte ho.

@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
      }
    }
  }
}

Další informace o typu prostředku najdete v tématu Microsoft.Solutions/applications.

Vytvoření souboru parametrů

Otevřete Visual Studio Code a vytvořte soubor parametrů s názvem deployServiceCatalog-parameters.bicepparam. Zkopírujte a vložte do souboru následující kód a uložte ho.

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'

Abyste mohli nasadit spravovanou aplikaci, musíte zadat několik parametrů:

Parametr Hodnota
definitionName Název definice katalogu služeb. V tomto příkladu se používá sampleBicepManagedApplication.
definitionRG Název skupiny prostředků, ve které je definice uložená. Tento příklad používá bicepDefinitionGroup.
managedAppName Název nasazené spravované aplikace Tento příklad používá sampleBicepManagedApp.
mrgName Jedinečný název spravované skupiny prostředků, která obsahuje nasazené prostředky aplikace. Skupina prostředků se vytvoří při nasazení spravované aplikace. Pokud chcete vytvořit název spravované skupiny prostředků, spusťte příkazy, které následují za tímto seznamem parametrů, a použijte $mrgname hodnotu k nahrazení zástupného symbolu v souboru parametrů.
appServicePlanName Vytvořte název plánu. Maximálně 40 alfanumerických znaků a pomlček. Například demoAppServicePlan. Názvy plánů služby App Service musí být jedinečné v rámci skupiny prostředků ve vašem předplatném.
appServiceNamePrefix Vytvořte předponu pro název plánu. Maximálně 47 alfanumerických znaků nebo pomlček. Například demoApp. Během nasazení se předpona zřetědí s jedinečným řetězcem, který vytvoří globálně jedinečný název v rámci Azure.

Spuštěním následujících příkazů můžete vytvořit název spravované skupiny prostředků.

$mrgprefix = 'mrg-sampleBicepManagedApplication-'
$mrgtimestamp = Get-Date -UFormat "%Y%m%d%H%M%S"
$mrgname = $mrgprefix + $mrgtimestamp
$mrgname

Proměnné $mrgprefix jsou $mrgtimestamp zřetězeny a uloženy v $mrgname proměnné. Hodnota proměnné je ve formátu mrg-sampleBicepManagedApplication-20230512103059. Hodnotu proměnné použijete $mrgname při nasazování spravované aplikace.

Nasazení spravované aplikace

Pomocí Azure PowerShellu nebo Azure CLI vytvořte skupinu prostředků a nasaďte spravovanou aplikaci.

New-AzResourceGroup -Name bicepApplicationGroup -Location westus

$deployparms = @{
  ResourceGroupName = "bicepApplicationGroup"
  TemplateFile = "deployServiceCatalog.bicep"
  TemplateParameterFile = "deployServiceCatalog-parameters.bicepparam"
  Name = "deployServiceCatalogApp"
}

New-AzResourceGroupDeployment @deployparms

Proměnná $deployparms používá k vylepšení čitelnosti hodnot parametrů powershellové dělení.

Vaše nasazení může zobrazit upozornění linter Bicep, že managedResourceGroupId vlastnost očekává ID prostředku. Vzhledem k tomu, že se spravovaná skupina prostředků vytvoří během nasazení, není pro tuto vlastnost k dispozici ID prostředku.

Zobrazení výsledků

Po nasazení spravované aplikace katalogu služeb máte dvě nové skupiny prostředků. Jedna skupina prostředků obsahuje spravovanou aplikaci. Druhá skupina prostředků obsahuje spravované prostředky, které byly nasazeny. V tomto příkladu se jedná o službu App Service, plán služby App Service a účet úložiště.

Spravovaná aplikace

Po dokončení nasazení můžete zkontrolovat stav spravované aplikace.

Spuštěním následujícího příkazu zkontrolujte stav spravované aplikace.

Get-AzManagedApplication -Name sampleBicepManagedApp -ResourceGroupName bicepApplicationGroup

Rozbalte vlastnosti, abyste usnadnili Properties čtení informací.

Get-AzManagedApplication -Name sampleBicepManagedApp -ResourceGroupName bicepApplicationGroup | Select-Object -ExpandProperty Properties

Spravované prostředky

Můžete zobrazit prostředky nasazené do spravované skupiny prostředků.

Pokud chcete zobrazit prostředky spravované skupiny prostředků, spusťte následující příkaz. Proměnnou $mrgname jste vytvořili při vytváření parametrů.

Get-AzResource -ResourceGroupName $mrgname

Zobrazení všech přiřazení rolí pro spravovanou skupinu prostředků

Get-AzRoleAssignment -ResourceGroupName $mrgname

Definice spravované aplikace, kterou jste vytvořili v článcích rychlého startu, použila skupinu s přiřazením role Vlastník. Skupinu můžete zobrazit pomocí následujícího příkazu.

Get-AzRoleAssignment -ResourceGroupName $mrgname -RoleDefinitionName Owner

Můžete také zobrazit seznam přiřazení zamítnutí pro spravovanou skupinu prostředků.

Get-AzDenyAssignment -ResourceGroupName $mrgname

Vyčištění prostředků

Po dokončení práce se spravovanou aplikací můžete odstranit skupiny prostředků a odebrat všechny prostředky, které jste vytvořili. Například jste vytvořili skupiny prostředků bicepApplicationGroup a spravovanou skupinu prostředků s předponou mrg-bicepManagedApplication.

Když odstraníte skupinu prostředků bicepApplicationGroup , odstraní se spravovaná aplikace, spravovaná skupina prostředků a všechny prostředky Azure.

Příkaz vás vyzve k potvrzení, že chcete odebrat skupinu prostředků.

Remove-AzResourceGroup -Name bicepApplicationGroup

Pokud chcete odstranit definici spravované aplikace, odstraňte skupiny prostředků, které jste vytvořili s názvem packageStorageGroup a bicepDefinitionGroup.

Další kroky