Este documento aborda preocupações e perguntas sobre a instalação do cliente de descoberta do centro de migração em centros de dados. Enfatiza a importância da segurança, da conformidade e do desempenho ao descobrir e recolher dados de recursos de TI dos clientes em ambientes altamente regulamentados.
Como é feita a recolha de dados
O cliente de descoberta usa vários métodos para recolher dados de máquinas de destino. Os dados recolhidos variam consoante o método. Ao nível do convidado, os dados são recolhidos através dos scripts de recolha; ao nível do hipervisor, os dados são recolhidos através das APIs da plataforma subjacente.
Serviço e processo do cliente de descoberta
O cliente de deteção é executado como um serviço denominado GoogleMCDC
num processo denominado mcdc_service.exe
.
Scripts de recolha
Todos os métodos de recolha ao nível de convidado usados pelo cliente de deteção executam scripts de recolha nas máquinas de destino. Pode rever os scripts reais usados para a recolha nos seguintes links:
- Linux
- Windows
Os scripts de recolha armazenam os resultados num ficheiro de arquivo (zip ou tar) que o cliente de deteção obtém posteriormente.
Mecanismos de recolha
O cliente de descoberta pode usar um ou mais dos mecanismos de recolha descritos nas secções seguintes para recolher dados das máquinas de destino.
SSH (Linux)
Durante a recolha de SSH, ocorre o seguinte processo:
- É iniciada uma sessão SSH entre a máquina do coletor e o servidor de destino.
- É criado um diretório temporário em
~/.mcdc-temp/
. - O script de recolha é copiado para esse diretório.
- O script de recolha é executado.
- O arquivo de resultados é obtido através do SCP.
- O diretório temporário é limpo.
WMI (Windows)
Durante a recolha de WMI no Windows, ocorre o seguinte processo:
- É iniciada uma ligação WMI ao computador de destino.
- É criada uma chave da base de dados de registo temporária (volátil) no computador de destino em
HKLM:\SOFTWARE\Google\Collector\data
. - O script de recolha é copiado para a chave de registo.
- É criado um diretório temporário em
C:\temp
. - O script de recolha é escrito no diretório temporário.
- O script de recolha é executado.
- O resultado da recolha é escrito na chave de registo volátil.
- O resultado é copiado para o computador do coletor.
VMware Guest Tools (Linux e Windows)
Durante a recolha do VMware para Linux e Windows, ocorre o seguinte processo:
- É criado um diretório temporário com as ferramentas de convidado do VMware.
- O script de recolha é copiado para esse diretório.
- O script de recolha é executado.
- O arquivo de resultados é obtido através das ferramentas de convidado do VMware.
- O diretório temporário é limpo.
Recolha de dados periódica
O cliente de descoberta recolhe dados de todos os servidores configurados de forma periódica. Existem dois tipos de recolha:
- Recolha completa: é executada uma vez por dia para cada servidor. Esta recolha executa o script de recolha completo que recolhe várias informações na VM, como o hardware, o ambiente, o software instalado, os processos em execução e muito mais.
- Recolha de desempenho: é executada a cada 10 minutos em cada servidor. Esta recolha executa o script de recolha de desempenho que recolhe dados sobre a utilização da CPU, da memória, da rede e do disco.
Que dados são recolhidos
Os scripts de recolha recolhem dados sobre as VMs de destino para compreender como estão configuradas e que recursos usam. Isto ajuda a avaliar e planear a respetiva migração para a nuvem.
A lista seguinte descreve os dados recolhidos:
- Informações do sistema: as informações básicas que são cruciais para determinar o tamanho, os requisitos de desempenho e as dependências da VM em hardware ou controladores específicos. Inclui:
- Sistema operativo (versão e lançamento)
- Hardware (CPU, memória, detalhes da BIOS)
- Configuração de rede (interfaces de rede, endereços IP, tabelas de encaminhamento)
- Armazenamento (discos rígidos, partições, pontos de montagem)
- Software e serviços instalados: os scripts recolhem uma lista de pacotes instalados e serviços em execução para compreender a pilha de software da VM e a respetiva função. Inclui:
- Servidores Web (Apache, Tomcat, JBoss)
- Bases de dados (são recolhidas provas do SQL Server no script do Windows)
- Outras aplicações que podem exigir configurações específicas durante a migração.
- Configurações da aplicação: os scripts também recolhem ficheiros de configuração para servidores Web (IIS, Apache, Tomcat, JBoss e Wordpress). Isto ajuda a compreender as definições e as dependências específicas destas aplicações, o que é fundamental para garantir uma transição sem problemas para o ambiente da nuvem.
- Deteção de VMWare e ambiente na nuvem: os scripts do Linux e do Windows tentam detetar se a VM já está a ser executada num ambiente na nuvem (AWS ou Google Cloud) ou num cluster do VCenter. Para tal, fazem pedidos aos servidores de metadados destes fornecedores de nuvem. Se a VM já estiver na nuvem, os scripts recolhem metadados relevantes, como o ID da instância, o tipo de instância e outros detalhes.
- Métricas de desempenho: os scripts de recolha de desempenho medem a utilização de recursos. Isto inclui o seguinte:
- CPU
- Memória
- Operações de I/O
- Trabalhar em rede
- Ligações de rede: os scripts recolhem ligações abertas para ajudar a criar uma imagem das diferentes dependências dos recursos de rede.
Impacto no desempenho das máquinas de destino
Avaliação da utilização de recursos
A utilização de recursos dos scripts de recolha na máquina de destino depende de parâmetros como o número de processos em execução, o número de aplicações implementadas, o número de ligações de rede ativas e outros.
No Windows, o script de recolha é executado com a prioridade mais baixa disponível através da API Threading.
No Linux, é usado um valor nice
de 5 para minimizar a interferência com as cargas de trabalho de produção e garantir que têm uma prioridade mais elevada em relação ao script de recolha.
Uma recolha típica pode demorar 5 a 20 segundos de utilização elevada da CPU de núcleo único numa máquina sem carga. Pode demorar mais tempo se estiverem presentes outras cargas de trabalho, porque estas têm uma prioridade mais elevada.
Estratégias de mitigação
O cliente de deteção fornece um mecanismo para impedir a recolha de servidores específicos durante horas específicas. Esta funcionalidade pode ser usada para impedir a recolha de dados de servidores que executam cargas de trabalho críticas durante as horas de ponta.
Considerações de segurança
Autenticação e autorização
Comunicação com máquinas de destino
- O cliente de descoberta usa canais seguros para autenticar e comunicar com as máquinas de destino. Isto inclui ligações SSH, WMI, VMware Tools e VCenter. O cliente de descoberta usa as medidas de segurança integradas como parte destes protocolos.
- No SSH, o cliente de descoberta permite a autenticação baseada em palavras-passe e chaves. Para ver uma lista completa dos tipos de pares de chaves suportados, consulte os requisitos dos recursos de destino.
Comunicação com Google Cloud
- Os clientes de descoberta registados comunicam com o centro de migração do Google Cloud durante o respetivo funcionamento normal. A comunicação ocorre através de uma conta de serviço com a associação de função
roles/migrationcenter.discoveryClient
. A conta de serviço é criada automaticamente ou fornecida pelo utilizador durante o processo de registo. - A chave privada da conta de serviço é encriptada no computador cliente de deteção através do mecanismo de encriptação descrito na secção seguinte.
- Todas as comunicações para Google Cloud são autenticadas através desta conta de serviço e encriptadas através de SSL/TLS.
Encriptação de dados
- Em trânsito: todos os canais de comunicação do cliente de descoberta usam a encriptação para proteger os dados em trânsito. Isto inclui a comunicação com as máquinas de destino através dos diferentes protocolos (SSH/WMI) e a comunicação com o Google Cloud através de HTTPS.
- Em repouso: as PII, as SPII e os segredos do cliente de deteção estão todos encriptados em repouso através do algoritmo
AES128_GCM
e da DPAPI do Windows para armazenar as chaves de encriptação em segurança.
Deteção e prevenção de intrusões
Uma vez que o cliente de deteção é usado para ligar e executar scripts em muitas VMs na sua organização, pode acionar alertas de EDR ou xDR. Isto depende muito da forma como as suas ferramentas de segurança estão configuradas e das ferramentas específicas que está a usar. Tenha em atenção e pondere criar isenções para os alertas e os dispositivos específicos.
Registo e capacidade de apoio técnico
O cliente de descoberta recolhe registos durante o respetivo funcionamento para permitir a depuração e o apoio técnico. Os registos do cliente de descoberta são recolhidos através de dois mecanismos:
- Registos locais: os registos são escritos no ficheiro em
C:\ProgramData\Google\mcdc\logs
. Os ficheiros de registo são rodados e comprimidos. - Registos na nuvem: os clientes registados também enviam os registos para Google Cloud , para que possam ser usados pela Google Cloud equipa de apoio técnico quando são comunicados problemas dos clientes.