Implementa una app de ASP.NET en Windows Server en Compute Engine

1. Descripción general

ASP.NET es un marco de trabajo web de código abierto para crear apps y servicios web modernos con .NET. ASP.NET crea sitios web basados en HTML5, CSS y JavaScript, que son simples y rápidos, y pueden escalar a millones de usuarios.

En este lab, implementarás una app de ASP.NET simple en Windows Server que se ejecute en Compute Engine. Este codelab se basa en el codelab Cómo implementar Windows Server con ASP.NET Framework en Compute Engine. Recomendamos que primero completes ese lab.

Además, necesitarás Visual Studio 2013 o posterior para escribir tu aplicación de ASP.NET y, luego, implementarla en Compute Engine.

Qué aprenderás

  • Cómo crear una app de ASP.NET simple
  • Cómo ejecutar la aplicación de ASP.NET localmente en Visual Studio
  • Cómo implementar y ejecutar una app de ASP.NET en un servidor de Windows en Compute Engine

Requisitos

¿Cómo usarás este instructivo?

Leer Leer y completar los ejercicios

¿Cómo calificarías tu experiencia con Google Cloud Platform?

Principiante Intermedio Avanzado .
.

2. Configuración y requisitos

Configuración del entorno de autoaprendizaje

Ya deberías tener el proyecto de Google Cloud Platform del lab anterior, por lo que no es necesario crear uno nuevo. Accede a la consola de Google Cloud Platform ( console.cloud.google.com) y selecciona el proyecto del lab anterior.

3. Descarga la app de ASP.NET

Descarga la muestra como un archivo ZIP y extráelo.

Como alternativa, puedes clonar su repositorio de Git.

git clone https://github.com/GoogleCloudPlatform/getting-started-dotnet.git

De cualquier manera, deberías tener una carpeta getting-started-dotnet con el siguiente contenido.

1acce2c66bc3b8aa.png

4. Ejecución de la aplicación de manera local

Haz doble clic en aspnet\1-hello-world\hello-world.sln. Esto abrirá la solución en Visual Studio.

8a699ba7495ab79e.png

Consulta WebApiConfig.cs.. Incluye un controlador HTTP HelloWorld simple.

public class HelloWorldHandler : HttpMessageHandler
{
  protected override Task<HttpResponseMessage> SendAsync(
       HttpRequestMessage request,
       CancellationToken cancellationToken)
  {
    return Task.FromResult(new HttpResponseMessage()
    {
      Content = new ByteArrayContent(Encoding.UTF8.GetBytes("Hello World."))
    });
  }
};

En Visual Studio, presiona F5 para compilar y ejecutar la aplicación. Después de que Visual Studio descargue las dependencias de NuGet y compile la app, deberías ver un mensaje de Hello World en tu navegador.

77768b92a41434c2.png

Una vez que te hayas asegurado de que la app se está ejecutando localmente, presiona Mayúsculas + F5 para detenerla.

5. Implementa Windows Server con ASP.NET Framework

En esta sección, aprenderemos a crear una nueva instancia de máquina virtual de Google Compute Engine con Windows Server y ASP.NET Framework instalados usando Cloud Marketplace desde la consola de Google Cloud.

Accede a la consola de Google Cloud.

Navega a la consola de Google Cloud desde otra ventana o pestaña del navegador hasta https://console.cloud.google.com. Usa las credenciales de acceso que configuraste cuando te registraste en Google Cloud Platform o las que te proporcionó el supervisor del lab.

f6cb1591046097da.png

En la consola de Google Cloud, haz clic en el ícono de menú de Products & servicios en la parte superior izquierda de la pantalla:

32152624d878d9f8.png

Luego, navega a Cloud Marketplace.

6c08c9a31e3a9c6c.png

Buscar ASP.NET Framework

Escribe ASP.NET para buscar ASP.NET Framework y, luego, haz clic en el cuadro de resultados que aparece a continuación.

d64d04962212c3c1.png

Iniciar en Compute Engine

En la siguiente pantalla, haga clic en Iniciar en Compute Engine.

Existen muchos parámetros que puedes configurar cuando creas una nueva instancia. Usemos lo siguiente:

Nombre

gcelab

Nombre de la implementación

windows-aspnet-instance

Zona

europe-west1-dMás información sobre las zonas en Regiones y Documentación sobre las zonas.

Tipo de máquina

1 vCPU (n1-standard-1)El n1-standard-1 es más que suficiente para nuestro sitio web ASP.NET, con 1 núcleo y 3.75 GiB de RAM. Sin embargo, puedes seleccionar máquinas más pequeñas o más grandes, con una capacidad de hasta 32 núcleos / 208 GiB de RAM. Obtén más información sobre este y los tipos personalizados de máquinas en la documentación sobre tipos de máquinas.Nota: Un proyecto nuevo tiene una cuota de recursos predeterminada, la cual puede limitar la cantidad de núcleos de CPU. Puedes solicitar más para tus proyectos.

Versión del SO de Windows Server

2016

Tipo de disco de arranque

Standard persistent diskNota: De manera opcional, puedes elegir una unidad de disco de estado sólido (SSD) de mejor rendimiento. Consulta Opciones de almacenamiento.

Tamaño del disco en GB

100Usamos el valor predeterminado de 100 GB, pero puedes ajustarlo a más o menos según tus necesidades.

Firewall

Allow HTTP traffic
Allow HTTPS traffic
Allow WebDeploy traffic
Allow RDP trafficMantén los valores predeterminados, lo que creará reglas de firewall para permitir el tráfico HTTP y HTTPS junto con el tráfico de WebDeploy y RDF.

Haz clic en Implementar para crear la nueva instancia de máquina virtual con Windows Server y ASP.NET Framework. Se te dirigirá a una nueva página en la que podrás ver el progreso.

3276c6d3647fd36.png

Cuando termines, ve a Compute Engine en el menú de la izquierda y selecciona Instancias de VM. Deberías ver la nueva máquina virtual en la lista de Instancias de VM.

fc50b1cfd8b1f4b3.png

Si haces clic en IP externa, también deberías ver el sitio web de IIS predeterminado que se entrega desde la instancia.

iis.PNG

Ten en cuenta que también puedes usar el escritorio remoto (RDP) en la máquina, pero primero debemos crear un usuario y una contraseña de Windows.

6. Crea un usuario y una contraseña de Windows

Para crear un usuario y una contraseña de Windows, selecciona Crear o restablecer contraseña de Windows.

cf9b67269c4fa290.png

Se abrirá una ventana nueva en la que podrás crear un usuario. Mantén la configuración predeterminada y selecciona Establecer. Después de unos segundos, deberías ver un diálogo New Windows password con la nueva contraseña creada. Toma nota de la contraseña, ya que la necesitarás en la próxima sección.

7. Implementa la aplicación en tu servidor de Windows en Compute Engine

Es momento de implementar tu aplicación en un servidor de Windows que se ejecuta en una instancia de Compute Engine.

En primer lugar, debes encontrar la IP externa de la instancia de Compute Engine que implementaste en Implementa Windows Server con ASP.NET Framework en Compute Engine. En la consola de Cloud, ve a Procesamiento > Instancias de VM, encuentra tu instancia y anota su dirección IP externa.

8163b495fda4a4c5.png

Ahora, necesitarás el nombre de usuario y la contraseña de Windows que creaste en el paso anterior.

En Solution Explorer (Explorador de soluciones) de Visual Studio, haz clic con el botón derecho en tu proyecto y selecciona Publish (Publicar) en el menú contextual.

31dc67741553583e.png

En el cuadro de diálogo Publish Web (Publicar web), selecciona Custom (Personalizado) como tu destino de publicación.

En el diálogo Nuevo perfil personalizado, proporciona un nombre para el perfil de implementación y haz clic en Aceptar.

Completa tu perfil de la siguiente manera.

Servidor

The external IP address of your Compute Engine instance. This address can be found on the Página de instancias de VM in the Cloud Console. The IP address is efímera, which is sufficient for our purposes.

Nombre del sitio

Default Web SiteNota: El nombre del sitio que proporciones aquí debe coincidir con el que aparece en IIS Manager en tu instancia de Compute Engine.

Nombre de usuario

The username of the Windows user account you created on your Compute Engine instance.

Contraseña

The password of the Windows user account you created on your Compute Engine instance.

Destination URL

http://Nota: La URL de destino es la dirección en la que se podrá acceder a tu página después de implementarla.

Haz clic en Validate Connection para asegurarte de que las propiedades sean correctas.

5587e66e1f61acd6.png

Debido a que la instalación de Microsoft IIS en tu implementación utiliza un certificado autofirmado de forma predeterminada, verás un Error de certificado durante el proceso de validación. Marca la casilla Guardar este certificado para sesiones futuras de Visual Studio y haz clic en Aceptar para aceptar el certificado.

e7cc4bdef3064b9b.png

Si la configuración es válida, haz clic en Configuración. Haz clic en Opciones de publicación de archivos y marca la opción Quitar archivos adicionales en el destino. Esto es importante en pasos posteriores, cuando publiques sitios web nuevos en la misma instancia de Compute Engine.

1014554485ba6720.png

Haz clic en Publish (Publicar) para implementar la aplicación. Cuando se complete la publicación, Visual Studio abrirá la aplicación en tu navegador web predeterminado.

feab07f5ac573240.png

8. Limpieza

Eso es todo. Ahora es el momento de limpiar los recursos que usaste (para ahorrar costos y ser un buen ciudadano de la nube).

Puedes borrar las instancias o simplemente detenerlas, aunque debes tener en cuenta que las instancias detenidas pueden incurrir en costos relacionados con el almacenamiento.

a3152ac7b76cdd4e.png

Por supuesto, también puedes borrar todo el proyecto, pero perderás la configuración de facturación que hayas realizado (primero debes inhabilitar la facturación del proyecto). Además, borrar un proyecto solo impide que se le facture una vez que finalice el ciclo de facturación actual.

9. ¡Felicitaciones!

Google Compute Engine es la base de la infraestructura como servicio de Google Cloud Platform. Como pudiste ver, es bastante sencillo implementar una aplicación de ASP.NET en Windows Server en Compute Engine.

Temas abordados

  • Cómo crear una app de ASP.NET simple
  • Cómo ejecutar la aplicación de ASP.NET localmente en Visual Studio
  • Cómo implementar y ejecutar una app de ASP.NET en un servidor de Windows en Compute Engine

Próximos pasos

Licencia

Este trabajo cuenta con una licencia Atribución 2.0 Genérica de Creative Commons.

/