Rövid útmutató: Azure Managed Application-definíció üzembe helyezése a Bicep használatával

Ez a rövid útmutató bemutatja, hogyan helyezhet üzembe azure-beli felügyelt alkalmazásdefiníciót a szolgáltatáskatalógusból a Bicep használatával. A szolgáltatáskatalógusban lévő definíciók a szervezet tagjai számára érhetők el.

Felügyelt alkalmazásdefiníció szolgáltatáskatalógusból való üzembe helyezéséhez hajtsa végre a következő feladatokat:

  • A Bicep használatával olyan sablont fejleszthet, amely üzembe helyez egy felügyelt alkalmazásdefiníciót.
  • Hozzon létre egy paraméterfájlt az üzembe helyezéshez.
  • Telepítse a felügyelt alkalmazás definícióját a szolgáltatáskatalógusból.

Előfeltételek

A cikkben szereplő feladatok elvégzéséhez a következő elemekre van szükség:

Felügyelt alkalmazás definíciójának lekérése

A felügyelt alkalmazás definíciójának Azure PowerShell való lekéréséhez futtassa az alábbi parancsokat.

A Visual Studio Code-ban nyisson meg egy új PowerShell-terminált, és jelentkezzen be az Azure-előfizetésbe.

Connect-AzAccount

A parancs megnyitja az alapértelmezett böngészőt, és kéri, hogy jelentkezzen be az Azure-ba. További információt a Bejelentkezés Azure PowerShell című témakörben talál.

A Azure PowerShell kérje le a felügyelt alkalmazás definícióját. Ebben a példában használja a felügyelt alkalmazás definíciójának telepítésekor létrehozott bicepDefinitionRG erőforráscsoport-nevet.

Get-AzManagedApplicationDefinition -ResourceGroupName bicepDefinitionRG

Get-AzManagedApplicationDefinition felsorolja a megadott erőforráscsoportban elérhető összes definíciót, például sampleBicepManagedApplication.

A következő parancs elemzi a kimenetet, hogy csak a definíció nevét és az erőforráscsoport nevét jelenítse meg. A felügyelt alkalmazás üzembe helyezésekor a neveket kell használnia.

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

A Bicep-fájl létrehozása

Nyissa meg a Visual Studio Code-ot, és hozzon létre egy deployServiceCatalog.bicep fájlnevet. Másolja és illessze be az alábbi kódot a fájlba, és mentse.

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

Az erőforrástípusról további információt a Microsoft.Solutions/applications webhelyen talál.

A paraméterfájl létrehozása

Nyissa meg a Visual Studio Code-ot, és hozzon létre egy deployServiceCatalog.parameters.json nevű paraméterfájlt. Másolja és illessze be az alábbi kódot a fájlba, és mentse.

{
  "$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"
    }
  }
}

A felügyelt alkalmazás üzembe helyezéséhez több paramétert is meg kell adnia:

Paraméter Érték
definitionName A szolgáltatáskatalógus-definíció neve. Ez a példa a sampleBicepManagedApplication parancsot használja.
definitionRG A definíciót tároló erőforráscsoport neve. Ez a példa a bicepDefinitionRG függvényt használja.
managedAppName Az üzembe helyezett felügyelt alkalmazás neve. Ez a példa a sampleBicepManagedAppot használja.
mrgName Az alkalmazás üzembe helyezett erőforrásait tartalmazó felügyelt erőforráscsoport egyedi neve. Az erőforráscsoport a felügyelt alkalmazás üzembe helyezésekor jön létre. Felügyelt erőforráscsoport nevének létrehozásához futtassa a paraméterlistát követő parancsokat.
appServicePlanName Hozzon létre egy tervnevet. Legfeljebb 40 alfanumerikus karakter és kötőjel. Például : demoAppServicePlan. App Service csomagneveknek egyedinek kell lenniük az előfizetés egy erőforráscsoportjában.
appServiceNamePrefix Hozzon létre egy előtagot a tervnévhez. Legfeljebb 47 alfanumerikus karakter vagy kötőjel. Például : demoApp. Az üzembe helyezés során az előtag egy egyedi sztringgel van összefűzve, hogy globálisan egyedi nevet hozzon létre az Azure-ban.
storageAccountNamePrefix Csak kisbetűket és számokat és legfeljebb 11 karaktert használjon. Például : demostg1234. Az üzembe helyezés során az előtag egy egyedi sztringgel van összefűzve, hogy globálisan egyedi nevet hozzon létre az Azure-ban.
storageAccountType A lehetőségek a következők: Premium_LRS, Standard_LRS és Standard_GRS.

A következő parancsok futtatásával létrehozhatja a felügyelt erőforráscsoport nevét.

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

A $mrgprefix és $mrgtimestamp a változó összefűzve és tárolva lesz a $mrgname változóban. A változó értéke mrg-sampleBicepManagedApplication-20230512103059 formátumban van. A felügyelt alkalmazás üzembe helyezésekor a $mrgname változó értékét kell használnia.

A felügyelt alkalmazás üzembe helyezése

A Azure PowerShell vagy az Azure CLI használatával hozzon létre egy erőforráscsoportot, és helyezze üzembe a felügyelt alkalmazást.

New-AzResourceGroup -Name bicepAppRG -Location westus3

New-AzResourceGroupDeployment `
  -ResourceGroupName bicepAppRG `
  -TemplateFile deployServiceCatalog.bicep `
  -TemplateParameterFile deployServiceCatalog.parameters.json

Előfordulhat, hogy az üzembe helyezés bicep linter figyelmeztetést jelenít meg arról, hogy a managedResourceGroupId tulajdonság erőforrás-azonosítót vár. Mivel a felügyelt erőforráscsoport az üzembe helyezés során jön létre, a tulajdonsághoz nem érhető el erőforrás-azonosító.

Eredmények megtekintése

A szolgáltatáskatalógus által felügyelt alkalmazás üzembe helyezése után két új erőforráscsoporttal rendelkezik. Egy erőforráscsoport tartalmazza a felügyelt alkalmazást. A másik erőforráscsoport tartalmazza az üzembe helyezett felügyelt erőforrásokat. Ebben a példában egy App Service, App Service csomagot és tárfiókot.

Felügyelt alkalmazás

Az üzembe helyezés befejezése után ellenőrizheti a felügyelt alkalmazás állapotát.

Futtassa a következő parancsot a felügyelt alkalmazás állapotának ellenőrzéséhez.

Get-AzManagedApplication -Name sampleBicepManagedApp -ResourceGroupName bicepAppRG

Bontsa ki a tulajdonságokat az információk könnyebb olvashatósága Properties érdekében.

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

Felügyelt erőforrások

Megtekintheti a felügyelt erőforráscsoportban üzembe helyezett erőforrásokat.

A felügyelt erőforráscsoport erőforrásainak megjelenítéséhez futtassa a következő parancsot. A paraméterek létrehozásakor létrehozta $mrgname a változót.

Get-AzResource -ResourceGroupName $mrgname

A felügyelt erőforráscsoport összes szerepkör-hozzárendelésének megjelenítése.

Get-AzRoleAssignment -ResourceGroupName $mrgname

A gyorsútmutató-cikkekben létrehozott felügyelt alkalmazásdefiníció egy tulajdonosi szerepkör-hozzárendeléssel rendelkező csoportot használt. A csoportot az alábbi paranccsal tekintheti meg.

Get-AzRoleAssignment -ResourceGroupName $mrgname -RoleDefinitionName Owner

A felügyelt erőforráscsoport megtagadási hozzárendeléseit is listázhatja.

Get-AzDenyAssignment -ResourceGroupName $mrgname

Az erőforrások eltávolítása

Ha végzett a felügyelt alkalmazással, törölheti az erőforráscsoportokat, és eltávolíthatja az összes létrehozott erőforrást. Létrehozta például a bicepAppRG erőforráscsoportokat és egy felügyelt erőforráscsoportot az mrg-bicepManagedApplication előtaggal.

A bicepAppRG erőforráscsoport törlésekor a rendszer törli a felügyelt alkalmazást, a felügyelt erőforráscsoportot és az összes Azure-erőforrást.

A parancssorban meg kell erősítenie, hogy el szeretné távolítani az erőforráscsoportot.

Remove-AzResourceGroup -Name bicepAppRG

Ha törölni szeretné a felügyelt alkalmazás definícióját, törölje a packageStorageRG és a bicepDefinitionRG nevű erőforráscsoportokat.

Következő lépések