Mengumpulkan data tamu dari VM EC2 untuk penilaian offline

Tutorial ini memandu Anda melalui proses penemuan dan pengumpulan data pada instance virtual machine (VM) EC2, yang akan digunakan untuk penilaian teknis offline menggunakan CLI klien penemuan Migration Center.

Tujuan

Dalam tutorial ini, Anda akan mempelajari cara:

  • Download CLI mcdc untuk menilai VM AWS EC2 Anda.
  • Lakukan penemuan inventaris AWS EC2.
  • Kumpulkan informasi tingkat tamu di semua VM di region EC2 menggunakan AWS Session Manager atau SSH.
  • Buat laporan penilaian offline.
  • (Tingkat lanjut) Ubah skrip agar sesuai dengan kebutuhan Anda.
  • (Lanjutan) Tulis skrip orkestrasi dari awal.

Biaya

Tutorial ini tidak menimbulkan Google Cloud biaya.

Hal ini tidak mungkin memengaruhi biaya AWS Anda.

Sebelum memulai

Prasyarat bergantung pada cara Anda menghubungkan ke VM EC2.

Pengelola Sesi

  1. Siapkan komputer Linux untuk mendownload dan menjalankan mcdc CLI. Komputer Linux harus memiliki persyaratan minimum berikut:

    • Kernel Linux versi 2.6.23 atau yang lebih baru
    • RAM 4 GB dan ruang disk 10 GB
    • AWS CLI terinstal
  2. Pastikan AWS CLI memiliki izin berikut:

    • Dapat menelepon aws ssm describe-instance-information
    • Dapat menelepon aws ssm start-session

SSH

  1. Siapkan komputer Linux untuk mendownload dan menjalankan mcdc CLI. Komputer Linux harus memenuhi persyaratan minimum berikut:

    • Kernel Linux versi 2.6.23 atau yang lebih baru
    • RAM 4 GB dan ruang disk 10 GB
    • AWS CLI terinstal
    • Konektivitas jaringan ke instance EC2 (mungkin melalui proxy)
  2. Pastikan AWS CLI memiliki izin berikut:

Download mcdc CLI

  1. Hubungkan ke mesin Linux:
    ssh MACHINE_IP

    Ganti MACHINE_IP dengan alamat IP mesin Linux Anda.

  2. Download mcdc CLI versi terbaru dan setel agar dapat dijalankan:
      curl -O "https://mcdc-release.storage.googleapis.com/$(curl -s https://mcdc-release.storage.googleapis.com/latest)/mcdc"
      chmod +x mcdc
  3. Tambahkan CLI mcdc ke jalur shell Anda:
    PATH=$PATH:`pwd`

Melakukan penemuan inventaris AWS

  • Jalankan penemuan inventaris:

    ./mcdc discover aws -r REGION
    

    Ganti REGION dengan region VM EC2 Anda.

    CLI mcdc akan meminta ID kunci akses dan kunci akses rahasia Anda.

    Output perintah discover akan terlihat seperti berikut:

    Collected 166 VMs
    [✓] Collection completed.
    

Menjalankan penemuan tamu

Anda dapat melakukan penemuan tamu menggunakan Session Manager atau SSH.

Pengelola Sesi

Metode ini menggunakan AWS Systems Manager Session Manager untuk melakukan penemuan tamu di semua VM dengan agen SSM yang diinstal. Agen SSM diinstal secara default di sebagian besar AMI yang disediakan Amazon, dan dapat diinstal secara manual di AMI lainnya.

  1. Pastikan semua VM memiliki peran IAM yang memungkinkan koneksi menggunakan Session Manager. Untuk mengetahui informasi selengkapnya, lihat dokumentasi AWS.

  2. Pastikan semua VM yang ingin Anda kumpulkan diaktifkan.

  3. Jalankan penemuan tamu menggunakan skrip pengumpulan tamu ssm dari repositori Migrate to Containers di GitHub.

    a. Download skrip:

     curl -O https://raw.githubusercontent.com/GoogleCloudPlatform/migrate-to-containers/main/scripts/mcdc/mcdc_collect_aws_guest_ssm.sh
     chmod +x mcdc_collect_aws_guest_ssm.sh
    

    b. Jalankan skrip dan simpan output ke file:

     ./mcdc_collect_aws_guest_ssm.sh --region REGION
    

    Ganti REGION dengan region VM EC2 Anda.

    Semua tanda diteruskan langsung ke aws ssm describe-instance-information. Untuk mengumpulkan dari VM tertentu, jalankan perintah berikut:

     ./mcdc_collect_aws_guest_ssm.sh --region REGION --filters "Key=InstanceIds,Values=VM_ID"
    

    Ganti VM_ID dengan ID VM.

    Untuk mengetahui informasi selengkapnya tentang semua tanda yang diizinkan untuk perintah describe-instance-information, lihat dokumentasi AWS.

SSH

Metode ini menggunakan SSH untuk melakukan penemuan tamu di VM Linux. Layanan ini terhubung ke alamat IP publik setiap VM. Namun, skrip harus mudah dimodifikasi. Misalnya, untuk terhubung ke alamat IP pribadi.

Skrip menggunakan EC2 instance connect untuk autentikasi. Instance Connect hanya tersedia di VM Amazon Linux dan Ubuntu, dan mungkin memerlukan penginstalan. Namun, menyesuaikan skrip untuk menggunakan metode autentikasi alternatif, seperti autentikasi sandi menggunakan sshpass, atau kunci pribadi, seharusnya mudah dilakukan.

  1. Pastikan Anda memiliki akses jaringan ke VM. Anda mungkin perlu menyesuaikan aturan masuk untuk grup keamanan, atau menggunakan proxy untuk terhubung.

  2. Pastikan semua VM yang ingin Anda kumpulkan datanya diaktifkan.

  3. Jalankan penemuan tamu menggunakan skrip pengumpulan tamu SSH dari repositori Migrate to Containers di GitHub.

    1. Download skrip:

      curl -O https://raw.githubusercontent.com/GoogleCloudPlatform/migrate-to-containers/main/scripts/mcdc/mcdc_collect_aws_guest_ssh.sh
      chmod +x mcdc_collect_aws_guest_ssh.sh
      
    2. Jalankan skrip dan simpan output ke file:

      ./mcdc_collect_aws_guest_ssh.sh --region REGION
      

      Ganti REGION dengan region VM EC2 Anda.

      Setiap tanda yang bernama -a atau --ssh-arg akan diteruskan langsung ke SSH. Untuk menonaktifkan autentikasi kunci host yang ketat, jalankan perintah berikut:

      ./mcdc_collect_aws_guest_ssh.sh --region REGION -a '-o StrictHostKeyChecking=no'
      

      Semua tanda lainnya diteruskan langsung ke aws ssh describe-instances. Untuk mengumpulkan dari VM tertentu, jalankan perintah berikut:

      ./mcdc_collect_aws_guest_ssm.sh --region REGION --instance-ids VM_ID
      

      Ganti VM_ID dengan ID VM.

      Untuk mempelajari semua tanda yang diizinkan, lihat dokumentasi AWS.

      Anda dapat menggunakan proxy untuk terhubung ke VM menggunakan opsi SSH ProxyCommand. Misalnya, untuk menggunakan proxy socks5 yang ada di port PROXY_PORT, jalankan perintah berikut:

      ./mcdc_collect_aws_guest_ssh.sh --region REGION -a '-o ProxyCommand=nc -X 5 -x 127.0.0.1:PROXY_PORT %h %p'
      

      Ganti PROXY_PORT dengan nomor port.

  4. Jika Anda menyesuaikan aturan masuk di langkah 1, pertimbangkan untuk mengembalikan perubahan Anda.

Membuat laporan penilaian offline

  • Setelah semua data dikumpulkan, Anda dapat membuat laporan HTML mendetail:

    ./mcdc report --format html --full > REPORT_NAME.html
     

(Tingkat Lanjut) Mengubah skrip agar sesuai dengan kebutuhan Anda

Mungkin tidak ada skrip yang sesuai dengan kebutuhan Anda. Misalnya, Anda mungkin belum menginstal agen SSM atau instance connect di beberapa VM Anda.

Dalam kasus seperti ini, Anda biasanya memiliki cara standar untuk terhubung ke mesin. Sebaiknya Anda menulis skrip yang memungkinkan Anda mengatur metode ini dalam skala besar. Dalam beberapa kasus, Anda mungkin perlu menulis skrip ini dari awal, tetapi dalam kasus lain, Anda mungkin dapat mengubah skrip yang ada.

Misalnya, Anda dapat mengubah skrip pengumpulan SSH untuk menggunakan alamat IP pribadi, bukan publik.

Skrip diberi banyak komentar agar mudah dipahami.

(Lanjutan) Menulis skrip orkestrasi dari awal

Untuk mengatur penemuan tamu dan pengumpulan data dalam skala besar, lakukan hal berikut:

  1. Identifikasi semua VM yang ingin Anda kumpulkan datanya.
  2. Upload skrip pengumpulan tamu ke setiap VM. VM Linux dan Windows memerlukan skrip pengumpulan tamu yang berbeda.
  3. Jalankan skrip pengumpulan tamu di setiap VM.
  4. Download artefak yang dibuat dari setiap VM.
  5. Impor skrip pengumpulan tamu yang didownload ke mcdc CLI.

Meskipun Anda sering kali harus menulis sebagian besar kode ini dari awal, ada beberapa blok penyusun yang berguna dalam contoh skrip yang dapat membantu Anda dalam beberapa tugas ini. Contoh:

Langkah berikutnya