Guide de démarrage rapide pour .NET dans l'environnement flexible App Engine

ID de région

Le REGION_ID est un code abrégé que Google attribue en fonction de la région que vous sélectionnez lors de la création de votre application. Le code ne correspond pas à un pays ou une province, même si certains ID de région peuvent ressembler aux codes de pays et de province couramment utilisés. Pour les applications créées après février 2020, REGION_ID.r est inclus dans les URL App Engine. Pour les applications existantes créées avant cette date, l'ID de région est facultatif dans l'URL.

En savoir plus sur les ID de région

Dans ce guide de démarrage rapide, vous allez apprendre à créer une petite application App Engine permettant d'afficher un court message.

Avant de commencer

  1. Connectez-vous à votre compte Google Cloud. Si vous débutez sur Google Cloud, créez un compte pour évaluer les performances de nos produits en conditions réelles. Les nouveaux clients bénéficient également de 300 $ de crédits gratuits pour exécuter, tester et déployer des charges de travail.
  2. Dans Google Cloud Console, sur la page de sélection du projet, sélectionnez ou créez un projet Google Cloud.

    Accéder au sélecteur de projet

  3. Vérifiez que la facturation est activée pour votre projet Google Cloud.

  4. Activez Cloud Build API.

    Activer l'API

  5. Installez Google Cloud CLI.
  6. Pour initialiser gcloudCLI, exécutez la commande suivante :

    gcloud init
  7. Dans Google Cloud Console, sur la page de sélection du projet, sélectionnez ou créez un projet Google Cloud.

    Accéder au sélecteur de projet

  8. Vérifiez que la facturation est activée pour votre projet Google Cloud.

  9. Activez Cloud Build API.

    Activer l'API

  10. Installez Google Cloud CLI.
  11. Pour initialiser gcloudCLI, exécutez la commande suivante :

    gcloud init

Conditions préalables supplémentaires

  1. Initialisez votre application App Engine avec votre projet, puis choisissez sa région :

    gcloud app create --project=[YOUR_PROJECT_ID]
    

    Lorsque vous y êtes invité, sélectionnez la région dans laquelle vous souhaitez localiser votre application App Engine.

  2. Installez les composants requis suivants :

    • Installez le SDK .NET Core, version LTS.

    • Si vous utilisez Visual Studio, vous devez utiliser la version 2015 ou ultérieure. Les images sont disponibles pour les applications ASP.NET Core écrites pour .NET Core 1.0, 1.1, 2.0 et 2.1.

    • Pour procéder au déploiement sur App Engine directement à partir de Visual Studio, installez Cloud Tools for Visual Studio.

Zones App Engine

App Engine est régional, ce qui signifie que l'infrastructure qui exécute vos applications est située dans une région spécifique, et que Google la gère de sorte qu'elle soit disponible de manière redondante dans toutes les zones de cette région.

Lors de la sélection d'une région dans laquelle exécuter vos applications, vous devez tout d'abord considérer vos exigences en matière de latence, de disponibilité et de durabilité. Vous pouvez généralement sélectionner la région la plus proche des utilisateurs de votre application, mais pensez aussi aux emplacements où App Engine est disponible ainsi qu'aux emplacements des autres produits et services Google Cloud que votre application utilise. L'utilisation de services situés dans des emplacements différents peut avoir des répercussions sur la latence de votre application, ainsi que sur les tarifs.

Une fois que vous avez défini la région d'une application, vous ne pouvez plus la modifier.

Si vous avez déjà créé une application App Engine, vous pouvez afficher sa région en effectuant l'une des opérations suivantes :

Ce guide de démarrage rapide suppose que vous maîtrisez la création d'applications Web en C#.

Télécharger l'application Hello World

Nous avons créé une application Hello World simple pour .NET afin que vous puissiez comprendre rapidement comment déployer une application sur Google Cloud. L'application Hello World est semblable à l'application créée par Visual Studio lorsqu'une application ASP.NET Core vide est créée. L'exemple d'application ajoute un fichier app.yaml. Le fichier app.yaml est un fichier de configuration App Engine qui spécifie votre environnement d'exécution et d'autres paramètres App Engine.

  1. Clonez le dépôt de l'exemple d'application Hello World sur votre ordinateur.

    git clone https://github.com/GoogleCloudPlatform/dotnet-docs-samples
    

    Vous pouvez également télécharger l'exemple en tant que fichier zip et l'extraire.

  2. Accédez au répertoire qui contient l'exemple de code.

    cd dotnet-docs-samples/appengine/flexible/HelloWorld
    

Exécuter Hello World sur votre ordinateur local

Visual Studio

Pour exécuter l'application Hello World sur votre ordinateur local :

  1. Ouvrez dotnet-docs-samples\appengine\flexible\HelloWorld\HelloWorld.sln avec Visual Studio.
  2. Appuyez sur F5.

    Vous pouvez voir le message "Hello World" de l'exemple d'application affiché dans la page.

Ligne de commande

Pour exécuter l'application Hello World sur votre ordinateur local :

  1. Exécutez les commandes suivantes à partir du répertoire dotnet-docs-samples\appengine\flexible\HelloWorld :
    dotnet restore
    dotnet run
  2. Dans votre navigateur Web, accédez à http://localhost:5000/

    Vous pouvez voir le message "Hello World" de l'exemple d'application affiché dans la page.

  3. Dans votre fenêtre de terminal, appuyez sur Ctrl+C pour quitter le serveur Web.

Déployer et exécuter Hello World sur App Engine

Visual Studio

Pour déployer l'application Hello World, procédez comme suit :

  1. Ouvrez dotnet-docs-samples\appengine\flexible\HelloWorld\HelloWorld.sln avec Visual Studio.
  2. Dans Solution Explorer (Explorateur de solutions), effectuez un clic droit sur HelloWorld , puis choisissez Publish to Google Cloud… (Publier dans Google Cloud…)
  3. Cliquez sur App Engine Flex.
  4. Cliquez sur Publier.
  5. Pour voir votre application déployée, allez à l'adresse suivante dans votre navigateur :

    https://PROJECT_ID.REGION_ID.r.appspot.com

Ligne de commande

  1. Exécutez les commandes suivantes à partir du répertoire dotnet-docs-samples\appengine\flexible\HelloWorld :

    dotnet restore
    dotnet publish -c Release
    gcloud app deploy .\bin\Release\netcoreapp2.1\publish\app.yaml
  2. Lancez votre navigateur, puis saisissez l'adresse https://PROJECT_ID.REGION_ID.r.appspot.com pour afficher l'application.

    gcloud app browse

Cette fois, la page qui affiche le message Hello World est diffusée par un serveur Web exécuté sur une instance App Engine.

Félicitations ! Vous avez déployé votre première application .NET dans un environnement flexible App Engine.

Si vous rencontrez des erreurs lors du déploiement de votre application, consultez les conseils de dépannage.

Consultez les sections suivantes pour en savoir plus sur le nettoyage et découvrir les prochaines étapes que vous pourriez effectuer.

Nettoyer

Afin d'éviter que des frais ne vous soient facturés, vous pouvez supprimer votre projet Cloud pour interrompre la facturation de toutes les ressources utilisées dans le projet.

  1. Dans la console Google Cloud, accédez à la page Gérer les ressources.

    Accéder à la page Gérer les ressources

  2. Dans la liste des projets, sélectionnez le projet que vous souhaitez supprimer, puis cliquez sur Supprimer.
  3. Dans la boîte de dialogue, saisissez l'ID du projet, puis cliquez sur Arrêter pour supprimer le projet.

Étapes suivantes

Découvrez la plate-forme dans son ensemble

Maintenant que vous savez comment développer et déployer des applications App Engine, vous pouvez explorer le reste de Google Cloud. Google Cloud CLI est déjà installé et vous permet d'interagir avec des produits tels que Cloud SQL, Cloud Storage, Firestore, etc.

Pour apprendre pas à pas à créer une application qui utilise l'ensemble de la plate-forme et pas seulement App Engine, accédez à notre guide de démarrage rapide pour créer l'application Bookshelf.

En savoir plus sur l'environnement flexible App Engine

Voici quelques articles qui vous aideront à mieux connaître App Engine :

Examiner le code Hello World

Hello World est l'application App Engine la plus simple qui soit : elle ne contient qu'un seul service, ne possède qu'une seule version, et tout le code se trouve dans le répertoire racine de l'application. Cette section décrit chacun des fichiers de l'application en détail.

Startup.cs

L'application Hello World est une application ASP.NET simple :

    public class Startup
    {
        public Startup(IConfiguration configuration)
        {
            Configuration = configuration;
        }

        public IConfiguration Configuration { get; }

        // This method gets called by the runtime. Use this method to add services to the container.
        // For more information on how to configure your application, visit https://go.microsoft.com/fwlink/?LinkID=398940
        public void ConfigureServices(IServiceCollection services)
        {
        }

        // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
        public void Configure(IApplicationBuilder app, IHostingEnvironment env)
        {
            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
            }

            app.Run(async (context) =>
            {
                string greeting = Configuration["My:Greeting"];
                await context.Response.WriteAsync(greeting);
            });
        }
    }

app.yaml

Le fichier app.yaml décrit la configuration de déploiement d'une application :

runtime: aspnetcore
env: flex

# This sample incurs costs to run on the App Engine flexible environment.
# The settings below are to reduce costs during testing and are not appropriate
# for production use. For more information, see:
# https://cloud.google.com/appengine/docs/flexible/python/configuring-your-app-with-app-yaml
manual_scaling:
  instances: 1
resources:
  cpu: 1
  memory_gb: 0.5
  disk_size_gb: 10

env_variables:
  # The __ in My__Greeting will be translated to a : by ASP.NET.
  My__Greeting: Hello AppEngine!

Ici, le fichier app.yaml spécifie l'environnement d'exécution utilisé par l'application et définit env: flex, qui indique que l'application utilise l'environnement flexible.