Transferring an EC2 instance between AWS accounts is possible, and the best way is to create a snapshot and share it. It's the best way to work through the AWS Management Console (the web interface). Here's a step-by-step breakdown to move your EC2 instance (volume and AMI) to another AWS account.
🛠️ STEP-BY-STEP GUIDE (using AWS Console)
🔹 Step 1: Prepare the Instance in Account A
- Stop the EC2 Instance (optional, but safer)
- Go to EC2 > Instances
- Select the instance
- Click Instance state > Stop instance
- Create an AMI (Amazon Machine Image) from the instance
- Select your instance
- Click Actions > Image and templates > Create image
- Name your image, select the volume(s) to include
- Click Create image
- Wait until the AMI is created
- Go to AMIs in the EC2 menu
- Check the status (you can monitor it under “Status” column)
🔹 Step 2: Share the AMI with Account B
- Go to EC2 > AMIs
- Select your AMI
- Click Actions > Edit AMI permissions
- Change the permission to Private
- Under Add account ID, enter Account B's AWS Account ID
- Click Share AMI
📝 Note: If the AMI is based on an EBS volume, you also need to share the snapshot that backs the AMI.
🔹 Step 3: Share the EBS Snapshot (behind the AMI)
- Go to EC2 > Snapshots
- Find the snapshot associated with your AMI
- Filter by AMI ID or check Description
- Select it and click Actions > Snapshot settings > Modify permissions
- Add Account B's AWS Account ID
- Click Add
🔹 Step 4: Launch the Instance from Account B
- Sign in to Account B
- Go to EC2 > AMIs
- In the Region where the AMI was shared, change Filter: Owned by me → Private images
- You should now see the shared AMI
If it doesn't show up, double-check snapshot permissions and region.
- Select the AMI and click Launch instance from image
- Pick instance type, key pair, VPC, etc., and launch like any regular EC2 instance.
🔄 Optional: Copy AMI to Make It Fully Yours
Once it's visible in Account B:
- Select the shared AMI
- Click Actions > Copy AMI
- Choose the region (can stay the same)
- This creates a fully independent AMI owned by Account B