Kumpulkan data tamu dari VM EC2 untuk penilaian offline


Tutorial ini memandu Anda melalui proses menemukan dan mengumpulkan data di instance virtual machine (VM) EC2, yang akan digunakan untuk penilaian teknis offline menggunakan CLI klien penemuan Pusat Migrasi.

Tujuan

Dalam tutorial ini, Anda akan mempelajari cara:

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

Biaya

Tutorial ini tidak menimbulkan biaya Google Cloud.

Hal ini kemungkinan tidak akan memengaruhi biaya AWS Anda.

Sebelum memulai

Prasyarat bergantung pada cara Anda terhubung ke VM EC2.

Pengelola Sesi

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

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

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

SSH

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

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

Mendownload CLI mcdc

  1. Hubungkan ke komputer Linux:
    ssh MACHINE_IP

    Ganti MACHINE_IP dengan alamat IP mesin Linux Anda.

  2. Download CLI mcdc versi terbaru dan setel agar dapat dieksekusi:
      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 Anda untuk memasukkan ID kunci akses dan kunci akses rahasia.

    Output perintah find terlihat mirip dengan berikut ini:

    Collected 166 VMs
    [✓] Collection completed.
    

Melakukan pencarian tamu

Anda dapat melakukan penemuan tamu menggunakan Pengelola Sesi atau SSH.

Pengelola Sesi

Metode ini menggunakan Pengelola Sesi Pengelola Sistem AWS untuk melakukan penemuan tamu di semua VM dengan agen SSM diinstal. Agen SSM diinstal secara default di sebagian besar AMI yang disediakan oleh Amazon, dan dapat diinstal secara manual di perangkat lain.

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

  2. Pastikan semua VM yang ingin Anda kumpulkan diaktifkan.

  3. Jalankan penemuan tamu menggunakan skrip koleksi 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 flag yang diizinkan untuk perintah describe-instance-information, lihat dokumentasi AWS.

SSH

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

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

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

  2. Pastikan semua VM yang ingin Anda kumpulkan diaktifkan.

  3. Jalankan penemuan tamu menggunakan skrip koleksi 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.

      Flag apa pun yang bernama -a atau --ssh-arg 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 ProxyCommand SSH. Misalnya untuk menggunakan proxy socks5 yang ada pada 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 pada langkah 1, pertimbangkan untuk mengembalikan perubahan Anda.

Membuat laporan penilaian offline

  • Setelah semua data dikumpulkan, Anda dapat menghasilkan laporan HTML yang terperinci:

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

(Lanjutan) Ubah skrip agar sesuai dengan kebutuhan Anda

Ada kemungkinan bahwa tidak satu pun skrip benar-benar sesuai dengan kebutuhan Anda. Misalnya, Anda mungkin tidak menginstal agen SSM, atau instance connect, di beberapa VM Anda.

Dalam kasus tersebut, Anda biasanya memiliki cara standar untuk terhubung ke komputer Anda. Sebaiknya tulis skrip yang memungkinkan Anda mengorkestrasi metode ini dalam skala besar. Dalam beberapa kasus, Anda mungkin perlu menulis skrip ini dari awal, tetapi di kasus lain, Anda mungkin dapat mengubah skrip yang sudah ada.

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

Skrip ini banyak diberi 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.
  2. Upload skrip koleksi tamu ke setiap VM. Linux dan Windows VMS memerlukan skrip koleksi tamu yang berbeda.
  3. Jalankan skrip koleksi tamu di setiap VM.
  4. Download artefak yang dibuat dari setiap VM.
  5. Impor skrip koleksi tamu yang didownload ke CLI mcdc.

Meskipun Anda mungkin sering menulis ini dari awal, ada beberapa elemen penyusun yang berguna dalam contoh skrip yang mungkin dapat membantu Anda mengerjakan beberapa tugas ini. Contoh:

Langkah selanjutnya