- Packer - http://www.packer.io/
Using Packer to Create the AMI
The AMI is responsible for installing a framework with its dependencies and some helper programs for deployment. See the
bin directory for the list of programs copied into the AMI.
$ build-ami frameworks/node ami-7cb04b14 ... us-east-1: ami-1d3e7074 $ export AMZN_AMI=ami-1d3e7074
Building the AMI
The build process is simple. We take the filesystem in
./target-machine and copy it onto the root filesystem of the host. Once the filesystem is in place, the setup script will use apt-get to install a base set of software (e.g. build-essential).
build-ami command takes two arguments. The first is the location of a bash file that describes the framework. This file contains a set of commands that will setup the AMI for the application it is to run. For example, the
framework/node file will setup the AMI for a nodejs app.
The second argument specifies which AMI to use as the basis for the image. Canonical publishes a list of "Ubuntu Cloud Image" AMIs at https://cloud-images.ubuntu.com/