Déployer une application web ASP.NET C# sur une machine virtuelle dans Azure Stack Hub

Vous pouvez créer une machine virtuelle pour héberger votre application web ASP.NET C# dans Azure Stack Hub. Cet article vous explique comment installer votre serveur, le configurer pour héberger votre application web ASP.NET C#, puis déployer l’application directement à partir de Visual Studio.

Cet article traite de l’utilisation d’Azure Stack Hub. Vous pouvez exécuter Azure dans votre centre de données avec Azure Stack Hub. Si vous recherchez des conseils pour Azure international, consultez Publier une application ASP.NET Core sur Azure avec Visual Studio.

Créer une machine virtuelle

Créez une machine virtuelle, puis installez les composants dont vous avez besoin pour héberger votre application web .NET. La Console de gestion IIS, le Service de gestion Web, le runtime .NET et Microsoft Web Deploy doivent être présents sur votre machine virtuelle. Vous devez ouvrir les ports pour votre serveur web et Web Deploy à partir de votre ordinateur de développement. Quand vous installez le runtime .NET, veillez à utiliser la même version de .NET sur votre serveur cible et votre ordinateur de développement.

  1. Créez une machine virtuelle Windows Server.

  2. Pour installer les composants .NET 5.0 et IIS (avec la Console de gestion) sur votre machine virtuelle, exécutez le script suivant dans votre console PowerShell 5.x :

    # Install IIS (with Management Console)
    Install-WindowsFeature -name Web-Server -IncludeManagementTools
    
    # Install Web Management Service
    Install-WindowsFeature -Name Web-Mgmt-Service
    
  3. Téléchargez .NET 5.0 sur votre machine virtuelle.

  4. Téléchargez Web Deploy v3.6. Installez Web Deploy à partir du fichier MSI, puis activez toutes les fonctionnalités.

  5. Dans le portail Azure Stack Hub, ouvrez les ports listés dans les paramètres réseau de votre machine virtuelle.

    a. Ouvrez le portail Azure Stack Hub de votre locataire.

    b. Recherchez votre machine virtuelle. Vous l’avez peut-être épinglée sur votre tableau de bord ; sinon, vous pouvez la rechercher dans la zone Rechercher des ressources.

    c. Sélectionnez Mise en réseau.

    d. Sélectionnez Ajouter une règle de port d’entrée sous la machine virtuelle.

    e. Ajoutez une règle de sécurité de trafic entrant pour les ports suivants :

    Port Protocol Description
    80 HTTP HTTP (Hypertext Transfer Protocol) est le protocole utilisé pour fournir des pages web à partir des serveurs. Les clients se connectent via HTTP avec une adresse IP ou un nom DNS.
    443 HTTPS HTTPS (Hypertext Transfer Protocol Secure) est une version sécurisée du protocole HTTP qui nécessite un certificat de sécurité pour la transmission chiffrée des informations.
    22 SSH SSH (Secure Shell) est un protocole réseau chiffré pour les communications sécurisées. Nous utiliserons cette connexion avec un client SSH pour configurer la machine virtuelle et déployer l’application.
    3389 RDP facultatif. Le protocole RDP (Remote Desktop Protocol) permet d’utiliser une connexion Bureau à distance avec une interface graphique utilisateur.
    8172 Custom Port utilisé par Web Deploy.

    Pour chaque port :

    a. Dans Source, sélectionnez Any (Tous) .

    b. Pour Plage de ports source, entrez un astérisque (*).

    c. Pour Destination, sélectionnez Any (Tous) .

    d. Pour Plage de ports de destination, ajoutez le port que vous souhaitez ouvrir.

    e. Pour Protocole, sélectionnez Any (Tous) .

    f. Pour Action, sélectionnez Autoriser.

    g. Pour Priorité, conservez la sélection par défaut.

    h. Entrez un nom et une description pour vous rappeler la raison pour laquelle le port est ouvert.

    i. Sélectionnez Ajouter.

  6. Dans les paramètres Vue d’ensemble de votre machine virtuelle dans Azure Stack Hub, créez un nom DNS pour votre serveur. Les utilisateurs peuvent se connecter à votre site web avec l’URL.

    a. Ouvrez le portail Azure Stack Hub de votre locataire.

    b. Recherchez votre machine virtuelle. Vous l’avez peut-être épinglée sur votre tableau de bord ; sinon, vous pouvez la rechercher dans la zone Rechercher des ressources.

    c. Sélectionnez Vue d’ensemble.

    d. Sous DNS, sélectionnez Configurer.

    e. Pour Attribution, sélectionnez Dynamique.

    f. Entrez l’étiquette de nom DNS, par exemple mywebapp. Votre URL complète doit alors ressembler à ceci : mywebapp.region.cloudapp.azurestack.corp.contoso.com.

Créer une application

Vous pouvez utiliser l’application .NET par défaut dans Visual Studio, votre propre application web ou un exemple issu de Publier une application ASP.NET Core sur Azure avec Visual Studio. L’article explique comment créer et publier une application web ASP.NET sur une machine virtuelle Azure avec la fonctionnalité de publication Machines virtuelles Azure de Visual Studio 2019. Une fois que vous avez effectué l’installation et vérifié que votre application s’exécute localement, vous devez remplacer votre cible de publication par la machine virtuelle Windows dans votre instance Azure Stack Hub.

Déployer et exécuter l’application

Créez une cible de publication à partir de votre ordinateur de développement sur votre machine virtuelle dans Azure Stack Hub.

  1. Dans l’Explorateur de solutions, cliquez avec le bouton droit sur le projet, puis sélectionnez Publier.

    Déployer une application web ASP.NET dans Azure Stack Hub – Publier

  2. Dans la fenêtre Publier, sélectionnez Nouveau.

  3. Sélectionnez Serveur web (IIS) .

  4. Sélectionnez Suivant>Web Deploy>Suivant.

  5. Pour Serveur, entrez le nom DNS défini précédemment, par exemple mywebapp.region.cloudapp.azurestack.corp.contoso.com.

  6. Pour Nom du site, entrez Default Web Site ou le nom utilisé dans IIS sur votre serveur cible.

  7. Pour Nom d’utilisateur, entrez le nom d’utilisateur de la machine.

  8. Dans le champ Mot de passe, entrez le mot de passe de la machine.

  9. Pour URL de destination, entrez l’URL du site, telle que http://mywebapp.region.cloudapp.azurestack.corp.contoso.com.

    Déployer une application web ASP.NET – Configurer Web Deploy

  10. Pour valider votre configuration Web Deploy, sélectionnez Valider la connexion, puis Suivant.

  11. Définissez votre Configuration sur Mise en production.

  12. Définissez Version cible de .NET Framework sur net5.0.

  13. Définissez Mode de déploiement sur Dépendant du framework.

  14. Définissez Runtime cible sur win-x64.

  15. Sélectionnez Enregistrer.

  16. Sélectionnez Publier. Vous devez voir la sortie suivante dans votre console dans Visual Studio :

    Publish Succeeded.
    Web App was published successfully http://mywebapp.region.cloudapp.azurestack.corp.contoso.com/
    ========== Build: 1 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========
    ========== Publish: 1 succeeded, 0 failed, 0 skipped ==========
    
  17. Accédez au nouveau serveur. Vous devriez voir votre application web en cours d’exécution.

    mywebapp.region.cloudapp.azurestack.corp.contoso.com
    

Étapes suivantes