Dokumen ini membahas kekhawatiran dan pertanyaan tentang penginstalan discovery client Migration Center di pusat data. Hal ini menekankan pentingnya keamanan, kepatuhan, dan performa saat menemukan dan mengumpulkan data dari aset IT pelanggan di lingkungan yang sangat diatur.
Cara pengumpulan data dilakukan
Klien penemuan menggunakan beberapa metode untuk mengumpulkan data dari komputer target. Data yang dikumpulkan bervariasi bergantung pada metode. Di tingkat tamu, data dikumpulkan menggunakan skrip pengumpulan; di tingkat hypervisor, data dikumpulkan menggunakan API platform yang mendasarinya.
Layanan dan proses discovery client
Klien penemuan berjalan sebagai layanan yang disebut GoogleMCDC dalam proses
yang disebut mcdc_service.exe.
Skrip pengumpulan
Semua metode pengumpulan tingkat tamu yang digunakan oleh klien penemuan menjalankan skrip pengumpulan di mesin target. Anda dapat meninjau skrip sebenarnya yang digunakan untuk pengumpulan data di link berikut:
Skrip pengumpulan menyimpan hasil dalam file arsip (zip atau tar) yang kemudian diambil oleh klien penemuan.
Mekanisme pengumpulan
Klien penemuan dapat menggunakan satu atau beberapa mekanisme pengumpulan yang dijelaskan di bagian berikut untuk mengumpulkan data dari mesin target.
SSH (Linux)
Selama pengumpulan SSH, proses berikut akan terjadi:
- Sesi SSH dimulai antara mesin pengumpul dan server target.
- Direktori sementara dibuat di
~/.mcdc-temp/. - Skrip pengumpulan disalin ke direktori tersebut.
- Skrip pengumpulan dieksekusi.
- Arsip hasil diambil menggunakan SCP.
- Direktori sementara dibersihkan.
WMI (Windows)
Secara default, klien penemuan menggunakan panggilan WMI jarak jauh untuk mengumpulkan data dari target mesin Windows. Atau, jika Anda mengaktifkan pengumpulan berbasis skrip, klien penemuan akan menyalin dan menjalankan skrip di mesin target.
Selama pengumpulan WMI berbasis skrip, proses berikut akan terjadi:
- Koneksi WMI dimulai ke mesin target.
- Kunci registry sementara (volatile) dibuat di mesin target
di
HKLM:\SOFTWARE\Google\Collector\data. - Skrip pengumpulan disalin ke kunci registri.
- Direktori sementara dibuat di
C:\temp. - Skrip pengumpulan ditulis ke direktori sementara.
- Skrip pengumpulan dieksekusi.
- Hasil pengumpulan ditulis ke kunci registri volatile.
- Hasilnya disalin ke mesin pengumpul.
VMware Guest Tools (Linux dan Windows)
Selama pengumpulan VMware untuk Linux dan Windows, proses berikut terjadi:
- Direktori sementara dibuat menggunakan alat tamu VMware.
- Skrip pengumpulan disalin ke direktori tersebut.
- Skrip pengumpulan dieksekusi.
- Arsip hasil diambil menggunakan alat tamu VMware.
- Direktori sementara dibersihkan.
Pengumpulan data berkala
Klien penemuan mengumpulkan data dari semua server yang dikonfigurasi secara berkala. Ada dua jenis pengumpulan:
- Pengumpulan lengkap: Dijalankan sekali sehari untuk setiap server. Pengumpulan ini mengeksekusi skrip pengumpulan lengkap yang mengumpulkan berbagai informasi di VM seperti hardware, lingkungan, software yang diinstal, proses yang sedang berjalan, dan lainnya.
- Pengumpulan performa: Berjalan setiap 10 menit di setiap server. Koleksi ini menjalankan skrip pengumpulan performa yang mengumpulkan data tentang penggunaan CPU, memori, jaringan, dan disk.
Data yang dikumpulkan
Skrip pengumpulan mengumpulkan data tentang VM target untuk memahami cara VM tersebut dikonfigurasi dan resource yang digunakan. Hal ini membantu dalam menilai dan merencanakan migrasi mereka ke cloud.
Daftar berikut menjelaskan data yang dikumpulkan:
- Informasi sistem: Informasi dasar yang sangat penting untuk
menentukan ukuran VM, persyaratan performa, dan dependensi pada
hardware atau driver tertentu. Hal ini mencakup:
- Sistem operasi (versi dan rilis)
- Hardware (CPU, memori, detail BIOS)
- Konfigurasi jaringan (antarmuka jaringan, alamat IP, tabel pemilihan rute)
- Penyimpanan (drive disk, partisi, direktori pemasangan)
- Software dan layanan yang diinstal: Skrip mengumpulkan daftar paket yang diinstal dan layanan yang berjalan untuk memahami stack software VM dan perannya. Hal ini mencakup:
- Server web (Apache, Tomcat, JBoss)
- Database (bukti SQL Server dikumpulkan dalam skrip Windows)
- Aplikasi lain yang mungkin memerlukan konfigurasi tertentu selama migrasi.
- Konfigurasi aplikasi: Skrip juga mengumpulkan file konfigurasi untuk server web (IIS, Apache, Tomcat, JBoss, Wordpress). Hal ini membantu dalam memahami setelan dan dependensi spesifik dari aplikasi tersebut, yang sangat penting untuk memastikan transisi yang lancar ke lingkungan cloud.
- Deteksi lingkungan cloud dan VMWare: Skrip Linux dan Windows berupaya mendeteksi apakah VM sudah berjalan di lingkungan cloud (AWS atau Google Cloud), atau di cluster VCenter. Mereka melakukannya dengan membuat permintaan ke server metadata penyedia cloud tersebut. Jika VM sudah ada di cloud, skrip akan mengumpulkan metadata yang relevan seperti ID instance, jenis instance, dan detail lainnya.
- Metrik performa: Skrip pengumpulan performa mengukur penggunaan resource. Hal ini mencakup hal berikut:
- CPU
- Memori
- Operasi I/O
- Jaringan
- Koneksi jaringan: Skrip mengumpulkan koneksi terbuka untuk membantu membuat gambaran tentang berbagai dependensi pada resource jaringan.
Dampak performa pada mesin target
Penilaian pemanfaatan resource
Penggunaan resource skrip pengumpulan di mesin target bergantung pada parameter seperti jumlah proses yang berjalan, jumlah aplikasi yang di-deploy, jumlah koneksi jaringan aktif, dan lainnya.
Di Windows, skrip pengumpulan berjalan menggunakan prioritas terendah yang tersedia melalui Threading API.
Di Linux, nilai nice sebesar 5 digunakan untuk meminimalkan gangguan pada beban kerja produksi, dan memastikan bahwa beban kerja tersebut memiliki prioritas yang lebih tinggi daripada skrip pengumpulan.
Pengumpulan data yang umum dapat memerlukan penggunaan CPU inti tunggal yang tinggi selama 5-20 detik pada mesin yang tidak dimuat. Proses ini mungkin memerlukan waktu lebih lama jika ada workload lain, karena workload tersebut memiliki prioritas yang lebih tinggi.
Strategi mitigasi
Klien penemuan menyediakan mekanisme untuk mencegah pengumpulan server tertentu selama jam tertentu. Fitur ini dapat digunakan untuk mencegah pengumpulan dari server yang menjalankan beban kerja penting selama jam sibuk.
Pertimbangan keamanan
Autentikasi dan otorisasi
Komunikasi dengan mesin target
- Klien penemuan menggunakan saluran yang aman untuk mengautentikasi dan berkomunikasi dengan mesin target. Hal ini mencakup koneksi SSH, WMI, alat VMware, dan VCenter. Klien penemuan menggunakan tindakan keamanan bawaan sebagai bagian dari protokol ini.
- Di SSH, klien penemuan memungkinkan autentikasi berbasis kunci dan nama pengguna-sandi. Untuk mengetahui daftar lengkap jenis pasangan kunci yang didukung, lihat Persyaratan aset target.
Komunikasi dengan Google Cloud
- Klien penemuan yang terdaftar berkomunikasi dengan Google Cloud Migration Center selama operasi normalnya. Komunikasi terjadi melalui akun layanan dengan pengikatan peran
roles/migrationcenter.discoveryClient. Akun layanan dibuat secara otomatis, atau disediakan oleh pengguna selama proses pendaftaran. - Kunci pribadi akun layanan dienkripsi di mesin klien penemuan menggunakan mekanisme enkripsi yang dijelaskan di bagian berikut.
- Semua komunikasi ke Google Cloud diautentikasi menggunakan akun layanan ini, dan dienkripsi menggunakan SSL/TLS.
Enkripsi data
- Dalam pengiriman: semua saluran komunikasi klien penemuan menggunakan enkripsi untuk melindungi data dalam pengiriman. Hal ini mencakup komunikasi dengan mesin target menggunakan protokol yang berbeda (SSH/WMI), dan komunikasi dengan Google Cloud menggunakan HTTPS.
- Dalam penyimpanan: PII, SPII, dan secret klien penemuan semuanya dienkripsi dalam penyimpanan menggunakan algoritma
AES128_GCMdan menggunakan Windows DPAPI untuk menyimpan kunci enkripsi dengan aman.
Deteksi dan pencegahan penyusupan
Karena klien penemuan digunakan untuk menghubungkan dan menjalankan skrip di banyak VM di organisasi Anda, klien ini dapat memicu pemberitahuan EDR atau xDR. Hal ini sangat bergantung pada cara alat keamanan Anda dikonfigurasi dan alat tertentu yang Anda gunakan. Perhatikan dan pertimbangkan untuk membuat pengecualian untuk perangkat dan pemberitahuan tertentu.
Logging dan dukungan
Discovery client mengumpulkan log selama operasinya untuk memungkinkan proses pen-debug-an dan dukungan. Log klien penemuan dikumpulkan menggunakan dua mekanisme:
- Log lokal: Log ditulis ke file di bawah
C:\ProgramData\Google\mcdc\logs. File log dirotasi dan dikompresi. - Log cloud: Klien terdaftar juga mengirim log ke Google Cloud sehingga dapat digunakan oleh tim dukungan Google Cloud saat masalah pelanggan dilaporkan.