Questo documento risponde a dubbi e domande sull'installazione del client predittivo di Migration Center nei data center. Sottolinea l'importanza di sicurezza, conformità e prestazioni durante l'individuazione e la raccolta di dati dagli asset IT dei clienti in ambienti altamente regolamentati.
Come viene eseguita la raccolta dei dati
Il client predittivo utilizza diversi metodi per raccogliere dati dalle macchine di destinazione. I dati raccolti variano a seconda del metodo. A livello di guest, i dati vengono raccolti utilizzando gli script di raccolta; a livello di hypervisor, i dati vengono raccolti utilizzando le API della piattaforma sottostante.
Servizio e processo del client predittivo
Il client di rilevamento viene eseguito come servizio chiamato GoogleMCDC in un processo
chiamato mcdc_service.exe.
Script di raccolta
Tutti i metodi di raccolta a livello di ospite utilizzati dal client predittivo eseguono script di raccolta sulle macchine di destinazione. Puoi esaminare gli script effettivi utilizzati per la raccolta ai seguenti link:
Gli script di raccolta archiviano i risultati in un file di archivio (zip o tar) che il client di rilevamento recupera.
Meccanismi di raccolta
Il client predittivo può utilizzare uno o più dei meccanismi di raccolta descritti nelle sezioni seguenti per raccogliere dati dalle macchine di destinazione.
SSH (Linux)
Durante la raccolta SSH, si verifica il seguente processo:
- Viene avviata una sessione SSH tra la macchina del raccoglitore e il server di destinazione.
- Viene creata una directory temporanea in
~/.mcdc-temp/. - Lo script di raccolta viene copiato in questa directory.
- Lo script di raccolta viene eseguito.
- L'archivio dei risultati viene recuperato utilizzando SCP.
- La directory temporanea viene pulita.
WMI (Windows)
Per impostazione predefinita, il client predittivo utilizza chiamate WMI remote per raccogliere dati dalle macchine Windows di destinazione. In alternativa, se abiliti la raccolta basata su script, il client di rilevamento copia ed esegue uno script sulla macchina di destinazione.
Durante la raccolta WMI basata su script, si verifica quanto segue:
- Viene avviata una connessione WMI alla macchina di destinazione.
- Viene creata una chiave del Registro di sistema temporanea (volatile) sul computer di destinazione
in
HKLM:\SOFTWARE\Google\Collector\data. - Lo script di raccolta viene copiato nella chiave del Registro di sistema.
- Viene creata una directory temporanea in
C:\temp. - Lo script di raccolta viene scritto nella directory temporanea.
- Lo script di raccolta viene eseguito.
- Il risultato della raccolta viene scritto nella chiave del registro volatile.
- Il risultato viene copiato sul computer del raccoglitore.
VMware Guest Tools (Linux e Windows)
Durante la raccolta VMware per Linux e Windows, si verifica il seguente processo:
- Viene creata una directory temporanea utilizzando VMware Guest Tools.
- Lo script di raccolta viene copiato in questa directory.
- Lo script di raccolta viene eseguito.
- L'archivio dei risultati viene recuperato utilizzando VMware Tools.
- La directory temporanea viene pulita.
Raccolta periodica dei dati
Il client predittivo raccoglie i dati da tutti i server configurati in modo periodico. Esistono due tipi di raccolta:
- Raccolta completa:viene eseguita una volta al giorno per ogni server. Questa raccolta esegue lo script di raccolta completo che raccoglie varie informazioni sulla VM, come hardware, ambiente, software installato, processi in esecuzione e altro ancora.
- Raccolta delle prestazioni:viene eseguita ogni 10 minuti su ogni server. Questa raccolta esegue lo script di raccolta delle prestazioni che raccoglie i dati sull'utilizzo di CPU, memoria, rete e disco.
Quali dati vengono raccolti
Gli script di raccolta raccolgono dati sulle VM di destinazione per capire come sono configurate e quali risorse utilizzano. Ciò consente di valutare e pianificare la migrazione al cloud.
Il seguente elenco descrive i dati raccolti:
- Informazioni di sistema: le informazioni di base fondamentali per determinare le dimensioni, i requisiti di prestazioni e le dipendenze della VM da hardware o driver specifici. Include:
- Sistema operativo (versione e release)
- Hardware (CPU, memoria, dettagli del BIOS)
- Configurazione di rete (interfacce di rete, indirizzi IP, tabelle di routing)
- Archiviazione (unità disco, partizioni, punti di montaggio)
- Software e servizi installati: gli script raccolgono un elenco di
pacchetti installati e servizi in esecuzione per comprendere lo stack software della VM
e il suo ruolo. Include:
- Server web (Apache, Tomcat, JBoss)
- Database (le prove di SQL Server vengono raccolte nello script Windows)
- Altre applicazioni che potrebbero richiedere configurazioni specifiche durante la migrazione.
- Configurazioni delle applicazioni: gli script raccolgono anche i file di configurazione per i server web (IIS, Apache, Tomcat, JBoss, Wordpress). Ciò consente di comprendere le impostazioni e le dipendenze specifiche di queste applicazioni, il che è fondamentale per garantire una transizione senza problemi all'ambiente cloud.
- Rilevamento dell'ambiente cloud e VMware: gli script Linux e Windows tentano di rilevare se la VM è già in esecuzione in un ambiente cloud (AWS o Google Cloud) o in un cluster VCenter. A tal fine, inviano richieste ai server dei metadati di questi provider cloud. Se la VM è già nel cloud, gli script raccolgono i metadati pertinenti come ID istanza, tipo di istanza e altri dettagli.
- Metriche delle prestazioni:gli script di raccolta delle prestazioni misurano
l'utilizzo delle risorse. Sono inclusi:
- CPU
- Memoria
- Operazioni di I/O
- Networking
- Connessioni di rete: gli script raccolgono le connessioni aperte per contribuire a creare un quadro delle diverse dipendenze dalle risorse di rete.
Impatto sulle prestazioni sulle macchine di destinazione
Valutazione dell'utilizzo delle risorse
L'utilizzo delle risorse degli script di raccolta sulla macchina di destinazione dipende da parametri quali il numero di processi in esecuzione, il numero di applicazioni di cui è stato eseguito il deployment, il numero di connessioni di rete attive e altri.
Su Windows, lo script di raccolta viene eseguito utilizzando la priorità più bassa disponibile
tramite l'API Threading.
Su Linux, un valore nice pari a 5 viene utilizzato per ridurre al minimo le interferenze con i workload di produzione e garantire che abbiano una priorità più elevata rispetto allo script di raccolta.
Una raccolta tipica potrebbe richiedere 5-20 secondi di utilizzo elevato della CPU single-core su una macchina scarica. Potrebbe essere necessario più tempo se sono presenti altri workload, perché questi workload hanno una priorità più alta.
Strategie di mitigazione
Il client predittivo fornisce un meccanismo per impedire la raccolta di server specifici durante orari specifici. Questa funzionalità può essere utilizzata per impedire la raccolta dai server che eseguono carichi di lavoro critici durante le ore di punta.
Considerazioni sulla sicurezza
Autenticazione e autorizzazione
Comunicazione con le macchine di destinazione
- Il client predittivo utilizza canali sicuri per l'autenticazione e la comunicazione con le macchine di destinazione. Sono incluse le connessioni SSH, WMI, VMware Tools e VCenter. Il client di rilevamento utilizza le misure di sicurezza integrate come parte di questi protocolli.
- In SSH, il client di rilevamento consente l'autenticazione sia basata su nome utente e password sia basata su chiave. Per un elenco completo dei tipi di coppie di chiavi supportati, consulta Requisiti degli asset di destinazione.
Comunicazione con Google Cloud
- I client predittivi registrati comunicano con Google Cloud Migration Center
durante il loro normale funzionamento. La comunicazione avviene tramite un
account di serviziot con l'associazione
del ruolo
roles/migrationcenter.discoveryClient. Il account di servizio viene creato automaticamente o fornito dall'utente durante la procedura di registrazione. - La chiave privata del account di servizio viene criptata sulla macchina client di rilevamento utilizzando il meccanismo di crittografia descritto nella sezione seguente.
- Tutte le comunicazioni con Google Cloud vengono autenticate utilizzando questo account di servizio e criptate utilizzando SSL/TLS.
Crittografia dei dati
- In transito:tutti i canali di comunicazione del client di rilevamento utilizzano la crittografia per proteggere i dati in transito. Ciò include la comunicazione con le macchine di destinazione utilizzando i diversi protocolli (SSH/WMI) e la comunicazione con Google Cloud tramite HTTPS.
- Inattivi:i dati PII, SPII e i segreti del client di rilevamento sono tutti criptati
inattivi utilizzando l'algoritmo
AES128_GCMe l'API DPAPI di Windows per archiviare in modo sicuro le chiavi di crittografia.
Rilevamento e prevenzione delle intrusioni
Poiché il client di rilevamento viene utilizzato per connettersi ed eseguire script su molte VM nella tua organizzazione, potrebbe attivare avvisi EDR o xDR. Ciò dipende in larga misura dal modo in cui sono configurati gli strumenti di sicurezza e dagli strumenti specifici che utilizzi. Tieni presente e valuta la possibilità di creare esenzioni per avvisi e dispositivi specifici.
Logging e supporto
Il client predittivo raccoglie i log durante il suo funzionamento per consentire il debug e l'assistenza. I log del client predittivo vengono raccolti utilizzando due meccanismi:
- Log locali:i log vengono scritti nel file in
C:\ProgramData\Google\mcdc\logs. I file di log vengono ruotati e compressi. - Log cloud:i client registrati inviano i log anche a Google Cloud in modo che possano essere utilizzati dal team di assistenza Google Cloud quando vengono segnalati problemi dei clienti.