En este documento, se proporciona una descripción general de la arquitectura del agente invitado. El agente invitado es un componente fundamental del entorno invitado. El entorno invitado contiene secuencias de comandos, daemons y archivos binarios que las instancias necesitan para ejecutarse en Compute Engine. Para obtener más información, consulta Entorno invitado.
El agente invitado configura servicios y define parámetros de configuración mínimos para funciones como la ejecución de secuencias de comandos de instantáneas, la conmutación por error de Windows, el acceso al SO y la autenticación SSH basada en metadatos. Para obtener más información sobre las funciones principales del agente invitado, consulta Funcionalidad del agente invitado.
Arquitectura del agente invitado
A partir de la versión 20250901.00, la arquitectura del agente invitado se actualiza de un diseño monolítico a un sistema moderno basado en complementos. Esta evolución mejora la flexibilidad, la confiabilidad y la extensibilidad.
Arquitectura monolítica: Los agentes invitados anteriores a
20250901.00presentan un solo proceso unificado centrado en la descripción de las instancias del servidor de metadatos. El servidor de metadatos es un servidor HTTP por instancia que se ejecuta junto con cada instancia de Compute Engine. Para obtener más información sobre el servidor de metadatos, consulta Metadatos de VM.El agente invitado sondea el servidor de metadatos durante un período prolongado y toma medidas en función de los cambios de estado. Con esta arquitectura, el estado del agente se comparte en todas las tareas, como la configuración de SSH y de red. Este enfoque monolítico carecía de aislamiento de interfaces y componentes. Los cambios o las incorporaciones de funciones en un área del agente afectan a todo el sistema de forma simultánea. Este patrón dificulta la adición de funciones y la cobertura de pruebas.
Arquitectura basada en complementos: A partir de la versión
20250901.00, el agente invitado se divide en complementos distintos e independientes administrados por un administrador central. Cada complemento puede interactuar con el servidor de metadatos y, según las indicaciones de un administrador central, realiza los cambios necesarios. Este enfoque modular garantiza que una falla en un complemento no afecte al agente principal ni a otros complementos.
La arquitectura basada en complementos
Esta arquitectura se basa en un administrador central que controla varios complementos, lo que separa las funcionalidades principales de los complementos opcionales específicos del servicio, denominados extensiones.
Componentes clave
En el siguiente diagrama, se muestran los componentes clave del agente invitado y sus interacciones.

Complemento principal: Este complemento encapsula la funcionalidad del agente invitado original. Realiza las tareas esenciales que tu instancia necesita para ejecutarse en Google Cloud. Estas incluyen tareas como las siguientes:
- Configuración de red: Configura la interfaz de red principal para habilitar la comunicación.
- Acceso SSH: Administra las claves SSH del usuario para permitir conexiones seguras a tu instancia.
- Acceso a metadatos: Proporciona una ruta de acceso para que la instancia acceda a los metadatos de la instancia y del proyecto.
No puedes inhabilitar el complemento principal.
Para obtener más información sobre las funciones principales del agente invitado, consulta Funcionalidad del agente invitado.
Extensiones (complementos opcionales): Puedes aprovisionar estas extensiones para integrarlas en otros servicios deGoogle Cloud y realizar tareas como las siguientes:
- Supervisión y registro: Habilita el Agente de operaciones para recopilar métricas y registros de Cloud Monitoring. Para obtener más información, consulta Instala y administra el Agente de operaciones con las políticas del Gestor de extensiones de VM.
- Administración de cargas de trabajo: Habilita el agente de cargas de trabajo de procesamiento para recopilar información de configuración y del entorno de ejecución de tus cargas de trabajo para su análisis. Para obtener más información, consulta la descripción general del Agente de cargas de trabajo de procesamiento.
- Optimización de cargas de trabajo: Habilita el Agente de Google Cloud para SAP para que admita tus cargas de trabajo de SAP que se ejecutan en Google Cloud. Para obtener más información, consulta Instala y administra el agente para SAP en una flota de VMs.
Para obtener más información sobre la instalación y la administración de estas extensiones, consulta Gestor de extensiones de VM.
Gestor de extensiones de VM: Este servicio administrado Google Cloud se ejecuta en la infraestructura de backend de Google. El Gestor de extensiones de VM administra el ciclo de vida de las extensiones, lo que incluye su instalación, actualizaciones y configuración, a través de la comunicación con el administrador de agentes invitados en la instancia.
Administrador de agentes invitados: Este proceso central inicia, detiene y supervisa el estado de todos los complementos. El administrador de agentes invitados facilita la comunicación entre el complemento principal y el Gestor de extensiones de VM. La administración del ciclo de vida de las extensiones incluye lo siguiente:
- Instalación y actualizaciones: El administrador del agente invitado instala, inicia, detiene y configura extensiones según las instrucciones del Gestor de extensiones de VM.
- Supervisión del estado: El administrador de agentes invitados supervisa el estado y la condición de las extensiones, incluido el uso de CPU y memoria, y envía esta información a VM Extension Manager.
- Administración de políticas: Usa las APIs de Compute Engine para crear políticas que controlen la instalación y el control de versiones de las extensiones.
Beneficios
La arquitectura basada en complementos ofrece varias ventajas en comparación con el diseño monolítico. Los beneficios son los siguientes:
- Aislamiento de complementos: Cada complemento se ejecuta en un proceso separado, por lo que una falla en uno no afecta al agente principal ni a otros complementos.
- Protección de recursos: El agente invitado usa funciones a nivel del SO para aplicar límites de recursos en los complementos, lo que evita que un solo complemento consuma una cantidad excesiva de CPU o memoria.
- Recuperación automática de fallas: El sistema se recupera automáticamente de una falla del complemento deteniéndolo y reiniciándolo.
- Habilitación selectiva: Puedes inhabilitar las extensiones que no sean necesarias, lo que te permite proteger u optimizar tu instancia.
- Reducción de la sobrecarga de las extensiones: El administrador del agente invitado controla automáticamente la instalación y las actualizaciones de las extensiones, lo que reduce el esfuerzo manual necesario para mantenerlas actualizadas.
Endpoint de API
El agente invitado se comunica con varias APIs y extremos de Google para funcionar. Si tienes reglas de firewall específicas o usas los Controles del servicio de VPC y dependes de la funcionalidad del agente que los usa, asegúrate de que tus instancias puedan acceder a los extremos correspondientes:
- Servidor de metadatos (
metadata.google.internal): El agente invitado depende del servidor de metadatos para recuperar los metadatos de la instancia y del proyecto, como las claves SSH y las configuraciones de red, para configurar la instancia. Para obtener más información, consulta Funcionalidad principal y Extremos del servidor de metadatos. - Cloud Storage (
storage.googleapis.com): Es posible que el agente invitado descargue secuencias de comandos de metadatos de Cloud Storage si los metadatos de tu instancia proporcionan una URL que apunta a un bucket de Cloud Storage. Para obtener más información, consulta Ejecución de secuencias de comandos de metadatos y Extremos de solicitud en la documentación de Cloud Storage. - VM Extension Manager (
*.agentcommunication.googleapis.com): El administrador de agentes invitados se comunica con el Servicio de comunicación del agente (ACS) para administrar el ciclo de vida de las extensiones y generar informes de métricas. Para obtener más información, consulta Gestor de extensiones de VM. - Cloud Logging (
logging.googleapis.com): De forma predeterminada, el agente invitado tiene Cloud Logging habilitado para los registros. Para obtener más información, consulta la descripción general de la API de Cloud Logging.
Para obtener una lista completa de los extremos regionales, consulta Extremos de servicios regionales.
Ubicación de los archivos binarios del agente invitado
En las siguientes tablas, se enumeran las rutas de acceso a los archivos binarios de los diferentes agentes invitados en instancias de Linux y Windows, según la arquitectura.
Objetos binarios de agentes basados en complementos
En esta tabla, se enumeran las rutas de acceso a los archivos binarios del agente invitado basado en complementos en instancias de Linux y Windows:
| Componente | Ruta de acceso en Linux | Ruta de acceso en Windows |
|---|---|---|
| Administrador de agentes invitados | /usr/bin/google_guest_agent_manager |
C:\ProgramData\Google\Compute Engine\agent\GCEWindowsAgentManager.exe |
| Objeto binario del complemento principal | /usr/lib/google/guest_agent/core_plugin |
C:\Program Files\Google\Compute Engine\agent\CorePlugin.exe |
| Ejecutor de secuencias de comandos de metadatos | /usr/bin/gce_metadata_script_runner |
C:\Program Files\Google\Compute Engine\agent\GCEMetadataScriptRunner.exe |
Objetos binarios de agentes monolíticos
En la siguiente tabla, se enumeran las rutas de acceso de los archivos para los objetos binarios del agente invitado monolítico en las instancias de Linux y Windows:
| Componente | Ruta de acceso en Linux | Ruta de acceso en Windows |
|---|---|---|
| Agente de invitado | /usr/bin/google_guest_agent |
C:\Program Files\Google\Compute Engine\agent\GCEWindowsAgent.exe |
| Ejecutor de secuencias de comandos de metadatos | /usr/bin/google_metadata_script_runner |
C:\Program Files\Google\Compute Engine\metadata_scripts\GCEMetadataScripts.exe |
| Claves autorizadas | No aplicable | C:\Program Files\Google\Compute Engine\agent\GCEAuthorizedKeys.exe |
Servicios de daemon del agente invitado
En las siguientes tablas, se enumeran los servicios de daemon del agente invitado instalados en instancias de Linux y
Windows. Estos servicios se ejecutan como unidades systemd en Linux y como servicios de Windows en Windows.
| Componente | Nombre del servicio en Linux | Nombre del servicio en Windows | Estado |
|---|---|---|---|
| Administrador de agentes invitados | google-guest-agent-manager.service |
GCEAgentManager |
Se habilita en todos los modos, incluida la retrocompatibilidad. |
| Agente de invitado | google-guest-agent.service |
GCEAgent |
Inhabilitada de forma predeterminada. Solo se habilita en el modo de retrocompatibilidad. |
| Administrador de compatibilidad de agentes invitados | google-guest-compat-manager.service |
GCEWindowsCompatManager |
Se habilita en todos los modos, incluida la retrocompatibilidad. |
| Actualización de certificados de carga de trabajo | gce-workload-cert-refresh.timer |
N/A |
Está inhabilitado de forma predeterminada. Solo se habilita en el modo de retrocompatibilidad. |
| Secuencias de comandos de inicio | google-startup-scripts.service |
GCEStartup |
|
| Secuencias de comandos de cierre | google-shutdown-scripts.service |
Shutdown |
|
Retrocompatibilidad
Para garantizar una transición fluida del agente invitado monolítico anterior al
sistema basado en complementos, el paquete del agente invitado incluye varios componentes
diseñados para la retrocompatibilidad. Estos componentes no forman parte de la
arquitectura basada en complementos y se activan solo si eliges de forma manual volver al
agente monolítico configurando el atributo de metadatos
enable-guest-agent-core-plugin como false.
Los componentes que admiten esta compatibilidad incluyen los siguientes:
- Administrador de compatibilidad del agente invitado: Este paquete administra el cambio entre el agente basado en complementos y el agente monolítico.
- Administrador de compatibilidad del ejecutor de secuencias de comandos de metadatos: Este paquete garantiza que se use el ejecutor de secuencias de comandos correcto, según si el agente monolítico o basado en complementos está activo.
- Administrador de compatibilidad de claves autorizadas (solo para Windows): Este paquete controla las claves SSH y garantiza que se usen las claves correctas para el agente antiguo o el nuevo.
| Componente | Ruta de acceso en Linux | Ruta de acceso en Windows |
|---|---|---|
| Administrador de compatibilidad de agentes invitados | /usr/bin/google_guest_compat_manager |
C:\Program Files\Google\Compute Engine\agent\GCEWindowsCompatManager.exe |
| Administrador de compatibilidad del ejecutor de secuencias de comandos de metadatos | /usr/bin/metadata_script_runner_compat |
C:\Program Files\Google\Compute Engine\metadata_scripts\GCECompatMetadataScripts.exe |
| Administrador de compatibilidad de claves autorizadas | No aplicable | C:\Program Files\Google\Compute Engine\agent\GCEWindowsAuthorizedKeysCompat.exe |
¿Qué sigue?
- Para obtener más información sobre las funciones principales de los complementos, consulta Funcionalidad del agente invitado.