Este documento fornece uma visão geral da arquitetura do agente convidado. O agente convidado é um componente essencial do ambiente de convidado. O ambiente convidado contém scripts, daemons e binários que as instâncias precisam para serem executadas no Compute Engine. Para mais informações, consulte Ambiente convidado.
O agente convidado configura serviços e define configurações mínimas para recursos como execução de script de snapshot, failover do Windows, login do SO e autenticação SSH baseada em metadados. Para mais informações sobre as funções principais do agente convidado, consulte Funcionalidade do agente convidado.
Arquitetura do agente convidado
A partir da versão 20250901.00
, a arquitetura do agente convidado é
atualizada de um design monolítico para um sistema moderno baseado em plug-ins. Essa evolução melhora a flexibilidade, a confiabilidade e a extensibilidade.
Arquitetura monolítica: os agentes convidados anteriores a
20250901.00
apresentam um único processo unificado centrado na descrição das instâncias do servidor de metadados. O servidor de metadados é um servidor HTTP por instância que é executado ao lado de cada instância do Compute Engine. Para mais informações sobre o servidor de metadados, consulte Metadados da VM.O agente convidado faz uma pesquisa longa no servidor de metadados e realiza ações com base nas mudanças de estado. Com essa arquitetura, o estado do agente é compartilhado em todas as tarefas, como SSH e configuração de rede. Essa abordagem monolítica não tinha isolamento de interface e componente. Mudanças ou introduções de recursos em uma área do agente afetam todo o sistema simultaneamente. Esse padrão dificulta a adição de recursos e a cobertura de testes.
Arquitetura baseada em plug-ins: a partir da versão
20250901.00
, o agente convidado é dividido em plug-ins distintos e independentes gerenciados por um gerenciador central. Cada plug-in pode interagir com o servidor de metadados e, conforme orientado por um gerente central, faz mudanças conforme necessário. Essa abordagem modular garante que uma falha em um plug-in não afete o agente principal nem outros plug-ins.
Arquitetura baseada em plug-ins
Essa arquitetura é criada em torno de um gerenciador central que controla vários plug-ins, separando as funcionalidades principais dos plug-ins opcionais específicos do serviço.
Principais componentes
O diagrama a seguir mostra os principais componentes do agente convidado e as interações deles.

Plug-in principal: encapsula a funcionalidade do agente convidado original. Ele realiza as tarefas essenciais para que sua instância seja executada no Google Cloud. Isso inclui tarefas como:
- Configuração de rede: configura a interface de rede principal para permitir a comunicação.
- Acesso SSH: gerencia as chaves SSH do usuário para permitir conexões seguras com sua instância.
- Acesso a metadados: fornece um caminho para a instância acessar metadados da instância e do projeto.
Não é possível desativar o plug-in principal.
Para mais informações sobre as funções principais do agente convidado, consulte Funcionalidade do agente convidado.
Plug-ins opcionais: é possível provisionar esses plug-ins para integrar com outros serviços doGoogle Cloud e realizar tarefas como:
- Monitoramento e geração de registros: ative o plug-in do agente de operações para coletar métricas e registros do Cloud Monitoring.
- Gerenciamento de carga de trabalho: ative o plug-in do Workload Manager para coletar informações de configuração e de tempo de execução das suas cargas de trabalho para análise.
- Otimização de carga de trabalho: ative o plug-in do agente SAP para oferecer suporte às cargas de trabalho SAP em execução no Google Cloud.
É possível ativar ou desativar plug-ins opcionais conforme necessário.
Plano de controle do agente: esse serviço Google Cloud gerenciado é executado na infraestrutura de back-end do Google. O plano de controle gerencia o ciclo de vida de plug-ins opcionais, incluindo instalação, atualizações e configuração, ao se comunicar com o gerenciador de agentes convidados na instância.
Gerenciador de agentes convidados: esse processo central inicia, interrompe e monitora o status de todos os plug-ins. O gerenciador de agentes convidados facilita a comunicação entre o plug-in principal e o plano de controle do agente. O gerenciamento do ciclo de vida dos plug-ins opcionais inclui o seguinte:
- Instalação e atualizações: o gerenciador do agente convidado instala, inicia, para e configura plug-ins opcionais com base nas instruções do plano de controle do agente.
- Monitoramento de integridade: o gerenciador de agentes convidados monitora a integridade e o status de plug-ins opcionais, incluindo o uso de CPU e memória, e informa essas informações ao plano de controle do agente.
- Gerenciamento de políticas: use as APIs do Compute Engine para criar políticas que controlam a instalação e o controle de versões de plug-ins opcionais.
Vantagens
A arquitetura baseada em plug-ins oferece várias vantagens em relação ao design monolítico. Esses benefícios incluem:
- Isolamento de plug-ins: cada plug-in é executado em um processo separado. Assim, uma falha em um deles não afeta o agente principal nem outros plug-ins.
- Proteção de recursos: o agente convidado usa recursos no nível do SO para aplicar limites de recursos aos plug-ins, impedindo que um único plug-in consuma CPU ou memória em excesso.
- Recuperação automática de falhas: o sistema se recupera automaticamente de uma falha de plug-in interrompendo e reiniciando o plug-in.
- Ativação seletiva: é possível desativar plug-ins opcionais que não são necessários, o que permite proteger ou otimizar sua instância.
- Redução da sobrecarga para plug-ins opcionais: o gerenciador de agentes convidados processa automaticamente a instalação e as atualizações de plug-ins opcionais, reduzindo o esforço manual necessário para mantê-los atualizados.
Localização dos binários do agente convidado
As tabelas a seguir listam os caminhos de arquivo dos diferentes binários do agente convidado em instâncias do Linux e do Windows, dependendo da arquitetura.
Binários de agentes baseados em plug-ins
Esta tabela lista os caminhos de arquivo dos binários do agente convidado baseados em plug-in em instâncias do Linux e do Windows:
Componente | Caminho no Linux | Caminho no Windows |
---|---|---|
Gerente de agente convidado | /usr/bin/google_guest_agent_manager |
C:\ProgramData\Google\Compute Engine\google-guest-agent |
Binário do plug-in principal | /usr/lib/google/guest_agent/core_plugin |
C:\Program Files\Google\Compute Engine\agent\CorePlugin.exe |
Executor de script de metadados | /usr/bin/gce_metadata_script_runner |
C:\Program Files\Google\Compute Engine\agent\GCEMetadataScriptRunner.exe |
Binários de agente monolíticos
A tabela a seguir lista os caminhos de arquivo para os binários do agente convidado monolítico em instâncias do Linux e do Windows:
Componente | Caminho no Linux | Caminho no Windows |
---|---|---|
Agente convidado | /usr/bin/google_guest_agent |
C:\Program Files\Google\Compute Engine\google_guest_agent.exe |
Executor de script de metadados | /usr/bin/google_metadata_script_runner |
C:\Program Files\Google\Compute Engine\metadata_scripts\GCEMetadataScripts.exe |
Chaves autorizadas | Não relevante | C:\Program Files\Google\Compute Engine\agent\GCEAuthorizedKeys.exe |
Compatibilidade com versões anteriores
Para garantir uma transição tranquila do agente convidado monolítico anterior para o
sistema baseado em plug-ins, o pacote do agente convidado inclui vários componentes
projetados para compatibilidade com versões anteriores. Esses componentes não fazem parte da arquitetura baseada em plug-ins e são ativados somente se você escolher manualmente reverter para o agente monolítico definindo o atributo de metadados enable-guest-agent-core-plugin
como false
.
Os componentes que oferecem suporte a essa compatibilidade incluem:
- Gerenciador de compatibilidade do agente convidado: esse pacote gerencia a troca entre o agente baseado em plug-in e o agente monolítico.
- Gerenciador de compatibilidade do executor de scripts de metadados: esse pacote garante que o executor de scripts correto seja usado, dependendo se o agente monolítico ou baseado em plug-in está ativo.
- Gerenciador de compatibilidade de chaves autorizadas (somente Windows): esse pacote processa chaves SSH, garantindo que as chaves corretas sejam usadas para o agente antigo ou novo.
Componente | Caminho no Linux | Caminho no Windows |
---|---|---|
Gerenciador de compatibilidade do agente convidado | /usr/bin/google_guest_compat_manager |
C:\Program Files\Google\Compute Engine\agent\GCEWindowsCompatManager.exe |
Gerenciador de compatibilidade do executor de script de metadados | /usr/bin/metadata_script_runner_compat |
C:\Program Files\Google\Compute Engine\metadata_scripts\GCECompatMetadataScripts.exe |
Gerenciador de compatibilidade de chaves autorizadas | Não relevante | C:\Program Files\Google\Compute Engine\agent\GCEWindowsAuthorizedKeysCompat.exe |
A seguir
- Para mais informações sobre as funções principais do plug-in, consulte Funcionalidade do agente convidado