Migrate AWS EC2 Classic Instance to VPC


EC2-Classic is the original release of Amazon EC2 where instances run in a single, flat network shared with other customers. AWS introduced Virtual Private Cloud (VPC) to provide more granular control over the network, including the ability to isolate resources, define custom network topologies, and connect with on-premises environments.

For improved security and additional networking features, it's recommended to migrate EC2-Classic instances to a VPC environment.


1. Create a VPC (if you don't already have one):

AWS Management Console:
  • Navigate to the VPC Dashboard.
  • Click Launch VPC Wizard.
  • Choose a VPC configuration that suits your needs and follow the steps.

Create a VPC:

aws ec2 create-vpc --cidr-block

2. Prepare the EC2-Classic Instance:

  • Create an AMI (Amazon Machine Image) of the EC2-Classic instance. This will allow you to launch a replica of the instance inside the VPC.
AWS Management Console:
  • Navigate to the EC2 Dashboard.
  • Select your EC2-Classic instance.
  • Click Actions > Create Image.

Create an AMI:

aws ec2 create-image --instance-id [INSTANCE_ID] --name "My server" --description "An image for my server"

Replace [INSTANCE_ID] with your EC2-Classic instance ID.

3. Launch the Instance in the VPC:

AWS Management Console:
  • Navigate to the EC2 Dashboard.
  • Click Launch Instance.
  • In Step 1, select My AMIs and choose the AMI you just created.
  • Continue with the instance launch process, ensuring you select the VPC and relevant subnet in the networking step.

Launch an instance from the AMI in the VPC:

aws ec2 run-instances --image-id [AMI_ID] --subnet-id [SUBNET_ID] --instance-type [INSTANCE_TYPE]

Replace [AMI_ID], [SUBNET_ID], and [INSTANCE_TYPE] with the relevant IDs and desired instance type.

4. Update DNS and Other Configuration:

  • If you use domain names to point to your EC2-Classic instance, update DNS records to point to the new VPC instance.
  • If other AWS resources connect to your EC2-Classic instance by its public IP or DNS name, update those configurations as well.

5. Test and Cleanup:

  • Ensure your migrated instance in the VPC functions as expected.
  • Once you're confident the migration was successful and no data is missing, you can stop or terminate the EC2-Classic instance to avoid incurring unnecessary costs.


After migrating from EC2-Classic to a VPC, review the security group and network ACL configurations to ensure your new environment is secure. Make use of the enhanced networking features offered in VPC to further optimize and protect your AWS resources. Regularly back up data and configurations to mitigate any potential data loss during migrations or other major operations.