Bermigrasi dari AWS ke Google Cloud: Bermigrasi dari Amazon EC2 ke Compute Engine

Last reviewed 2024-11-20 UTC

Google Cloud menyediakan alat, produk, panduan, dan layanan profesional untuk memigrasikan virtual machine (VM) beserta datanya dari Amazon Elastic Compute Cloud (Amazon EC2) ke Compute Engine ini. Dokumen ini membahas cara merancang, menerapkan, dan memvalidasi rencana untuk bermigrasi dari Amazon EC2 ke Compute Engine.

Pembahasan dalam dokumen ini ditujukan untuk administrator cloud yang ingin mendapatkan detail terkait cara merencanakan dan menerapkan proses migrasi. Fitur ini juga ditujukan untuk para pengambil keputusan yang sedang mengevaluasi peluang untuk melakukan migrasi dan yang ingin mengetahui seperti apa migrasi tersebut.

Dokumen ini adalah bagian dari rangkaian multi-bagian tentang migrasi dari AWS ke Google Cloud yang mencakup dokumen berikut:

Untuk migrasi ke Google Cloud ini, sebaiknya ikuti framework migrasi yang dijelaskan dalam Migrasi ke Google Cloud: Memulai.

Diagram berikut menggambarkan jalur perjalanan migrasi Anda.

Jalur migrasi dengan empat fase.

Anda dapat bermigrasi dari lingkungan sumber ke Google Cloud dalam serangkaian iterasi—misalnya, Anda dapat memigrasikan beberapa workload terlebih dahulu dan yang lainnya nanti. Untuk setiap iterasi migrasi terpisah, Anda harus mengikuti fase framework migrasi umum:

  1. Lakukan penilaian dan temukan workload dan data Anda.
  2. Rencanakan dan bangun fondasi di Google Cloud.
  3. Memigrasikan workload dan data Anda ke Google Cloud.
  4. Mengoptimalkan lingkungan Google Cloud Anda.

Untuk mengetahui informasi selengkapnya tentang fase framework ini, lihat Bermigrasi ke Google Cloud: Memulai.

Untuk mendesain rencana migrasi yang efektif, sebaiknya validasi setiap langkah rencana, dan pastikan Anda memiliki strategi rollback. Untuk membantu Anda memvalidasi rencana migrasi, lihat Bermigrasi ke Google Cloud: Praktik terbaik untuk memvalidasi rencana migrasi.

Menilai lingkungan sumber

Pada fase penilaian, Anda akan menentukan persyaratan dan dependensi untuk memigrasikan lingkungan sumber ke Google Cloud.

Fase penilaian sangat penting untuk keberhasilan migrasi Anda. Anda perlu mendapatkan pengetahuan mendalam tentang workload yang ingin dimigrasikan, persyaratannya, dependensinya, dan tentang lingkungan Anda saat ini. Anda perlu memahami titik awal agar berhasil merencanakan dan menjalankan migrasi Google Cloud.

Fase penilaian terdiri dari tugas-tugas berikut:

  1. Mem-build inventaris workload yang komprehensif.
  2. Membuat katalog workload Anda sesuai dengan properti dan dependensinya.
  3. Latih dan ajari tim Anda di Google Cloud.
  4. Buat eksperimen dan bukti konsep di Google Cloud.
  5. Hitung total biaya kepemilikan (TCO) lingkungan target.
  6. Pilih strategi migrasi untuk workload Anda.
  7. Pilih alat migrasi Anda.
  8. Tentukan rencana dan linimasa migrasi.
  9. Validasi rencana migrasi Anda.

Untuk mengetahui informasi selengkapnya tentang fase penilaian dan tugas ini, lihat Bermigrasi ke Google Cloud: Menilai dan menemukan workload Anda. Bagian di bawah ini didasarkan pada informasi dalam dokumen tersebut.

Mem-build inventaris instance Amazon EC2

Untuk menentukan cakupan migrasi, buat inventaris instance Amazon EC2 Anda. Kemudian, Anda dapat menggunakan inventaris tersebut untuk menilai proses deployment dan operasional untuk men-deploy workload pada instance tersebut.

Untuk membuat inventaris instance Amazon EC2, sebaiknya gunakan Migration Center, platform terpadu Google Cloud yang membantu Anda mempercepat perjalanan cloud secara menyeluruh dari lingkungan saat ini ke Google Cloud. Migration Center memungkinkan Anda mengimpor data dari Amazon EC2 dan resource AWS lainnya. Migration Center kemudian merekomendasikan layanan Google Cloud yang relevan yang dapat Anda jadikan tujuan migrasi.

Setelah menilai lingkungan menggunakan Pusat Migrasi, sebaiknya buat laporan penilaian migrasi teknis menggunakan Migration Center discovery client CLI. Untuk mengetahui informasi selengkapnya, lihat Mengumpulkan data tamu dari instance Amazon EC2 untuk penilaian offline.

Data yang disediakan oleh Pusat Migrasi dan CLI discovery client Pusat Migrasi mungkin tidak sepenuhnya menangkap dimensi yang Anda minati. Dalam hal ini, Anda dapat mengintegrasikan data tersebut dengan hasil dari mekanisme pengumpulan data lain yang Anda buat berdasarkan AWS API, alat developer AWS, dan antarmuka command line AWS.

Selain data yang Anda dapatkan dari Migration Center dan Migration Center discovery client CLI, pertimbangkan titik data berikut untuk setiap instance Amazon EC2 yang ingin Anda migrasikan:

  • Region dan zona deployment.
  • Jenis dan ukuran instance.
  • Amazon Machine Image (AMI) tempat instance diluncurkan.
  • Nama host instance, serta bagaimana instance dan workload lain menggunakan nama host ini untuk berkomunikasi dengan instance.
  • Tag instance serta metadata dan data pengguna.
  • Jenis virtualisasi instance.
  • Opsi pembelian instance, seperti pembelian on-demand atau pembelian spot.
  • Cara instance menyimpan data, misalnya menggunakan penyimpanan instance dan volume Amazon EBS.
  • Konfigurasi tenancy instance.
  • Apakah instance berada dalam grup penempatan tertentu.
  • Apakah instance berada dalam grup penskalaan otomatis tertentu.
  • Grup keamanan yang mencakup instance tersebut.
  • Semua konfigurasi Firewall Jaringan AWS yang melibatkan instance.
  • Apakah workload yang berjalan pada instance dilindungi oleh AWS Shield dan AWS WAF.
  • Apakah Anda mengontrol status pemroses instance, dan bagaimana workload yang berjalan di instance bergantung pada status pemroses.
  • Konfigurasi penjadwal I/O instance.
  • Cara Anda mengekspos workload yang berjalan pada instance ke klien, yang berjalan di lingkungan AWS Anda (seperti workload lain) dan ke klien eksternal.

Menilai proses deployment dan operasional Anda

Sangat penting untuk memiliki pemahaman yang jelas tentang cara kerja proses deployment dan operasional Anda. Proses ini adalah bagian mendasar dari praktik yang menyiapkan dan memelihara lingkungan produksi Anda serta beban kerja yang berjalan di sana.

Proses deployment dan operasional Anda dapat mem-build artefak yang diperlukan oleh beban kerja Anda agar berfungsi. Oleh karena itu, Anda harus mengumpulkan informasi tentang setiap jenis artefak. Misalnya, artefak dapat berupa paket sistem operasi, paket deployment aplikasi, image sistem operasi container, atau lainnya.

Selain jenis artefak, pertimbangkan cara Anda menyelesaikan tugas-tugas berikut:

  • Kembangkan workload Anda. Nilai proses yang dimiliki tim pengembangan untuk mem-build workload Anda. Misalnya, bagaimana tim pengembangan Anda mendesain, melakukan coding, dan menguji workload?
  • Buat artefak yang Anda deploy di lingkungan sumber. Untuk men-deploy beban kerja di lingkungan sumber, Anda mungkin membuat artefak yang dapat di-deploy, seperti image container atau image sistem operasi, atau Anda mungkin menyesuaikan artefak yang ada, seperti image sistem operasi pihak ketiga dengan menginstal dan mengonfigurasi software. Mengumpulkan informasi tentang cara Anda membuat artefak ini membantu Anda memastikan bahwa artefak yang dihasilkan sesuai untuk deployment di Google Cloud.
  • Simpan artefak. Jika Anda membuat artefak yang disimpan di registry artefak di lingkungan sumber, Anda harus menyediakan artefak tersebut di lingkungan Google Cloud. Anda dapat melakukannya dengan menggunakan strategi seperti berikut:

    • Membuat saluran komunikasi antarlingkungan: Buat artefak di lingkungan sumber Anda dapat dijangkau dari lingkungan Google Cloud target.
    • Faktorkan ulang proses build artefak: Selesaikan pemfaktoran ulang kecil pada lingkungan sumber agar Anda dapat menyimpan artefak di lingkungan sumber dan lingkungan target. Pendekatan ini mendukung migrasi Anda dengan mem-build infrastruktur seperti repositori artefak sebelum Anda harus menerapkan proses build artefak di lingkungan Google Cloud target. Anda dapat menerapkan pendekatan ini secara langsung, atau Anda dapat mengembangkan pendekatan sebelumnya dengan membuat saluran komunikasi terlebih dahulu.

    Dengan memiliki artefak yang tersedia di lingkungan sumber dan target, Anda dapat berfokus pada migrasi tanpa harus menerapkan proses build artefak di lingkungan Google Cloud target sebagai bagian dari migrasi.

  • Pindai dan tanda tangani kode. Sebagai bagian dari proses build artefak, Anda mungkin menggunakan pemindaian kode untuk membantu Anda melindungi dari kerentanan umum dan ekspos jaringan yang tidak diinginkan, serta penandatanganan kode untuk membantu Anda memastikan bahwa hanya kode tepercaya yang berjalan di lingkungan Anda.

  • Deploy artefak di lingkungan sumber. Setelah membuat artefak yang dapat di-deploy, Anda mungkin akan men-deploy-nya di lingkungan sumber. Sebaiknya Anda menilai setiap proses deployment. Penilaian ini membantu memastikan bahwa proses deployment Anda kompatibel dengan Google Cloud. Hal ini juga membantu Anda memahami upaya yang pada akhirnya akan diperlukan untuk memfaktorkan ulang proses. Misalnya, jika proses deployment Anda hanya berfungsi dengan lingkungan sumber, Anda mungkin perlu memfaktorkan ulang proses tersebut untuk menargetkan lingkungan Google Cloud Anda.

  • Memasukkan konfigurasi runtime. Anda mungkin memasukkan konfigurasi runtime untuk cluster, lingkungan runtime, atau deployment beban kerja tertentu. Konfigurasi dapat menginisialisasi variabel lingkungan dan nilai konfigurasi lainnya seperti secret, kredensial, dan kunci. Untuk membantu memastikan proses injeksi konfigurasi runtime Anda berfungsi di Google Cloud, sebaiknya Anda menilai cara Anda mengonfigurasi workload yang berjalan di lingkungan sumber Anda.

  • Logging, pemantauan, dan pembuatan profil. Nilai proses logging, pemantauan, dan pembuatan profil yang Anda terapkan untuk memantau kondisi lingkungan sumber, metrik yang diinginkan, dan cara Anda menggunakan data yang disediakan oleh proses ini.

  • Autentikasi. Nilai cara Anda mengautentikasi terhadap lingkungan sumber.

  • Menyediakan dan mengonfigurasi resource Anda. Untuk menyiapkan lingkungan sumber, Anda mungkin telah mendesain dan menerapkan proses yang menyediakan dan mengonfigurasi resource. Misalnya, Anda mungkin menggunakan Terraform bersama dengan alat pengelolaan konfigurasi untuk menyediakan dan mengonfigurasi resource di lingkungan sumber Anda.

Merencanakan dan membangun fondasi Anda

Pada fase perencanaan dan build, Anda akan menyediakan dan mengonfigurasi infrastruktur untuk melakukan hal berikut:

  • Dukung workload Anda di lingkungan Google Cloud.
  • Hubungkan lingkungan sumber dan lingkungan Google Cloud Anda untuk menyelesaikan migrasi.

Fase perencanaan dan build terdiri dari tugas-tugas berikut:

  1. Buat hierarki resource.
  2. Mengonfigurasi Identity and Access Management (IAM) Google Cloud.
  3. Menyiapkan penagihan.
  4. Menyiapkan konektivitas jaringan.
  5. Perketat keamanan Anda.
  6. Siapkan logging, pemantauan, dan pemberitahuan.

Untuk mengetahui informasi selengkapnya tentang setiap tugas ini, lihat Bermigrasi ke Google Cloud: Merencanakan dan membangun fondasi Anda.

Memigrasikan workload Anda

Untuk memigrasikan workload dari Amazon EC2 ke Compute Engine, lakukan hal berikut:

  1. Migrasikan VM dari Amazon EC2 ke Compute Engine.
  2. Memigrasikan disk VM ke Persistent Disk.
  3. Ekspos workload yang berjalan di Compute Engine ke klien.
  4. Faktorkan ulang proses deployment dan operasional untuk menargetkan Google Cloud, bukan menargetkan Amazon EC2.

Berikut detail dari setiap tugas tersebut dijelaskan.

Memigrasikan VM ke Compute Engine

Untuk memigrasikan VM dari Amazon EC2 ke Compute Engine, sebaiknya gunakan Migrate to Virtual Machines, yang merupakan layanan terkelola sepenuhnya. Untuk informasi selengkapnya, lihat Perjalanan migrasi dengan Migrate to VMs.

Sebagai bagian dari migrasi, Migrate for VMs memigrasikan instance Amazon EC2 dalam statusnya saat ini, terlepas dari perubahan konfigurasi yang diperlukan. Jika instance Amazon EC2 Anda menjalankan AMI Amazon EC2 yang disesuaikan, Migrate for VMs akan memigrasikan penyesuaian ini ke instance Compute Engine. Namun, jika ingin infrastruktur Anda dapat direproduksi, Anda mungkin perlu menerapkan penyesuaian yang setara dengan mem-build image sistem operasi Compute Engine sebagai bagian dari proses deployment dan operasional, seperti yang akan dijelaskan nanti dalam dokumen ini. Anda juga dapat mengimpor AMI Amazon EC2 ke Compute Engine.

Memigrasikan disk VM ke Persistent Disk

Anda juga dapat menggunakan Migrate to VMs untuk memigrasikan disk dari VM Amazon EC2 sumber ke Persistent Disk, dengan gangguan minimal pada workload yang berjalan di VM Amazon EC2. Untuk informasi selengkapnya, lihat artikel Memigrasikan disk VM dan melampirkan disk tersebut ke VM baru.

Misalnya, Anda dapat memigrasikan disk data yang terpasang ke VM Amazon EC2 ke Persistent Disk, dan memasangnya ke VM Compute Engine baru.

Mengekspos workload yang berjalan di Compute Engine

Setelah memigrasikan instance Amazon EC2 ke instance Compute Engine, Anda mungkin perlu menyediakan dan mengonfigurasi lingkungan Google Cloud untuk mengekspos workload kepada klien.

Google Cloud menawarkan layanan dan produk yang aman dan andal untuk mengekspos workload Anda kepada klien. Untuk workload yang berjalan pada instance Compute Engine, Anda perlu mengonfigurasi resource untuk kategori berikut:

  • Firewall
  • Traffic load balancing
  • Nama, zona, dan data DNS
  • Perlindungan DDoS dan firewall aplikasi web

Untuk setiap kategori ini, Anda dapat memulai dengan menerapkan konfigurasi dasar pengukuran yang mirip dengan cara Anda mengonfigurasi layanan dan resource AWS dalam kategori yang setara. Anda kemudian dapat melakukan iterasi konfigurasi dan menggunakan fitur tambahan yang disediakan oleh layanan Google Cloud.

Bagian berikut menjelaskan cara menyediakan dan mengonfigurasi resource Google Cloud dalam kategori ini, dan bagaimana pemetaannya ke resource AWS dalam kategori yang sama.

Firewall

Jika Anda telah mengonfigurasi grup keamanan AWS serta kebijakan dan aturan Firewall Jaringan AWS, Anda dapat mengonfigurasi kebijakan dan aturan Cloud Next Generation Firewall. Anda juga dapat menyediakan aturan Kontrol Layanan VPC untuk mengatur traffic jaringan di dalam VPC Anda. Anda dapat menggunakan Kontrol Layanan VPC untuk memblokir koneksi jaringan yang tidak diinginkan ke instance Compute Engine Anda, dan untuk membantu mengurangi risiko pemindahan data yang tidak sah.

Misalnya, jika menggunakan grup keamanan AWS untuk mengizinkan atau menolak koneksi ke instance Amazon EC2, Anda dapat mengonfigurasi aturan firewall Virtual Private Cloud (VPC) serupa yang berlaku ke instance Compute Engine Anda.

Traffic load balancing

Jika telah mengonfigurasi Elastic Load Balancing (ELB) di lingkungan AWS, Anda dapat mengonfigurasi Cloud Load Balancing untuk mendistribusikan traffic jaringan guna membantu meningkatkan skalabilitas workload di Google Cloud. Cloud Load Balancing mendukung beberapa produk load balancing global dan regional yang berfungsi di berbagai lapisan model OSI, seperti pada lapisan transpor dan pada lapisan aplikasi. Anda dapat memilih produk load balancing yang sesuai dengan persyaratan workload Anda.

Cloud Load Balancing juga mendukung konfigurasi Transport Layer Security (TLS) untuk mengenkripsi traffic jaringan. Saat mengonfigurasi TLS untuk Cloud Load Balancing, Anda dapat menggunakan sertifikat TLS yang dikelola sendiri atau dikelola Google, bergantung pada persyaratan Anda.

Nama, zona, dan data DNS

Jika menggunakan Amazon Route 53 di lingkungan AWS, Anda dapat menggunakan ini di Google Cloud:

Misalnya, jika mendaftarkan domain menggunakan Amazon Route 53, Anda dapat mentransfer pendaftaran domain ke Cloud Domains. Demikian pula, jika mengonfigurasi zona DNS publik dan pribadi menggunakan Amazon Route 53, Anda dapat memigrasikan konfigurasi tersebut ke Cloud DNS.

Perlindungan DDoS dan firewall aplikasi web

Jika Anda telah mengonfigurasi AWS Shield dan AWS WAF di lingkungan AWS, Anda dapat menggunakan Google Cloud Armor untuk membantu melindungi workload Google Cloud dari serangan DDoS dan dari eksploitasi umum.

Memfaktorkan ulang proses deployment dan operasional

Setelah memfaktorkan ulang workload, Anda akan memfaktorkan ulang proses deployment dan operasional untuk melakukan hal berikut:

  • Menyediakan dan mengonfigurasi resource di lingkungan Google Cloud Anda, bukan menyediakan resource di lingkungan sumber.
  • Build dan konfigurasikan workload, lalu deploy di Google Cloud, bukan men-deploynya di lingkungan sumber.

Sebelumnya, Anda telah mengumpulkan informasi tentang proses ini selama fase penilaian dalam proses ini.

Jenis pemfaktoran ulang yang perlu Anda pertimbangkan untuk proses ini bergantung pada cara Anda mendesain dan menerapkannya. Pemfaktoran ulang juga bergantung pada status akhir yang Anda inginkan untuk setiap prosesnya. Misalnya, pertimbangkan hal berikut:

  • Anda mungkin telah menerapkan proses ini di lingkungan sumber dan Anda bermaksud untuk merancang dan menerapkan proses serupa di Google Cloud. Misalnya, Anda dapat memfaktorkan ulang proses ini untuk menggunakan Cloud Build, Cloud Deploy, dan Infrastructure Manager.
  • Anda mungkin telah menerapkan proses ini di lingkungan pihak ketiga lain di luar lingkungan sumber Anda. Dalam hal ini, Anda perlu memfaktorkan ulang proses ini untuk menarget lingkungan Google Cloud, bukan lingkungan sumber Anda.
  • Gabungan dari pendekatan sebelumnya.

Pemfaktoran ulang proses deployment dan operasional dapat bersifat kompleks dan dapat membutuhkan upaya yang signifikan. Jika Anda mencoba melakukan tugas ini sebagai bagian dari migrasi workload, migrasi workload dapat menjadi lebih kompleks, dan dapat menimbulkan risiko bagi Anda. Setelah menilai proses deployment dan operasional, Anda mungkin telah memahami desain dan kompleksitasnya. Jika Anda memperkirakan bahwa Anda memerlukan upaya signifikan untuk memfaktorkan ulang proses deployment dan operasional, sebaiknya pertimbangkan untuk memfaktorkan ulang proses ini sebagai bagian dari project khusus yang terpisah.

Untuk mengetahui informasi selengkapnya tentang cara mendesain dan menerapkan proses deployment di Google Cloud, lihat:

Dokumen ini berfokus pada proses deployment yang menghasilkan artefak untuk di-deploy, dan men-deploynya di lingkungan runtime target. Strategi pemfaktoran ulang sangat bergantung pada kompleksitas proses ini. Daftar berikut menguraikan kemungkinan strategi pemfaktoran ulang umum:

  1. Menyediakan repositori artefak di Google Cloud. Misalnya, Anda dapat menggunakan Artifact Registry untuk menyimpan artefak dan mem-build dependensi.
  2. Faktorkan ulang proses build untuk menyimpan artefak di lingkungan sumber dan di Artifact Registry.
  3. Faktorkan ulang proses deployment Anda untuk men-deploy workload di lingkungan Google Cloud target. Misalnya, Anda dapat memulai dengan men-deploy sebagian kecil workload di Google Cloud, menggunakan artefak yang disimpan di Artifact Registry. Kemudian, Anda secara bertahap meningkatkan jumlah workload yang di-deploy di Google Cloud, hingga semua workload yang akan dimigrasikan berjalan di Google Cloud.
  4. Faktorkan ulang proses build Anda untuk menyimpan artefak hanya di Artifact Registry.
  5. Jika perlu, migrasikan artefak versi sebelumnya untuk di-deploy dari repositori di lingkungan sumber Anda ke Artifact Registry. Misalnya, Anda dapat menyalin image container ke Artifact Registry.
  6. Hentikan repositori di lingkungan sumber saat Anda tidak lagi memerlukannya.

Untuk memfasilitasi rollback pada akhirnya karena masalah yang tidak terduga selama migrasi, Anda dapat menyimpan image container di repositori artefak saat ini di Google Cloud saat migrasi ke Google Cloud sedang berlangsung. Terakhir, sebagai bagian dari penghentian lingkungan sumber, Anda dapat memfaktorkan ulang proses build image container untuk menyimpan artefak di Google Cloud saja.

Meskipun mungkin tidak penting untuk keberhasilan migrasi, Anda mungkin perlu memigrasikan artefak versi sebelumnya dari lingkungan sumber ke repositori artefak di Google Cloud. Misalnya, untuk mendukung rollback workload ke titik waktu arbitrer, Anda mungkin perlu memigrasikan artefak versi sebelumnya ke Artifact Registry. Untuk informasi selengkapnya, lihat Memigrasikan image dari registry pihak ketiga.

Jika Anda menggunakan Artifact Registry untuk menyimpan artefak, sebaiknya konfigurasi kontrol untuk membantu Anda mengamankan repositori artefak, seperti kontrol akses, pencegahan eksfiltrasi data, pemindaian kerentanan, dan Otorisasi Biner. Untuk mengetahui informasi selengkapnya, lihat Mengontrol akses dan melindungi artefak.

Mengoptimalkan lingkungan Google Cloud Anda

Pengoptimalan adalah fase terakhir dari migrasi Anda. Pada fase ini, Anda melakukan iterasi tugas pengoptimalan sampai lingkungan target memenuhi persyaratan pengoptimalan. Langkah-langkah setiap iterasi adalah sebagai berikut:

  1. Menilai lingkungan, tim, dan loop pengoptimalan Anda saat ini.
  2. Tetapkan persyaratan dan sasaran pengoptimalan Anda.
  3. Optimalkan lingkungan dan tim Anda.
  4. Sesuaikan loop pengoptimalan.

Anda mengulangi urutan ini sampai Anda mencapai sasaran pengoptimalan.

Untuk mengetahui informasi selengkapnya tentang cara mengoptimalkan lingkungan Google Cloud Anda, lihat Bermigrasi ke Google Cloud: Mengoptimalkan lingkungan Anda dan Proses pengoptimalan performa.

Langkah selanjutnya

Kontributor

Penulis: Marco Ferrari | Cloud Solutions Architect