Démarrage rapide : déployer une application managée du catalogue de services

Dans ce guide de démarrage rapide, vous utilisez la définition d’application managée que vous avez créée à l’aide de l’un des articles de ce guide. Le déploiement crée deux groupes de ressources. L’un contient l’application managée, tandis que l’autre est un groupe de ressources managées de la ressource déployée. La définition d’application managée déploie un plan App Service, un App Service et un compte de stockage.

Prérequis

Créer une application managée de catalogue de services

Les exemples utilisent les noms des groupes de ressources créés dans le guide de démarrage rapide pour publier une définition d’application. Si vous avez utilisé le guide de démarrage rapide pour publier une définition avec apportez votre propre stockage, utilisez ces noms de groupes de ressources.

  • Publier la définition d’application : packageStorageGroup et appDefinitionGroup.
  • Publier une définition avec BYOS (apportez votre propre stockage) : packageStorageGroup, byosDefinitionStorageGroup et byosAppDefinitionGroup.

Obtenir une définition d’application managée

Pour obtenir la définition d’application managée avec Azure PowerShell, exécutez les commandes suivantes.

Dans Visual Studio Code, ouvrez un nouveau terminal PowerShell et connectez-vous à votre abonnement Azure.

Connect-AzAccount

La commande ouvre votre navigateur par défaut et vous invite à vous connecter à Azure. Pour plus d’informations, accédez à Se connecter avec Azure PowerShell.

À partir d’Azure PowerShell, obtenez la définition de votre application managée. Dans cet exemple, utilisez le nom de groupe de ressources appDefinitionGroup qui a été créé lorsque vous avez déployé la définition d’application managée.

Get-AzManagedApplicationDefinition -ResourceGroupName appDefinitionGroup

Get-AzManagedApplicationDefinition répertorie toutes les définitions disponibles dans le groupe de ressources spécifié, comme sampleManagedApplication.

Créer une variable pour l’ID de la ressource de la définition d’application managée.

$definitionid = (Get-AzManagedApplicationDefinition -ResourceGroupName appDefinitionGroup -Name sampleManagedApplication).ManagedApplicationDefinitionId

Vous utilisez la valeur de la variable $definitionid lorsque vous déployez l’application managée.

Créer un groupe de ressources et des paramètres

Créer un groupe de ressources pour l’application managée utilisée pendant le déploiement.

New-AzResourceGroup -Name applicationGroup -Location westus3

Vous devez également créer un nom pour le groupe de ressources de l’application managée. Le groupe de ressources est créé lorsque vous déployez l’application managée.

Exécutez les commandes suivantes pour créer le nom du groupe de ressources managé.

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

Les variables $mrgprefix et $mrgtimestamp sont concaténées et stockées dans la variable $mrgname. La valeur de la variable se présente sous la forme mrg-sampleManagedApplication-20230512103059. Vous utilisez la valeur de la variable $mrgname lorsque vous déployez l’application managée.

Vous devez fournir plusieurs paramètres à la commande de déploiement de l’application managée. Vous pouvez utiliser une chaîne au format JSON ou créer un fichier JSON. Dans cet exemple, nous utilisons une chaîne au format JSON. Le caractère d’échappement PowerShell des guillemets est le caractère backtick (`). Le backtick est également utilisé pour une continuation de ligne, ainsi les commandes peuvent être réparties sur plusieurs lignes.

La syntaxe de la chaîne au format JSON est la suivante :

"{ `"parameterName`": {`"value`":`"parameterValue`"}, `"parameterName`": {`"value`":`"parameterValue`"} }"

Pour plus de lisibilité, la chaîne JSON terminée utilise le backtick pour une continuation de ligne. Les valeurs sont stockées dans la variable $params utilisée dans la commande de déploiement. Les paramètres de la chaîne JSON sont requis pour déployer les ressources managées.

$params="{ `"appServicePlanName`": {`"value`":`"demoAppServicePlan`"}, `
`"appServiceNamePrefix`": {`"value`":`"demoApp`"}, `
`"storageAccountNamePrefix`": {`"value`":`"demostg1234`"}, `
`"storageAccountType`": {`"value`":`"Standard_LRS`"} }"

Paramètres pour créer les ressources managées :

  • appServicePlanName : créer un nom de plan. Vous disposez d’un maximum de 40 caractères alphanumériques et traits d’union. Par exemple, demoAppServicePlan. Les noms de plan App Service doivent être uniques au sein d’un groupe de ressources de votre abonnement.
  • appServiceNamePrefix : créez un préfixe pour le nom du plan. Vous disposez d’un maximum de 47 caractères alphanumériques ou traits d’union. Par exemple, demoApp. Pendant le déploiement, le préfixe est concaténé avec une chaîne unique pour créer un nom globalement unique dans Azure.
  • storageAccountNamePrefix : utilisez uniquement des lettres minuscules et des chiffres, et un maximum de 11 caractères. Par exemple, demostg1234. Pendant le déploiement, le préfixe est concaténé avec une chaîne unique pour créer un nom globalement unique dans Azure. Bien que vous créez un préfixe, le contrôle recherche les noms existants dans Azure et peut publier un message de validation indiquant que le nom existe déjà. Si c’est le cas, choisissez un autre préfixe.
  • storageAccountType : Les options sont Premium_LRS, Standard_LRS et Standard_GRS.

Déployer l’application managée

Exécutez la commande suivante pour déployer l’application managée.

New-AzManagedApplication `
  -Name "demoManagedApplication" `
  -ResourceGroupName applicationGroup `
  -Location westus3 `
  -ManagedResourceGroupName $mrgname `
  -ManagedApplicationDefinitionId $definitionid `
  -Kind ServiceCatalog `
  -Parameter $params

Paramètres utilisés dans la commande de déploiement :

  • Name : spécifier le nom de l’application managée. Pour cet exemple, utilisez demoManagedApplication.
  • ResourceGroupName : nom du groupe de ressources que vous avez créé pour l’application managée.
  • Location : spécifier la région où déployer les ressources. Pour cet exemple, utilisez westus3.
  • ManagedResourceGroupName : utilise la valeur de la variable de $mrgname. Le groupe de ressources managé est créé lorsque l’application managée est déployée.
  • ManagedApplicationDefinitionId : utilise la valeur de la variable $definitionid pour l’ID de ressource de la définition d’application managée.
  • Kind : spécifie ce type d’application managée. Cet exemple utilise ServiceCatalog.
  • Parameter : utilise la valeur de la variable $params dans la chaîne au format JSON.

Afficher les résultats

Une fois l’application managée de catalogue de services déployée, vous avez deux nouveaux groupes de ressources. Un groupe de ressources contient l’application managée. L’autre groupe de ressources contient les ressources managées qui ont été déployées. Dans cet exemple, un App Service, un plan App Service et un compte de stockage.

Application managée

Une fois le déploiement terminé, vous pouvez vérifier l’état de votre application managée.

Exécutez la commande suivante pour vérifier l’état de l’application managée.

Get-AzManagedApplication -Name demoManagedApplication -ResourceGroupName applicationGroup

Développez les propriétés pour faciliter la lecture des informations Properties.

Get-AzManagedApplication -Name demoManagedApplication -ResourceGroupName applicationGroup | Select-Object -ExpandProperty Properties

Ressources managées

Vous pouvez afficher les ressources déployées sur le groupe de ressources managé.

Pour afficher les ressources du groupe de ressources managé, exécutez la commande suivante. Vous avez créé la variable $mrgname lorsque vous avez créé les paramètres.

Get-AzResource -ResourceGroupName $mrgname

Pour afficher toutes les attributions de rôles du groupe de ressources managé.

Get-AzRoleAssignment -ResourceGroupName $mrgname

La définition d’application managée que vous avez créée dans les articles de démarrage rapide utilisait un groupe ayant l’attribution de rôle Propriétaire. Vous pouvez afficher le groupe à l’aide de la commande suivante.

Get-AzRoleAssignment -ResourceGroupName $mrgname -RoleDefinitionName Owner

Vous pouvez également répertorier les affectations de refus du groupe de ressources managé.

Get-AzDenyAssignment -ResourceGroupName $mrgname

Nettoyer les ressources

Lorsque vous en avez terminé avec l’application managée, vous pouvez supprimer les groupes de ressources, ce qui supprime toutes les ressources que vous avez créées. Par exemple, dans ce guide de démarrage rapide, vous avez créé les groupes de ressources applicationGroup et un groupe de ressources managées ayant le préfixe mrg-sampleManagedApplication.

La commande vous invite à confirmer que vous souhaitez supprimer le groupe de ressources.

Remove-AzResourceGroup -Name applicationGroup

Si vous souhaitez supprimer la définition d’application managée, supprimez les groupes de ressources que vous avez créés dans les articles de démarrage rapide.

  • Publier la définition d’application : packageStorageGroup et appDefinitionGroup.
  • Publier une définition avec BYOS (apportez votre propre stockage) : packageStorageGroup, byosDefinitionStorageGroup et byosAppDefinitionGroup.

Étapes suivantes