We're running an Ubuntu 10.10 on EC2 Classic and are migrating to a VPC. My question - is it best to first replicate the existing servers into VPC, then upgrade to Ubuntu 14, or just create the latest version of Ubuntu (or Amazon Linux) in the VPc and copy our apps into it?
The best practice for me is to use userdata, which can replicate each of your instances fast and easy. Also, userdata script give you the option to recycle the instance when something go wrong.
I would not support the idea of upgrade your OS from Ubuntu 10 to 14, this can be far more complex and can have unpredictable effect over your application.
- Start new instance with clean Uubuntu Server 14.04.
- Install required by your app libs packages etc...
- Configure all things, check updated versions for new features.
- Test your app. Provide some benchmark.
- Document everything.
- Start migration.
This is the base road. You can have very complex migration path, like betas, stages, pre-production etc...