Implementación de una aplicación web de C# ASP.NET en una máquina virtual en Azure Stack Hub

Puede crear una máquina virtual para hospedar la aplicación web de C# ASP.NET en Azure Stack Hub. En este artículo se muestra cómo instalar el servidor, configurarlo para hospedar la aplicación web de ASP.NET en C# y, a continuación, implementar la aplicación directamente desde Visual Studio.

Este artículo trata sobre el uso de Azure Stack Hub. Puede ejecutar Azure en su centro de datos mediante Azure Stack Hub. Si busca instrucciones para Azure global, consulte Tutorial: Introducción a Razor Pages en ASP.NET Core.

Requisitos previos

None

Crear una VM

Cree una máquina virtual y, a continuación, instale los componentes que necesita para hospedar la aplicación web de .NET. Necesitará la Consola de administración de IIS, el servicio de administración web, el entorno de ejecución de .NET y Microsoft Web Deploy en la máquina virtual. Deberá abrir los puertos para el servidor web y para Web Deploy desde el equipo de desarrollo. Al instalar el entorno de ejecución de .NET, asegúrese de que usa la misma versión de .NET tanto en el servidor de destino como en el equipo de desarrollo.

  1. Cree una máquina virtual de Windows Server.

  2. Para instalar los componentes de IIS (con la Consola de administración) y .NET 5.0 en la máquina virtual, ejecute el siguiente script en la consola de 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. Descargue .NET 5.0 en la máquina virtual.

  4. Descargue Web Deploy v3.6. Instálelo desde el archivo MSI y, a continuación, habilítelo en todas las características.

  5. Vuelva al portal de Azure Stack Hub y abra los puertos que se indican en la configuración de red para la máquina virtual.

    a. Abra el portal de Azure Stack Hub de su inquilino.

    b. Busque su VM. Es posible que haya anclado la VM al panel; si no, puede buscarla en el cuadro Buscar recursos.

    c. Seleccionar Redes.

    d. Seleccione Agregar regla de puerto de entrada en la máquina virtual.

    e. Agregue una regla de seguridad de entrada para los puertos siguientes:

    Port Protocolo Descripción
    80 HTTP El protocolo de transferencia de hipertexto (HTTP) es el protocolo que se utiliza para entregar páginas web desde los servidores. Los clientes se conectan mediante HTTP con un nombre DNS o dirección IP.
    443 HTTPS El protocolo de transferencia de hipertexto con cifrado de Capa de sockets seguros (HTTPS) es una versión segura de HTTP que requiere un certificado de seguridad y permite la transmisión cifrada de información.
    22 SSH Secure Shell (SSH) es un protocolo de red cifrado para proteger las comunicaciones. Usará esta conexión con un cliente SSH para configurar la máquina virtual e implementar la aplicación.
    3389 RDP Opcional. El Protocolo de escritorio remoto permite que una conexión de escritorio remoto utilice una interfaz gráfica de usuario de su equipo.
    8172 Personalizado Puerto utilizado por Web Deploy.

    Para cada puerto:

    a. En Origen, seleccione Cualquiera.

    b. En Intervalo de puertos de origen, escriba un asterisco (*).

    c. En Destino, seleccione Cualquiera.

    d. En Intervalo de puertos de destino, agregue el puerto que quiere abrir.

    e. En Protocolo, seleccione Cualquiera.

    f. En Acción, seleccione Permitir.

    g. En Prioridad, deje el valor predeterminado.

    h. Complete los campos Nombre y Descripción para recordar fácilmente el motivo por el que el puerto está abierto.

    i. Seleccione Agregar.

  6. En la configuración de Información general de la máquina virtual en Azure Stack Hub, cree un nombre DNS para el servidor. Los usuarios pueden conectarse a su sitio web mediante la dirección URL.

    a. Abra el portal de Azure Stack Hub de su inquilino.

    b. Busque su VM. Es posible que haya anclado la VM al panel; si no, puede buscarla en el cuadro Buscar recursos.

    c. Seleccione Información general.

    d. En DNS, seleccione Configurar.

    e. En Asignación, seleccione Dinámica.

    f. Escriba la etiqueta del nombre DNS, como mywebapp, de modo que su dirección URL completa se convierta en algo similar a mywebapp.region.cloudapp.azurestack.corp.contoso.com.

Creación de una aplicación

Puede usar la aplicación de .NET predeterminada, su propia aplicación web, o bien el ejemplo que puede encontrar en Tutorial: Introducción a Razor Pages en ASP.NET Core. En este artículo se describe cómo crear y publicar una aplicación web de ASP.NET en una máquina virtual de Azure mediante la característica de publicación en Azure Virtual Machines de Visual Studio 2019. Una vez que haya instalado su aplicación y se haya asegurado de que se ejecuta localmente, actualizará su destino de publicación para la máquina virtual Windows de su instancia de Azure Stack Hub.

Implementación y ejecución de la aplicación

Cree un destino de publicación desde la máquina de desarrollo a la máquina virtual en Azure Stack Hub.

  1. En el Explorador de soluciones, haga clic con el botón derecho en el proyecto y seleccione Publicar.

    Implementación y publicación de una aplicación web de ASP.NET en Azure Stack Hub

  2. En la ventana Publicar, seleccione Nuevo.

  3. Seleccione Servidor web (IIS) .

  4. Seleccione Siguiente>Web Deploy>Siguiente.

  5. En Servidor, escriba el nombre DNS que definió anteriormente, por ejemplo, mywebapp.region.cloudapp.azurestack.corp.contoso.com.

  6. En Nombre del sitio, escriba Default Web Site o el nombre usado en IIS en el servidor de destino.

  7. En Nombre de usuario, escriba el nombre de usuario de la máquina.

  8. En Contraseña, escriba la contraseña de la máquina.

  9. En Dirección URL de destino, escriba la dirección URL del sitio, como http://mywebapp.region.cloudapp.azurestack.corp.contoso.com.

    Implementación de una aplicación web de ASP.NET: configuración de Web Deploy

  10. Para validar la configuración de Web Deploy, seleccione Validar conexión y, a continuación, elija Siguiente.

  11. Establezca Configuración en Versión.

  12. Establezca Marco de trabajo de destino en net5.0.

  13. Establezca Modo de implementación en Dependiente de marco de trabajo.

  14. Establezca Tiempo de ejecución de destino como win-x64.

  15. Seleccione Guardar.

  16. Seleccione Publicar. Debería ver la siguiente salida en la consola de 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. Vaya al nuevo servidor. Debería ver la aplicación web en ejecución.

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