Swiftorial Logo
Home
Swift Lessons
Matchups
CodeSnaps
Tutorials
Career
Resources

Migrate for Compute Engine

Introduction

Migrate for Compute Engine is a service offered by Google Cloud that facilitates the migration of virtual machines (VMs) from on-premises or other cloud environments to Google Cloud's Compute Engine. This tutorial will guide you through the process of migrating your VMs to Compute Engine, providing detailed explanations and examples.

Prerequisites

Before starting the migration process, ensure you have the following:

  • A Google Cloud account with billing enabled.
  • Access to the Google Cloud Console.
  • The Google Cloud SDK installed on your local machine.
  • Administrator access to the source environment (on-premises or another cloud provider).

Step 1: Setting Up Google Cloud Environment

First, set up the necessary environment in Google Cloud:

  1. Create a new project in Google Cloud Console.
  2. Enable billing for your project.
  3. Enable the Migrate for Compute Engine API by navigating to the API library and enabling it for your project.
  4. Set up authentication by creating a service account with the required permissions and downloading the JSON key file.

Example

To create a service account and download the key file:

gcloud iam service-accounts create migrate-service-account --display-name "Migrate Service Account"
gcloud projects add-iam-policy-binding [PROJECT_ID] --member "serviceAccount:migrate-service-account@[PROJECT_ID].iam.gserviceaccount.com" --role "roles/owner"
gcloud iam service-accounts keys create ~/key.json --iam-account migrate-service-account@[PROJECT_ID].iam.gserviceaccount.com

Step 2: Installing Migrate for Compute Engine

Next, install the Migrate for Compute Engine components:

  1. Download the Migrate for Compute Engine installer from the Google Cloud Console.
  2. Run the installer on your local machine or a VM in your source environment.

Example

To run the installer:

sudo ./migrate_installer.sh --project=[PROJECT_ID] --zone=[ZONE] --key-file=~/key.json

Output:

Installing Migrate for Compute Engine...

Installation complete.

Step 3: Preparing Source VMs for Migration

Before migrating the VMs, prepare them by installing the Migrate for Compute Engine agent:

  1. Download the agent installer from the Google Cloud Console.
  2. Run the installer on each VM you want to migrate.

Example

To run the agent installer on a VM:

sudo ./migrate_agent_installer.sh --project=[PROJECT_ID] --zone=[ZONE] --key-file=~/key.json

Output:

Installing Migrate for Compute Engine agent...

Installation complete.

Step 4: Creating a Migration Plan

Create a migration plan that defines the source VMs and their target configurations in Google Cloud:

  1. Open the Migrate for Compute Engine console in Google Cloud.
  2. Select the VMs you want to migrate.
  3. Define the target configurations, such as machine type, network settings, and storage options.

Example

To create a migration plan:

gcloud migrate create-migration --source-vms=[VM_NAMES] --target-project=[PROJECT_ID] --target-zone=[ZONE]

Output:

Creating migration plan...

Migration plan created successfully.

Step 5: Executing the Migration

Execute the migration plan to start the migration process:

  1. Review the migration plan and make any necessary adjustments.
  2. Execute the migration plan to start moving the VMs to Google Cloud.

Example

To execute the migration plan:

gcloud migrate execute-migration --plan=[PLAN_ID]

Output:

Executing migration plan...

Migration in progress...

Step 6: Verifying the Migration

After the migration is complete, verify that the VMs are functioning correctly in Google Cloud:

  1. Check the status of the migrated VMs in the Google Cloud Console.
  2. Verify that the applications and services are running as expected.
  3. Perform any necessary post-migration tasks, such as updating DNS records and configuring load balancers.

Example

To check the status of the migrated VMs:

gcloud compute instances list --filter="status:RUNNING"

Output:

NAME ZONE MACHINE_TYPE PREEMPTIBLE INTERNAL_IP EXTERNAL_IP STATUS

vm-1 us-central1-a n1-standard-1 10.128.0.2 35.192.0.1 RUNNING

vm-2 us-central1-a n1-standard-1 10.128.0.3 35.192.0.2 RUNNING

Conclusion

In this tutorial, you learned how to migrate VMs to Google Cloud's Compute Engine using Migrate for Compute Engine. By following these steps, you can successfully move your workloads to Google Cloud, taking advantage of the scalability and flexibility of cloud computing.