Déployer une instance managée sur Azure App Service

Managed Instance sur Azure App Service combine la simplicité de la plateforme en tant que service avec la flexibilité du contrôle au niveau de l’infrastructure. Managed Instance est conçu pour les applications nécessitant la personnalisation du système d’exploitation, le réseau privé et une intégration sécurisée avec les services Azure.

Important

Managed Instance est généralement disponible pour les applications web Windows dans certaines régions et est limité aux forfaits tarifaires Pv4 et PMV4. Microsoft ajoutera de nouvelles régions au fil du temps. Managed Instance ne prend pas en charge Linux ni les conteneurs.

Dans ce guide de démarrage rapide, vous effectuez les étapes suivantes :

  1. Utilisez Azure Developer CLI pour déployer des exemples de ressources.
  2. Créez une instance Managed Instance sur Azure App Service.
  3. Déployez un exemple d’application.
  4. Vérifier le déploiement

Prerequisites

  • Compte Azure : vous avez besoin d’un compte Azure avec un abonnement actif. Si vous n’en avez pas déjà un, vous pouvez créer un compte gratuit.

  • Identité managée

  • Démarrage rapide : Charger, télécharger et répertorier des objets blob avec le portail Azure

  • Script optionnel de configuration (installation) : Ce démarrage rapide utilise un script PowerShell nommé Install.ps1 dans un fichier .zip compressé pour installer les polices. Les scripts de configuration ne sont pas obligatoires pour Managed Instance. Utilisez un script de configuration lorsque votre application nécessite des dépendances, des rôles au niveau du système d’exploitation, des fonctionnalités ou une configuration, ou des modifications persistantes qui seraient autrement perdues après un redémarrage d’instance. Utilisez RDP pour le diagnostic plutôt que pour la configuration persistante.

Déployer des exemples de ressources

Vous pouvez déployer rapidement toutes les ressources nécessaires dans ce démarrage rapide en utilisant Azure Developer CLI (AZD). Le modèle AZD utilisé dans ce guide de démarrage rapide provient d’exemples Azure.

mkdir managed-instance-quickstart
cd managed-instance-quickstart
azd init --template https://github.com/Azure-Samples/managed-instance-azure-app-service-quickstart.git .
azd env set AZURE_LOCATION northeurope
azd up

La commande azd up exécute les actions suivantes :

  1. Il crée une identité managée attribuée par l’utilisateur.
  2. Crée un objet blob de stockage Azure.
  3. Affecte l’identité managée au conteneur de stockage et au plan Managed Instance.
  4. Accorde l'accès Stockage-Blob-Données-Contributeur sur le conteneur de stockage.
  5. Compresse les polices incluses et Install.ps1 dans scripts.zip.
  6. Chargez scripts.zip dans le conteneur de stockage.

Note

Le paquet de script de configuration (scripts.zip) déployé avec les ressources d’exemple contient Install.ps1, qui copie les fichiers de polices Microsoft Aptos dans C:\Windows\Fonts. L’application exemple que vous déployez utilise ces polices.

Le code PowerShell suivant est le script de configuration (installation) utilisé dans le modèle.

# Install.ps1 - Copy and register fonts on Managed Instance
Write-Host "Installing custom fonts on Managed Instance..." -ForegroundColor Green

# Copy all TTF and OTF fonts to Windows Fonts folder and register them
Get-ChildItem -Recurse -Include *.ttf, *.otf | ForEach-Object {
    $FontFullName = $_.FullName
    $FontName = $_.BaseName + " (TrueType)"
    $Destination = "$env:windir\Fonts\$($_.Name)"

    Write-Host "Installing font: $($_.Name)"
    Copy-Item $FontFullName -Destination $Destination -Force
    New-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts" -Name $FontName -PropertyType String -Value $_.Name -Force | Out-Null
}

Write-Host "Font installation completed." -ForegroundColor Green

La sortie finale de azd up doit ressembler à l’exemple suivant.

=== Deployment Complete ===
Storage Account: stgpjqep6fdlfv6
Container Name: scripts
Managed Identity Client name: id-gpjqep6fdlfv6
Resource Group: rg-managed-instance

Les valeurs pour Storage Account, , Container NameManaged Identity Client name, Resource Groupet Script URI sont utilisées ultérieurement.

Déployer un plan Managed Instance

Procédez comme suit pour créer un plan Managed Instance et déployer une application sur celle-ci :

  1. Connectez-vous au portail Azure.
  2. Sélectionnez + Créer une ressource.
  3. Rechercher une instance managée
  4. Sélectionnez Web App (pour Managed Instance) dans les résultats.
  5. Sélectionnez Créer pour démarrer le processus de création.
  6. Sous l’onglet De base, fournissez les détails suivants.

Détails du projet

Réglage Valeur
Subscription Votre abonnement Azure
Groupe de ressources rg-managed-instance

Détails de l’application

Réglage Valeur
Nom contoso-mi-app
Pile d’exécution ASPNET V4.8
Région Une région près de vous

Plans tarifaires

Réglage Valeur
Plan de Windows Utilisez le plan par défaut ou créez-en (par exemple, « contoso-mi-plan »)
Plans tarifaires* Sélectionnez un plan tarifaire. Si Pv4 ou Pmv4 n’est pas visible dans les plans tarifaires, confirmez la disponibilité de la région ou demandez plus de quota.

Sous l’onglet Avancé, fournissez les détails suivants.

Script de configuration (installation)

Réglage Valeur
Compte de stockage Utilisez le plan par défaut ou créez-en (par exemple, « contoso-mi-plan »)
Conteneur scripts
Fichier zip scripts.zip
Valeur Vérifiez que l’URL de .zip est correcte
Identité Sélectionnez l’identité managée créée précédemment.
  • Sélectionnez Vérifier + créer, puis Créer.

Déployer un exemple d’application sur Managed Instance

Dans cette étape, vous utilisez Cloud Shell pour déployer un exemple d’application inclus dans le modèle AZD sur Managed Instance.

  • La commande suivante déploie l’application web sur votre plan Managed Instance. Mettre à jour <app-name> et <resource-group> avec vos valeurs.
az webapp deploy \
  --resource-group "<resource-group-name>" \
  --name "<app-name>" \
  --src-path app.zip \
  --type zip

Accéder à l’application

Pour accéder à l’application créée, sélectionnez le domaine par défaut dans la page Vue d’ensemble .

L’application .NET s’exécute sur un plan Managed Instance. L’application utilise des polices à partir du répertoire C :\Windows\Fonts.

Capture d’écran montrant l’exemple d’application utilisant C :\Windows\Fonts\Aptos.TTF.

Gérer le plan Managed Instance

Pour gérer votre application web, accédez au Portail Azure, puis recherchez et sélectionnez App Services.

Dans la page App Services, sélectionnez le nom de votre application web.

Dans la page Vue d’ensemble , sélectionnez le nom de votre plan App Service. Sous plan App Service actuel, sélectionnez le nom du plan.

Dans le menu de gauche sous Paramètres, sélectionnez Configuration pour afficher les détails de la configuration.

Nettoyer les ressources

Au cours des étapes précédentes, vous avez créé des ressources Azure au sein d’un groupe de ressources. Si vous ne pensez pas avoir besoin de ces ressources à l’avenir, vous pouvez les supprimer en supprimant le groupe de ressources.

  1. Sur la page Vue d’ensemble de votre application web dans le Portail Azure, sélectionnez le lien myResourceGroup sous Groupe de ressources.
  2. Sur la page du groupe de ressources, assurez-vous que les ressources répertoriées sont bien celles que vous souhaitez supprimer.
  3. Sélectionnez Supprimer le groupe de ressources, tapez myResourceGroup dans la zone de texte, puis sélectionnez Supprimer.
  4. Confirmez à nouveau en sélectionnant Supprimer.