Configurer une application gRPC sur Google Cloud avec l'observabilité des microservices

Les outils d'observabilité des microservices vous permettent d'instrumenter vos applications pour collecter et présenter des données de télémétrie dans Cloud Monitoring, Cloud Logging et Cloud Trace à partir de charges de travail gRPC déployées sur Google Cloud et ailleurs. L'observabilité des microservices fonctionne avec tout déploiement autorisé à accéder à Monitoring, Logging et Trace en activant l'API Microservices.

Dans ce tutoriel, vous allez apprendre à utiliser les fonctionnalités d'observabilité des microservices en créant une application gRPC simple sur Google Cloud à l'aide de Compute Engine. Vous apprendrez également à instrumenter votre application avec l'observabilité des microservices et à les afficher en direct sur Monitoring et Logging.

Objectifs

De manière générale, vous procédez comme suit :

  • En tant que développeur de service, vous pouvez :

    • Créer une application gRPC avec le langage de votre choix (C++, Go ou Java).
    • Activer votre application et contrôler le plug-in d'observabilité des microservices.
    • Déployer l'application sur une VM Compute Engine.
  • En tant qu'opérateur de service, vous utilisez les données collectées de différentes manières :

    • Afficher les traces sur Trace.
    • Afficher les métriques dans le tableau de bord de surveillance appelé Microservices (gRPC) Monitoring.
    • Afficher les métriques dans l'Explorateur de métriques.
    • Inspecter les entrées de journal dans l'explorateur de journaux.

Coûts

Dans ce document, vous utilisez les composants facturables de Google Cloudsuivants :

Vous pouvez obtenir une estimation des coûts en fonction de votre utilisation prévue à l'aide du simulateur de coût.

Les nouveaux utilisateurs de Google Cloud peuvent bénéficier d'un essai sans frais.

Une fois que vous avez terminé les tâches décrites dans ce document, supprimez les ressources que vous avez créées pour éviter que des frais vous soient facturés. Pour en savoir plus, consultez la section Effectuer un nettoyage.

Avant de commencer

Console

  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 sans frais pour exécuter, tester et déployer des charges de travail.
  2. 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 role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. Activez les API Compute Engine et Microservices.

    Rôles requis pour activer les API

    Pour activer les API, vous avez besoin du rôle IAM Administrateur Service Usage (roles/serviceusage.serviceUsageAdmin), qui contient l'autorisation serviceusage.services.enable. Découvrez comment attribuer des rôles.

    Activer les API

  5. Assurez-vous de disposer des rôles IAM "Créateur de compte de service" (roles/iam.serviceAccountCreator) et "Administrateur IAM du projet" (roles/resourcemanager.projectIamAdmin). Découvrez comment attribuer des rôles.
  6. Dans la console Google Cloud , accédez à la page Créer un compte de service.

    Accéder à la page "Créer un compte de service"
  7. Sélectionnez votre projet.
  8. Dans le champ Nom du compte de service, saisissez un nom. La console Google Cloud remplit le champ ID du compte de service en fonction de ce nom.

    Dans le champ Description du compte de service, saisissez une description. Exemple : Service account for quickstart.

  9. Cliquez sur Créer et continuer.
  10. Attribuez les rôles suivants au compte de service : Logging > Lecteur de journaux > Rédacteur de journaux, Monitoring > Éditeur Monitoring > Rédacteur de métriques, Trace > Administrateur Trace > Agent Trace.

    Pour attribuer un rôle, trouvez la liste Sélectionner un rôle, puis sélectionnez le rôle.

    Pour attribuer des rôles supplémentaires, cliquez sur Ajouter un autre rôle et ajoutez chaque rôle supplémentaire.

  11. Cliquez sur Continuer.
  12. Dans le champ Rôle d'utilisateur du compte de service, saisissez l'identifiant du compte principal qui associera le compte de service à d'autres ressources, telles que des instances Compute Engine.

    Il s'agit généralement de l'adresse e-mail d'un compte Google.

  13. Cliquez sur OK pour terminer la création du compte de service.

  • 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 role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  • Verify that billing is enabled for your Google Cloud project.

  • Activez les API Compute Engine et Microservices.

    Rôles requis pour activer les API

    Pour activer les API, vous avez besoin du rôle IAM Administrateur Service Usage (roles/serviceusage.serviceUsageAdmin), qui contient l'autorisation serviceusage.services.enable. Découvrez comment attribuer des rôles.

    Activer les API

  • Assurez-vous de disposer des rôles IAM "Créateur de compte de service" (roles/iam.serviceAccountCreator) et "Administrateur IAM du projet" (roles/resourcemanager.projectIamAdmin). Découvrez comment attribuer des rôles.
  • Dans la console Google Cloud , accédez à la page Créer un compte de service.

    Accéder à la page "Créer un compte de service"
  • Sélectionnez votre projet.
  • Dans le champ Nom du compte de service, saisissez un nom. La console Google Cloud remplit le champ ID du compte de service en fonction de ce nom.

    Dans le champ Description du compte de service, saisissez une description. Exemple : Service account for quickstart.

  • Cliquez sur Créer et continuer.
  • Attribuez les rôles suivants au compte de service : Logging > Lecteur de journaux > Rédacteur de journaux, Monitoring > Éditeur Monitoring > Rédacteur de métriques, Trace > Administrateur Trace > Agent Trace.

    Pour attribuer un rôle, trouvez la liste Sélectionner un rôle, puis sélectionnez le rôle.

    Pour attribuer des rôles supplémentaires, cliquez sur Ajouter un autre rôle et ajoutez chaque rôle supplémentaire.

  • Cliquez sur Continuer.
  • Dans le champ Rôle d'utilisateur du compte de service, saisissez l'identifiant du compte principal qui associera le compte de service à d'autres ressources, telles que des instances Compute Engine.

    Il s'agit généralement de l'adresse e-mail d'un compte Google.

  • Cliquez sur OK pour terminer la création du compte de service.

  • Consultez la présentation de l'observabilité des microservices.
  • Découvrez les deux variables d'environnement compatibles, décidez lesquelles utiliser et déterminez les valeurs requises par la variable d'environnement.
  • cli

    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 sans frais pour exécuter, tester et déployer des charges de travail.
    2. Installez la Google Cloud CLI.

    3. Si vous utilisez un fournisseur d'identité (IdP) externe, vous devez d'abord vous connecter à la gcloud CLI avec votre identité fédérée.

    4. Pour initialiser la gcloud CLI, exécutez la commande suivante :

      gcloud init
    5. Créez ou sélectionnez un projet Google Cloud .

      Rôles requis pour sélectionner ou créer un projet

      • Sélectionnez un projet : la sélection d'un projet ne nécessite pas de rôle IAM spécifique. Vous pouvez sélectionner n'importe quel projet pour lequel un rôle vous a été attribué.
      • Créer un projet : pour créer un projet, vous devez disposer du rôle Créateur de projet (roles/resourcemanager.projectCreator), qui contient l'autorisation resourcemanager.projects.create. Découvrez comment attribuer des rôles.
      • Créez un projet Google Cloud  :

        gcloud projects create PROJECT_ID

        Remplacez PROJECT_ID par le nom du projet Google Cloud que vous créez.

      • Sélectionnez le projet Google Cloud que vous avez créé :

        gcloud config set project PROJECT_ID

        Remplacez PROJECT_ID par le nom de votre projet Google Cloud .

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

    7. Activez les API Compute Engine et Microservices :

      Rôles requis pour activer les API

      Pour activer les API, vous avez besoin du rôle IAM Administrateur Service Usage (roles/serviceusage.serviceUsageAdmin), qui contient l'autorisation serviceusage.services.enable. Découvrez comment attribuer des rôles.

      gcloud services enable compute.googleapis.com microservices.googleapis.com
    8. Configurez l'authentification :

      1. Assurez-vous de disposer des rôles IAM "Créateur de compte de service" (roles/iam.serviceAccountCreator) et "Administrateur IAM du projet" (roles/resourcemanager.projectIamAdmin). Découvrez comment attribuer des rôles.
      2. Créez le compte de service :

        gcloud iam service-accounts create SERVICE_ACCOUNT_NAME

        Remplacez SERVICE_ACCOUNT_NAME par le nom que vous souhaitez donner au compte de service.

      3. Attribuez des rôles au compte de service. Exécutez la commande suivante une fois pour chacun des rôles IAM suivants : roles/logging.logWriter, roles/monitoring.metricWriter, roles/cloudtrace.agent :

        gcloud projects add-iam-policy-binding PROJECT_ID --member="serviceAccount:SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com" --role=ROLE

        Remplacez les éléments suivants :

        • SERVICE_ACCOUNT_NAME : nom du compte de service.
        • PROJECT_ID : ID du projet dans lequel vous avez créé le compte de service.
        • ROLE : rôle à accorder
      4. Attribuez le rôle requis au compte principal qui associera le compte de service à d'autres ressources.

        gcloud iam service-accounts add-iam-policy-binding SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com --member="user:USER_EMAIL" --role=roles/iam.serviceAccountUser

        Remplacez les éléments suivants :

        • SERVICE_ACCOUNT_NAME : nom du compte de service.
        • PROJECT_ID : ID du projet dans lequel vous avez créé le compte de service.
        • USER_EMAIL : adresse e-mail d'un compte Google
    9. Installez la Google Cloud CLI.

    10. Si vous utilisez un fournisseur d'identité (IdP) externe, vous devez d'abord vous connecter à la gcloud CLI avec votre identité fédérée.

    11. Pour initialiser la gcloud CLI, exécutez la commande suivante :

      gcloud init
    12. Créez ou sélectionnez un projet Google Cloud .

      Rôles requis pour sélectionner ou créer un projet

      • Sélectionnez un projet : la sélection d'un projet ne nécessite pas de rôle IAM spécifique. Vous pouvez sélectionner n'importe quel projet pour lequel un rôle vous a été attribué.
      • Créer un projet : pour créer un projet, vous devez disposer du rôle Créateur de projet (roles/resourcemanager.projectCreator), qui contient l'autorisation resourcemanager.projects.create. Découvrez comment attribuer des rôles.
      • Créez un projet Google Cloud  :

        gcloud projects create PROJECT_ID

        Remplacez PROJECT_ID par le nom du projet Google Cloud que vous créez.

      • Sélectionnez le projet Google Cloud que vous avez créé :

        gcloud config set project PROJECT_ID

        Remplacez PROJECT_ID par le nom de votre projet Google Cloud .

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

    14. Activez les API Compute Engine et Microservices :

      Rôles requis pour activer les API

      Pour activer les API, vous avez besoin du rôle IAM Administrateur Service Usage (roles/serviceusage.serviceUsageAdmin), qui contient l'autorisation serviceusage.services.enable. Découvrez comment attribuer des rôles.

      gcloud services enable compute.googleapis.com microservices.googleapis.com
    15. Configurez l'authentification :

      1. Assurez-vous de disposer des rôles IAM "Créateur de compte de service" (roles/iam.serviceAccountCreator) et "Administrateur IAM du projet" (roles/resourcemanager.projectIamAdmin). Découvrez comment attribuer des rôles.
      2. Créez le compte de service :

        gcloud iam service-accounts create SERVICE_ACCOUNT_NAME

        Remplacez SERVICE_ACCOUNT_NAME par le nom que vous souhaitez donner au compte de service.

      3. Attribuez des rôles au compte de service. Exécutez la commande suivante une fois pour chacun des rôles IAM suivants : roles/logging.logWriter, roles/monitoring.metricWriter, roles/cloudtrace.agent :

        gcloud projects add-iam-policy-binding PROJECT_ID --member="serviceAccount:SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com" --role=ROLE

        Remplacez les éléments suivants :

        • SERVICE_ACCOUNT_NAME : nom du compte de service.
        • PROJECT_ID : ID du projet dans lequel vous avez créé le compte de service.
        • ROLE : rôle à accorder
      4. Attribuez le rôle requis au compte principal qui associera le compte de service à d'autres ressources.

        gcloud iam service-accounts add-iam-policy-binding SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com --member="user:USER_EMAIL" --role=roles/iam.serviceAccountUser

        Remplacez les éléments suivants :

        • SERVICE_ACCOUNT_NAME : nom du compte de service.
        • PROJECT_ID : ID du projet dans lequel vous avez créé le compte de service.
        • USER_EMAIL : adresse e-mail d'un compte Google
    16. Consultez la présentation de l'observabilité des microservices.
    17. Découvrez les deux variables d'environnement compatibles, décidez lesquelles utiliser et déterminez les valeurs requises par la variable d'environnement.