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. Se si cercano indicazioni per Azure globale, vedere Pubblicare un'app ASP.NET Core in Azure con Visual Studio.

Prerequisiti

Nessuno

Creare una VM

Create 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 La distribuzione Web Microsoft nella macchina virtuale. È necessario aprire le porte per il server Web e per La 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. Create una macchina virtuale Windows Server.

  2. Per installare IIS (con Console di gestione) e componenti .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. Search per la macchina virtuale. Potrebbe essere stata aggiunta la macchina virtuale al dashboard oppure è possibile cercarla nella casella risorse di Search.

    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 le comunicazioni sicure. Questa connessione verrà usata con un client SSH per configurare la macchina virtuale e distribuire l'app.
    3389 RDP facoltativo. Il protocollo Desktop remoto consente una connessione desktop remoto per usare un'interfaccia utente grafica del computer.
    8172 Personalizzato Porta usata 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. Per Protocollo selezionare Qualsiasi.

    f. In Azione selezionare Consenti.

    g. Per Priorità lasciare la selezione predefinita.

    h. Immettere un nome e una descrizione per ricordare perché 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. Search per la macchina virtuale. Potrebbe essere stata aggiunta la macchina virtuale al dashboard oppure è possibile cercarla nella casella risorse di Search.

    c. Selezionare la scheda di informazioni generali.

    d. In DNS selezionare Configura.

    e. Per Assegnazione selezionare Dinamico.

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

Creare un'app

È possibile usare l'app .NET predefinita in Visual Studio, 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

Create 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 in Azure Stack Hub pubblica

  2. Nella finestra Pubblica selezionare Nuovo.

  3. Selezionare Server Web (IIS).

  4. Selezionare Avanti>distribuzione> Web.

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

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

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

  8. Per 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 la distribuzione Web

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

  11. Impostare Configurazione come versione.

  12. Impostare Framework di destinazione come net5.0.

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

  14. Impostare Runtime di destinazione come win-x64.

  15. Selezionare Salva.

  16. Selezionare Pubblica. Verrà visualizzato l'output seguente nella console in 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. Passare al nuovo server. Verrà visualizzata l'applicazione Web in esecuzione.

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