Configurer l'agent pour les charges de travail MySQL

Ce document explique comment installer l'agent pour les charges de travail Compute sur une instance Compute Engine et le configurer pour qu'il se connecte à une charge de travail MySQL exécutée sur cette instance de calcul.

Avant de commencer

Avant d'installer et de configurer l'agent pour les charges de travail Compute, vous devez vous assurer que les conditions préalables suivantes sont remplies :

Rôles IAM requis

L'agent pour les charges de travail Compute utilise le compte de service associé à l'instance de calcul pour l'authentification et pour accéder aux ressources Google Cloud .

Pour améliorer la sécurité, nous vous recommandons d'utiliser un compte de service à usage unique plutôt que le compte de service Compute Engine par défaut.

Pour vous assurer que le compte de service dispose des autorisations nécessaires pour permettre à l'agent pour les charges de travail Compute de s'authentifier auprès deGoogle Cloud et d'accéder aux ressources Google Cloud , demandez à votre administrateur d'accorder au compte de service les rôles IAM suivants dans votre projet :

Pour en savoir plus sur l'attribution de rôles, consultez Gérer l'accès aux projets, aux dossiers et aux organisations.

Votre administrateur peut également attribuer au compte de service les autorisations requises à l'aide de rôles personnalisés ou d'autres rôles prédéfinis.

Activer l'accès aux APIs Cloud

Compute Engine recommande de configurer vos instances de façon à accorder un niveau d'accès complet à toutes les APIs Cloud et à n'utiliser que les autorisations IAM du compte de service de l'instance pour contrôler les accès aux ressourcesGoogle Cloud . Pour en savoir plus, consultez Créer une VM qui utilise un compte de service géré par l'utilisateur.

Si vous limitez l'accès aux APIs Cloud, l'agent pour les charges de travail Compute nécessite au minimum les niveaux d'accès suivants aux APIs Cloud sur l'instance de calcul hôte :

https://www.googleapis.com/auth/cloud-platform

Pour en savoir plus, consultez les bonnes pratiques concernant les autorisations.

Si vous exécutez des applications MySQL sur une instance de calcul qui ne possède pas d'adresse IP externe, vous devez activer l'accès privé à Google sur le sous-réseau de l'instance afin que l'agent pour les charges de travail Compute puisse accéder aux API et services Google. Pour savoir comment activer l'accès privé à Google, consultez Configurer l'accès privé à Google.

Installer et configurer l'agent

Pour installer l'agent pour les charges de travail Compute sur votre instance de calcul et le configurer pour qu'il se connecte à une instance MySQL, procédez comme suit :

RHEL

Sur Red Hat Enterprise Linux (RHEL), vous installez l'agent pour les charges de travail Compute à l'aide de la commande de gestion de packages yum. Cette commande effectue les tâches suivantes :

  • Télécharge la dernière version de l'agent.
  • Elle crée un service systemd pour l'agent, nommé google-cloud-workload-agent.
  • Elle active et démarre le service google-cloud-workload-agent.

Pour installer et configurer l'agent pour les charges de travail Compute sur une instance de calcul basée sur RHEL, procédez comme suit :

  1. Établissez une connexion SSH avec votre instance de calcul.

  2. Dans votre terminal, installez l'agent :

    sudo tee /etc/yum.repos.d/google-cloud-workload-agent.repo << EOM
    [google-cloud-workload-agent]
    name=Google Cloud Agent for Compute Workloads
    baseurl=https://packages.cloud.google.com/yum/repos/google-cloud-workload-agent-$basearch
    enabled=1
    gpgcheck=0
    repo_gpgcheck=1
    gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
    EOM
    sudo yum install google-cloud-workload-agent
    
  3. Modifiez le fichier de configuration de l'agent :

    /etc/google-cloud-workload-agent/configuration.json
    
  4. Spécifiez des valeurs pour tous les paramètres obligatoires, comme décrit dans Paramètres de configuration.

  5. Enregistrer le fichier de configuration

  6. Redémarrez l'agent pour que les modifications prennent effet.

SLES

Sur SUSE Linux Enterprise Server (SLES), vous installez l'agent pour les charges de travail Compute à l'aide de la commande de gestion des packages zypper. Cette commande effectue les tâches suivantes :

  • Télécharge la dernière version de l'agent.
  • Elle crée un service systemd pour l'agent, nommé google-cloud-workload-agent.
  • Elle active et démarre le service google-cloud-workload-agent.

Pour installer et configurer l'agent pour les charges de travail Compute sur une instance de calcul basée sur SLES, procédez comme suit :

  1. Établissez une connexion SSH avec votre instance de calcul.

  2. Dans votre terminal, installez l'agent :

    sudo zypper addrepo --refresh https://packages.cloud.google.com/yum/repos/google-cloud-workload-agent-$basearch
    google-cloud-workload-agent
    sudo zypper install google-cloud-workload-agent
    
  3. Modifiez le fichier de configuration de l'agent :

    /etc/google-cloud-workload-agent/configuration.json
    
  4. Spécifiez des valeurs pour tous les paramètres obligatoires, comme décrit dans Paramètres de configuration.

  5. Enregistrer le fichier de configuration

  6. Redémarrez l'agent pour que les modifications prennent effet.

Debian

Sur Debian, vous installez l'agent pour les charges de travail Compute à l'aide de la commande de gestion des packages apt. Cette commande effectue les tâches suivantes :

  • Télécharge la dernière version de l'agent.
  • Elle crée un service systemd pour l'agent, nommé google-cloud-workload-agent.
  • Elle active et démarre le service google-cloud-workload-agent.

Pour installer et configurer l'agent pour les charges de travail Compute sur une instance de calcul basée sur Debian, procédez comme suit :

  1. Établissez une connexion SSH avec votre instance de calcul.

  2. Dans votre terminal, installez l'agent :

    echo 'deb https://packages.cloud.google.com/apt google-cloud-workload-agent-x86-64-apt main' | sudo tee -a /etc/apt/sources.list.d/google-cloud-workload-agent.list
    sudo apt-get update
    sudo apt-get install google-cloud-workload-agent
    
  3. Modifiez le fichier de configuration de l'agent :

    /etc/google-cloud-workload-agent/configuration.json
    
  4. Spécifiez des valeurs pour tous les paramètres obligatoires, comme décrit dans Paramètres de configuration.

  5. Enregistrer le fichier de configuration

  6. Redémarrez l'agent pour que les modifications prennent effet.

Windows

Sous Windows, vous installez l'agent pour les charges de travail Compute à l'aide de la commande de gestion de packages googet. Cette commande effectue les tâches suivantes :

  • Télécharge la dernière version de l'agent.
  • Crée un service Windows nommé google-cloud-workload-agent.
  • Crée une tâche planifiée qui s'exécute toutes les minutes pour vérifier si le service est en cours d'exécution et, si nécessaire, le redémarrer.

Pour installer et configurer l'agent pour les charges de travail Compute sur une instance de calcul basée sur Windows, procédez comme suit :

  1. Établissez une connexion avec votre instance de calcul à l'aide de RDP.

    Pour savoir comment procéder, consultez Se connecter à des VM Windows à l'aide de RDP.

  2. En tant qu'administrateur, exécutez les commandes suivantes à partir de PowerShell :

    googet addrepo google-cloud-workload-agent  https://packages.cloud.google.com/yuck/repos/google-cloud-workload-agent-windows-x86_64
    googet install google-cloud-workload-agent
    
  3. Modifiez le fichier de configuration de l'agent :

    %ProgramFiles%\Google\google-cloud-workload-agent\conf\configuration.json
    
  4. Spécifiez des valeurs pour tous les paramètres obligatoires, comme décrit dans Paramètres de configuration.

  5. Enregistrer le fichier de configuration

  6. Redémarrez l'agent pour que les modifications prennent effet.

Vérifier l'installation de l'agent

Pour vérifier que l'agent s'exécute comme prévu, procédez comme suit :

RHEL

  1. Établissez une connexion SSH avec votre instance de calcul.

  2. Vérifiez l'état du package de l'agent :

    systemctl status google-cloud-workload-agent
    

    Si le package d'agent s'exécute comme prévu, le résultat contient active (running). Exemple :

    google-cloud-workload-agent.service - Google Cloud Agent for Compute Workloads
    Loaded: loaded (/usr/lib/systemd/system/google-cloud-workload-agent.service; enabled; vendor preset: disabled)
    Active: active (running) since Sun 2025-07-30 18:59:12 UTC; 10s ago
    Main PID: 14412 (google_cloud_sq)
      Tasks: 7
    Memory: 12.9M (max: 1.0G limit: 1.0G available: 1011.0M)
    CGroup: /system.slice/google-cloud-workload-agent.service
            └─ 14412 /usr/bin/google_cloud_sql_server_agent --action=run

SLES

  1. Établissez une connexion SSH avec votre instance de calcul.

  2. Vérifiez l'état du package de l'agent :

    systemctl status google-cloud-workload-agent
    

    Si le package d'agent s'exécute comme prévu, le résultat contient active (running). Exemple :

    google-cloud-workload-agent.service - Google Cloud Agent for Compute Workloads
    Loaded: loaded (/usr/lib/systemd/system/google-cloud-workload-agent.service; enabled; vendor preset: disabled)
    Active: active (running) since Sun 2025-07-30 18:59:12 UTC; 10s ago
    Main PID: 14412 (google_cloud_sq)
      Tasks: 7
    Memory: 12.9M (max: 1.0G limit: 1.0G available: 1011.0M)
    CGroup: /system.slice/google-cloud-workload-agent.service
            └─ 14412 /usr/bin/google_cloud_sql_server_agent --action=run

Debian

  1. Établissez une connexion SSH avec votre instance de calcul.

  2. Vérifiez l'état du package de l'agent :

    systemctl status google-cloud-workload-agent
    

    Si le package d'agent s'exécute comme prévu, le résultat contient active (running). Exemple :

    google-cloud-workload-agent.service - Google Cloud Agent for Compute Workloads
    Loaded: loaded (/usr/lib/systemd/system/google-cloud-workload-agent.service; enabled; vendor preset: disabled)
    Active: active (running) since Sun 2025-07-30 18:59:12 UTC; 10s ago
    Main PID: 14412 (google_cloud_sq)
      Tasks: 7
    Memory: 12.9M (max: 1.0G limit: 1.0G available: 1011.0M)
    CGroup: /system.slice/google-cloud-workload-agent.service
            └─ 14412 /usr/bin/google_cloud_sql_server_agent --action=run

Windows

  1. Établissez une connexion avec votre instance de calcul à l'aide de RDP.

    Pour savoir comment procéder, consultez Se connecter à des VM Windows à l'aide de RDP.

  2. En tant qu'administrateur, exécutez la commande suivante à partir de PowerShell :

    $(Get-Service -Name 'google-cloud-workload-agent' -ErrorAction Ignore).Status
    

    Si l'agent s'exécute comme prévu, l'état est Running.

Exemple de fichier de configuration

Voici un exemple de configuration qui permet à l'agent pour les charges de travail Compute de se connecter à une instance MySQL. Pour l'authentification, un secret Secret Manager est utilisé. Il est stocké dans le même projet Google Cloud que celui dans lequel l'instance MySQL est exécutée.

{
  "log_level": "INFO",
  "common_discovery": {
    "collection_frequency": "10800s"
  },
  "mysql_configuration": {
    "enabled": true,
    "connection_parameters": {
      "username": "db_user_name",
      "secret": {
        "secret_name": "db_pwd_secret_name",
        "project_id": ""
      },
      "host": "localhost",
      "port": 1433
    }
  }
}

Paramètres de configuration

Le tableau suivant décrit les paramètres de configuration de l'agent pour les charges de travail Compute qui prennent en charge les évaluations pour les charges de travail MySQL :

Paramètres
log_level

String

Pour définir le niveau de journalisation de l'agent, définissez la valeur requise. Les niveaux de journalisation disponibles sont les suivants :

  • DEBUG
  • INFO
  • WARNING
  • ERROR

Le niveau de journalisation par défaut est INFO. Ne modifiez pas le niveau de journalisation, sauf si vous êtes dirigé par le service client Cloud Customer Care.

log_to_cloud

Boolean

Pour rediriger les journaux de l'agent vers Cloud Logging, spécifiez true. La valeur par défaut est true.

agent_properties.log_usage_metrics

Boolean

Pour activer la journalisation des métriques d'état de l'agent, définissez la valeur sur true. La valeur par défaut est false.

common_discovery.collection_frequency

Duration

Spécifiez la fréquence, en secondes, à laquelle le service de découverte des charges de travail de l'agent s'exécute. La valeur par défaut est 10800s.

Assurez-vous que la valeur de ce paramètre se termine par un s en minuscules.

mysql_configuration.enabled

Boolean

Pour permettre à l'agent de collecter des métriques à partir de l'instance MySQL, définissez la valeur sur true. La valeur par défaut est false.

mysql_configuration.connection_parameters.username

String

Spécifiez le compte utilisateur utilisé par l'agent pour interroger l'instance MySQL.

mysql_configuration.connection_parameters.password

String

Spécifiez le mot de passe en texte brut du compte utilisateur utilisé par l'agent pour interroger l'instance MySQL.

Au lieu de spécifier un mot de passe en texte brut, nous vous recommandons d'utiliser les paramètres secret.name et secret.project_id.

Pour l'authentification, l'agent utilise l'ordre de préférence suivant : si elle est spécifiée, la série de paramètres secret est préférée au paramètre password. Nous vous recommandons de ne définir qu'une seule option d'authentification dans le fichier de configuration de l'agent.

mysql_configuration.connection_parameters.secret.secret_name

String

Facultatif. Pour fournir de manière sécurisée le mot de passe du compte utilisateur utilisé par l'agent pour interroger l'instance MySQL, spécifiez le nom du secret Secret Manager contenant le mot de passe.

Pour l'authentification, l'agent utilise l'ordre de préférence suivant : si elle est spécifiée, la série de paramètres secret est préférée au paramètre password. Nous vous recommandons de ne définir qu'une seule option d'authentification dans le fichier de configuration de l'agent.

mysql_configuration.connection_parameters.secret.project_id

String

Facultatif. Pour utiliser le paramètre secret.secret_name afin d'authentifier le compte utilisateur spécifié, indiquez l'ID du projet Google Cloud dans lequel le secret Secret Manager est stocké.

Si le secret et la charge de travail se trouvent dans le même projet Google Cloud , définissez la valeur de ce paramètre sur une chaîne vide ("").

mysql_configuration.connection_parameters.host

String

Spécifiez le nom d'hôte MySQL.

mysql_configuration.connection_parameters.port

Int

Spécifiez le port sur lequel votre instance MySQL accepte les requêtes.

Étapes suivantes