Distribuire un'app Web C# ASP.NET in una macchina virtuale nell'hub di Azure Stack

È possibile creare una macchina virtuale per ospitare l'app Web C# ASP.NET nell'hub di Azure Stack. Questo articolo illustra come configurare il server, configurarlo per ospitare l'app Web C# ASP.NET e quindi distribuire l'app direttamente da Visual Studio.

Questo articolo descrive l'uso dell'hub di Azure Stack. È possibile eseguire Azure nel data center usando l'hub di Azure Stack. Per indicazioni su Azure globale, vedere Pubblicare un'app ASP.NET Core in Azure con Visual Studio.

Prerequisiti

None

Creare una VM

Creare una macchina virtuale e quindi installare i componenti necessari per ospitare l'app Web .NET. È necessaria la Console di gestione IIS, il servizio di gestione Web, il runtime .NET e Microsoft Web Deploy nella macchina virtuale. Sarà necessario aprire le porte per il server Web e per Distribuzione Web dal computer di sviluppo. Quando si installa il runtime .NET, assicurarsi di usare la stessa versione di .NET sia nel server di destinazione che nel computer di sviluppo.

  1. Creare una macchina virtuale Windows Server.

  2. Per installare i componenti IIS (con Console di gestione) e .NET 5.0 nella macchina virtuale, eseguire lo script seguente nella console di 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. Scaricare .NET 5.0 nella macchina virtuale.

  4. Scaricare Distribuzione Web v3.6. Installarlo dal file MSI e quindi abilitare tutte le funzionalità.

  5. Nel portale dell'hub di Azure Stack aprire le porte elencate nelle impostazioni di rete per la macchina virtuale.

    a. Aprire il portale dell'hub di Azure Stack per il tenant.

    b. Cercare la macchina virtuale. È possibile che la macchina virtuale sia stata aggiunta al dashboard oppure che sia possibile cercarla nella casella Cerca risorse .

    c. Selezionare Rete.

    d. Selezionare Aggiungi regola porta in ingresso nella macchina virtuale.

    e. Aggiungere una regola di sicurezza in ingresso per le porte seguenti:

    Porta Protocollo Descrizione
    80 HTTP Hypertext Transfer Protocol (HTTP) è il protocollo usato per distribuire pagine Web dai server. I client si connettono tramite HTTP con un nome DNS o un indirizzo IP.
    443 HTTPS Hypertext Transfer Protocol Secure (HTTPS) è una versione sicura di HTTP che richiede un certificato di sicurezza e consente la trasmissione crittografata di informazioni.
    22 SSH Secure Shell (SSH) è un protocollo di rete crittografato per comunicazioni sicure. Questa connessione verrà usata con un client SSH per configurare la macchina virtuale e distribuire l'app.
    3389 RDP Facoltativo. Remote Desktop Protocol consente a una connessione Desktop remoto di usare un'interfaccia utente grafica del computer.
    8172 Personalizzazione Porta utilizzata da Distribuzione Web.

    Per ogni porta:

    a. In Origine selezionare Qualsiasi.

    b. Per Intervallo di porte di origine digitare un asterisco (*).

    c. In Destinazione selezionare Qualsiasi.

    d. Per Intervallo di porte di destinazione, aggiungere la porta da aprire.

    e. In Protocollo selezionare Qualsiasi.

    f. In Azione selezionare Consenti.

    g. Per Priorità lasciare la selezione predefinita.

    h. Immettere un nome e una descrizione per ricordare il motivo per cui la porta è aperta.

    i. Selezionare Aggiungi.

  6. Nelle impostazioni di Panoramica per la macchina virtuale nell'hub di Azure Stack creare un nome DNS per il server. Gli utenti possono connettersi al sito Web usando l'URL.

    a. Aprire il portale dell'hub di Azure Stack per il tenant.

    b. Cercare la macchina virtuale. È possibile che la macchina virtuale sia stata aggiunta al dashboard oppure che sia possibile cercarla nella casella Cerca risorse .

    c. Selezionare Panoramica.

    d. In DNS selezionare Configura.

    e. In Assegnazione selezionare Dinamico.

    f. Immettere l'etichetta del nome DNS, ad esempio mywebapp, in modo che l'URL completo diventi simile mywebapp.region.cloudapp.azurestack.corp.contoso.com.

Creare un'app

È possibile usare l'app .NET predefinita in Visual Studio, la propria app Web, un esempio in Pubblicare un'app ASP.NET Core in Azure con Visual Studio. L'articolo descrive come creare e pubblicare un'app Web ASP.NET in una macchina virtuale di Azure usando la funzionalità di pubblicazione di Azure Macchine virtuali in Visual Studio 2019. Dopo aver installato e verificato che l'app sia in esecuzione in locale, si aggiornerà la destinazione di pubblicazione alla macchina virtuale Windows nell'istanza dell'hub di Azure Stack.

Distribuire ed eseguire l'app

Creare una destinazione di pubblicazione dal computer di sviluppo alla macchina virtuale nell'hub di Azure Stack.

  1. In Esplora soluzioni fare clic con il pulsante destro del mouse sul progetto e quindi scegliere Pubblica.

    Distribuire un'app Web ASP.NET nella pubblicazione dell'hub di Azure Stack

  2. Nella finestra Pubblica selezionare Nuovo.

  3. Selezionare Server Web (IIS).

  4. Selezionare Next Web Deploy>Next (Distribuzione>Web successiva).

  5. Per Server immettere il nome DNS definito in precedenza, ad esempio mywebapp.region.cloudapp.azurestack.corp.contoso.com.

  6. In Nome sito immettere Default Web Siteo il nome usato in IIS nel server di destinazione.

  7. In Nome utente immettere il nome utente per il computer.

  8. In Password immettere la password per il computer.

  9. Per URL di destinazione immettere l'URL per il sito, ad esempio http://mywebapp.region.cloudapp.azurestack.corp.contoso.com.

    Distribuire un'app Web ASP.NET - Configurare distribuzione Web

  10. Per convalidare la configurazione della distribuzione Web, selezionare Convalida connessione e quindi selezionare Avanti.

  11. Impostare Configuration (Configurazione ) su Release (Versione).

  12. Impostare Framework di destinazione su net5.0.

  13. Impostare la modalità di distribuzione come dipendente dal framework.

  14. Impostare Runtime di destinazione come win-x64.

  15. Seleziona Salva.

  16. Seleziona Pubblica. Nella console di Visual Studio dovrebbe essere visualizzato l'output seguente:

    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. Passare al nuovo server. Verrà visualizzata l'applicazione Web in esecuzione.

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