Tutorial ini memandu Anda melalui proses menemukan dan mengumpulkan data di instance virtual machine (VM) EC2, yang akan digunakan untuk penilaian teknis offline menggunakan Migration Center discovery client CLI.
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.
- (Lanjutan) Ubah skrip agar sesuai dengan kebutuhan Anda.
- (Lanjutan) Menulis skrip orkestrasi dari awal.
Biaya
Tutorial ini tidak dikenai biaya Google Cloud.
Hal ini kemungkinan tidak akan memengaruhi biaya AWS Anda.
Sebelum memulai
Prasyaratnya bergantung pada cara Anda terhubung ke VM EC2.
Pengelola Sesi
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 kapasitas disk 10 GB
- AWS CLI diinstal
Pastikan AWS CLI memiliki izin berikut:
- Dapat memanggil
aws ssm describe-instance-information
- Dapat memanggil
aws ssm start-session
- Dapat memanggil
SSH
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 kapasitas disk 10 GB
- AWS CLI diinstal
- Konektivitas jaringan ke instance EC2 (mungkin melalui proxy)
Pastikan AWS CLI memiliki izin berikut:
- Dapat memanggil
aws ec2 describe-instances
- Instance Connect
- Dapat memanggil
Mendownload mcdc
CLI
- Hubungkan ke mesin Linux:
ssh MACHINE_IP
Ganti MACHINE_IP dengan alamat IP mesin Linux Anda.
- 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
- 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.Output perintah discover terlihat mirip dengan berikut ini:
Collected 166 VMs [✓] Collection completed.
Melakukan 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.
Pastikan semua VM memiliki peran IAM yang memungkinkan koneksi menggunakan Session Manager. Untuk informasi selengkapnya, lihat dokumentasi AWS.
Pastikan semua VM yang ingin Anda kumpulkan diaktifkan.
Jalankan penemuan tamu menggunakan ssm guest collection script 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 flag 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. VM ini terhubung ke alamat IP publik setiap VM. Namun, Anda dapat dengan mudah mengubah skrip. 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, Anda dapat dengan mudah menyesuaikan skrip untuk menggunakan metode autentikasi alternatif, seperti autentikasi sandi menggunakan sshpass, atau kunci pribadi.
Pastikan Anda memiliki akses jaringan ke VM. Anda mungkin perlu menyesuaikan aturan masuk untuk grup keamanan, atau menggunakan proxy untuk terhubung.
Pastikan semua VM yang ingin Anda kumpulkan datanya diaktifkan.
Jalankan penemuan tamu menggunakan skrip pengumpulan tamu ssh dari repositori Migrate to Containers di GitHub.
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
Jalankan skrip dan simpan output ke file:
./mcdc_collect_aws_guest_ssh.sh --region REGION
Ganti REGION dengan region VM EC2 Anda.
Setiap flag 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 flag 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 flag 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.
Jika Anda menyesuaikan aturan masuk di langkah 1, sebaiknya kembalikan perubahan Anda.
Membuat laporan penilaian offline
Setelah semua data dikumpulkan, Anda dapat membuat laporan HTML yang mendetail:
./mcdc report --format html --full > REPORT_NAME.html
(Lanjutan) Mengubah skrip agar sesuai dengan kebutuhan Anda
Mungkin kedua skrip tersebut tidak sesuai dengan kebutuhan Anda. Misalnya, Anda mungkin tidak menginstal agen SSM atau instance connect di beberapa VM.
Dalam kasus tersebut, Anda biasanya memiliki cara standar untuk terhubung ke komputer. Sebaiknya tulis 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 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:
- Identifikasi semua VM yang ingin Anda kumpulkan.
- Upload skrip pengumpulan tamu ke setiap VM. VM Linux dan Windows memerlukan skrip pengumpulan tamu yang berbeda.
- Jalankan skrip pengumpulan tamu di setiap VM.
- Download artefak yang dibuat dari setiap VM.
- Impor skrip pengumpulan tamu yang didownload ke
mcdc
CLI.
Meskipun Anda mungkin sering kali harus menulis sebagian besar dari awal, ada beberapa elemen penyusun yang berguna dalam contoh skrip yang mungkin dapat membantu Anda melakukan beberapa tugas ini. Contoh:
- Melakukan iterasi pada semua VM di EC2.
- Mendownload skrip pengumpulan tamu Windows dan Linux.
- Terkadang Anda tidak dapat mengupload dan mendownload file. Dalam kasus tersebut, Anda dapat menyertakan skrip pengumpulan dalam perintah yang dikirim, dan menulis artefak yang dienkode base64 ke stdout. Skrip pengumpulan SSM dapat berfungsi sebagai contoh yang berguna tentang cara melakukannya.
- Mengimpor artefak yang dikumpulkan ke
mcdc
CLI.
Langkah selanjutnya
- Pelajari
mcdc
CLI lebih lanjut. - Lihat contoh skrip.
- Untuk mempelajari cara memigrasikan aplikasi yang lebih kompleks, lihat Tutorial migrasi aplikasi framework Spring yang tersedia di repositori GitHub Migrasi ke Penampung.
- Pelajari praktik terbaik perencanaan.