Crear una aplicación .NET en el entorno flexible de App Engine
ID de región
El REGION_ID
es un código abreviado que Google asigna en función de la región que selecciones al crear tu aplicación. El código no corresponde a un país o provincia, aunque algunos IDs de región pueden parecerse a los códigos de país y provincia que se usan habitualmente. En las aplicaciones creadas después de febrero del 2020, REGION_ID.r
se incluye en las URLs de App Engine. En las aplicaciones creadas antes de esa fecha, el ID de región es opcional en la URL.
En esta guía de inicio rápido se muestra cómo crear y desplegar una aplicación que muestre un mensaje corto.
Puedes usar la aplicación de ejemplo de esta guía de inicio rápido con cualquier versión compatible de .NET. Para ello, especifica la versión del tiempo de ejecución y el sistema operativo en el archivo app.yaml
.
De forma predeterminada, App Engine usa la versión LTS de .NET más reciente disponible si no especificas una versión de tiempo de ejecución en el archivo app.yaml
.
Antes de empezar
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Cloud Build API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles. -
Install the Google Cloud CLI.
-
Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.
-
Para inicializar gcloud CLI, ejecuta el siguiente comando:
gcloud init
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Cloud Build API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles. -
Install the Google Cloud CLI.
-
Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.
-
Para inicializar gcloud CLI, ejecuta el siguiente comando:
gcloud init
- Debido a los cambios en el comportamiento predeterminado de cómo usa Cloud Build las cuentas de servicio en los proyectos nuevos y a los cambios en la política de organización de seguridad predeterminada, es posible que tengas que conceder roles adicionales a tu cuenta de servicio de implementación. Para obtener más información sobre cómo conceder roles específicos, consulta la guía de solución de problemas.
Inicializa tu aplicación de App Engine con tu proyecto y elige su región:
gcloud app create --project=[YOUR_PROJECT_ID]
Cuando se te solicite, selecciona la región en la que quieras ubicar tu aplicación de App Engine.
Instala lo siguiente en tu máquina local:
Instala el SDK de.NET Core (versión LTS).
Si usas Visual Studio, debes usar la versión 2015 o una posterior. Las imágenes están disponibles para las aplicaciones ASP.NET Core escritas para .NET Core 1.0, 1.1, 2.0 y 2.1.
Para desplegar en App Engine directamente desde Visual Studio, instala Tools for Visual Studio.
Ejecuta el comando
gcloud app describe
.Abre el panel de control de App Engine en la Google Cloud consola. La región aparece cerca de la parte superior de la página.
Clona el repositorio de la aplicación de ejemplo Hello World en tu máquina local.
git clone https://github.com/GoogleCloudPlatform/dotnet-docs-samples
También puedes descargar la muestra como un archivo ZIP y extraerla.
Cambia al directorio que contiene el código de ejemplo.
cd dotnet-docs-samples/appengine/flexible/HelloWorld
Ejecuta los siguientes comandos desde el directorio
dotnet-docs-samples/appengine/flexible/HelloWorld/HelloWorld.Sample
:dotnet restore dotnet run
En tu navegador web, ve a http://localhost:5000. Verás el mensaje "Hello World" de la aplicación de ejemplo en la página. En la ventana de la terminal, pulsa Ctrl+C para salir del servidor web.
- Ejecuta
gcloud app deploy
desde la línea de comandos. - Abre el navegador y consulta la aplicación en
https://PROJECT_ID.REGION_ID.r.appspot.com
gcloud app browse
. - In the Google Cloud console, go to the Manage resources page.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.
- Define
env: flex
, lo que indica que tu aplicación usa el entorno flexible de App Engine. Especifica el tiempo de ejecución que usa la aplicación.
Para obtener más información sobre cómo funciona el tiempo de ejecución de .NET, consulta Tiempo de ejecución de .NET.
Para obtener más información sobre cómo diseñar tu aplicación para aprovechar las versiones y los servicios, consulta Introducción a App Engine.
Para obtener más información sobre los ajustes de configuración de App Engine, consulta Configurar tu aplicación con app.yaml.
Requisitos previos adicionales
Ubicaciones de App Engine
App Engine es regional, lo que significa que la infraestructura que ejecuta tus aplicaciones está ubicada en una región concreta y Google la gestiona para que esté disponible de forma redundante en todas las zonas de esa región.
Cumplir con los requisitos de latencia, disponibilidad o durabilidad son factores principales para seleccionar la región donde se ejecutan tus aplicaciones. Por lo general, puedes seleccionar la región más cercana a los usuarios de tu aplicación, pero debes tener en cuenta las ubicaciones en las que está disponible App Engine, así como las ubicaciones de los demásGoogle Cloud productos y servicios que utilice tu aplicación. Usar servicios en varias ubicaciones puede afectar a la latencia de tu aplicación, así como a su precio.
No es posible cambiar la región de una aplicación después de configurarla.
Si ya has creado una aplicación de App Engine, puedes ver su región de una de las siguientes formas:
Descargar la aplicación Hello World
Hemos creado una aplicación Hello World para App Engine para que puedas familiarizarte rápidamente con el proceso de desplegar una aplicación en Google Cloud.
La aplicación Hello World es similar a la que crea Visual Studio cuando se crea una aplicación ASP.NET Core vacía. La aplicación de ejemplo añade un archivo app.yaml
. El archivo app.yaml
es un archivo de configuración de App Engine que especifica el entorno de ejecución y otros ajustes de App Engine.
Ejecutar Hello World en tu máquina local
Desplegar y ejecutar Hello World en App Engine
Esta vez, la página que muestra el mensaje "Hello World" la entrega un servidor web que se ejecuta en una instancia de App Engine.
¡Enhorabuena! Has desplegado tu primera aplicación de App Engine en el entorno flexible de App Engine.
Si has detectado algún error al implementar tu aplicación, consulta los consejos para solucionar problemas.En las siguientes secciones encontrará información sobre cómo limpiar los datos, así como enlaces a los posibles pasos que puede seguir.
Limpieza
Para evitar que se te apliquen cargos, puedes eliminar tu Google Cloud proyecto para detener la facturación de todos los recursos utilizados en él.
Siguientes pasos
Conocer toda la plataforma
Ahora que ya sabes cómo es desarrollar y desplegar aplicaciones de App Engine, puedes explorar el resto de la Google Cloud. Ya tienes instalada la CLI de Google Cloud, que te proporciona las herramientas para interactuar con productos como Cloud SQL, Cloud Storage y Firestore, entre otros.
Información sobre el entorno flexible de App Engine
Estos son algunos temas que te ayudarán a seguir aprendiendo sobre App Engine:
Revisión del código de Hello World
Hello World es la aplicación de App Engine más sencilla posible, ya que solo contiene un servicio y una versión, y todo el código se encuentra en el directorio raíz de la aplicación. Esta sección describe cada uno de los archivos de la aplicación en detalle.
Program.cs
La aplicación Hello World es una aplicación ASP.NET sencilla:
app.yaml
El archivo app.yaml
describe la siguiente configuración de tu aplicación: