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 compilar servicios y apps web modernos con .NET. ASP.NET crea sitios web basados en HTML5, CSS y JavaScript que son simples, rápidos y se pueden escalar a millones de usuarios.

En este lab, implementarás una app simple de ASP.NET en Windows Server, que se ejecuta en Compute Engine. Este codelab se basa en el codelab Implementa Windows Server con ASP.NET Framework en Compute Engine. Te recomendamos que completes ese lab primero.

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

Qué aprenderás

  • Cómo crear una app simple de ASP.NET
  • Cómo ejecutar la app de ASP.NET de forma local en Visual Studio
  • Cómo implementar y ejecutar tu 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 tu proyecto de Google Cloud Platform del lab anterior, por lo que no es necesario que crees uno nuevo. Accede a Google Cloud Platform Console ( 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. Se abrirá la solución en Visual Studio.

8a699ba7495ab79e.png

Echa un vistazo a 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

Cuando te asegures de que la app se ejecuta de forma local, 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 con Cloud Marketplace desde la consola de Google Cloud.

Accede a Google Cloud Console

Navega a la consola de Google Cloud desde otra pestaña o ventana del navegador en 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 Productos y servicios en la parte superior izquierda de la pantalla:

32152624d878d9f8.png

Luego, navega a Cloud Marketplace.

6c08c9a31e3a9c6c.png

Busca 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, haz 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-dObtén más información sobre las zonas en la documentación de Regiones y zonas.

Tipo de máquina

1 vCPU (n1-standard-1)El tipo n1-standard-1 es más que suficiente para nuestro sitio web de 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, hasta llegar a 32 núcleos y 208 GiB de RAM. Obtén más información sobre este tema y los tipos de máquinas personalizados 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) con 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 trafficConserva los valores predeterminados, que crearán 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. Esta acción te llevará a una página nueva en la que podrás ver el progreso.

3276c6d3647fd36.png

Cuando termines, ve a Compute Engine en el menú de la izquierda y, luego, 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 predeterminado de IIS que se entrega desde la instancia.

iis.PNG

Ten en cuenta que también puedes conectarte a la máquina a través de Escritorio remoto (RDP), 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 el valor predeterminado y selecciona Establecer. Después de unos segundos, deberías ver un diálogo de Contraseña nueva de Windows con la contraseña recién creada. Anota la contraseña, ya que la necesitarás en la siguiente sección.

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

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

Primero, 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 Compute > Instancias de VM, busca 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 el Explorador de soluciones de Visual Studio, haz clic con el botón derecho en tu proyecto y selecciona 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 cuadro de diálogo New Custom Profile, 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 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 nombre que aparece en el Administrador de IIS 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 que se implemente.

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 para 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 File Publish Options y marca la casilla Remove additional files at destination. Esto es importante en etapas posteriores, cuando se publican sitios web nuevos en la misma instancia de Compute Engine.

1014554485ba6720.png

Haz clic en Publicar para implementar la aplicación. Luego de que 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 ten en cuenta que las instancias detenidas aún pueden generar costos relacionados con el almacenamiento.

a3152ac7b76cdd4e.png

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

9. ¡Felicitaciones!

Google Compute Engine es la base de la infraestructura como servicio de Google Cloud Platform. Como viste, es muy fácil implementar una app de ASP.NET en Windows Server en Compute Engine.

Temas abordados

  • Cómo crear una app simple de ASP.NET
  • Cómo ejecutar la app de ASP.NET de forma local en Visual Studio
  • Cómo implementar y ejecutar tu 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.

/