website: AMI documentation
This commit is contained in:
parent
cbbc8de8b2
commit
3ee0e2a52f
|
@ -0,0 +1,91 @@
|
||||||
|
---
|
||||||
|
layout: "docs"
|
||||||
|
---
|
||||||
|
|
||||||
|
# Amazon AMI Builder
|
||||||
|
|
||||||
|
Type: `amazon-ebs`
|
||||||
|
|
||||||
|
The `amazon-ebs` builder is able to create Amazon AMIs backed by EBS
|
||||||
|
volumes for use in [EC2](http://aws.amazon.com/ec2/). The builder takes
|
||||||
|
an initial source AMI, runs any provisioning necesary on the instance,
|
||||||
|
and snapshots it into a reusable AMI.
|
||||||
|
|
||||||
|
Amazon supports two types of AMIs: EBS-backed and instance-store. Instance
|
||||||
|
store AMIs are considerably harder to create, requiring many platform-specific
|
||||||
|
steps that can often take a very long time. EBS-backed AMIs, on the hand,
|
||||||
|
only require a source AMI to exist. This builder only builds EBS-backed
|
||||||
|
instances, because they are easier to create, especially across many
|
||||||
|
platforms running Packer.
|
||||||
|
|
||||||
|
This builder builds an AMI by launching an EC2 instance from a source AMI,
|
||||||
|
provisioning that running machine, and then creating an AMI from that machine.
|
||||||
|
This is all done in your own AWS account. The builder will create temporary
|
||||||
|
keypairs, security group rules, etc. that provide it temporary access to
|
||||||
|
the instance while the image is being created. This simplifies configuration
|
||||||
|
quite a bit.
|
||||||
|
|
||||||
|
The builder does _not_ manage AMIs. Once it creates an AMI and stores it
|
||||||
|
in your account, it is up to you to use, delete, etc. the AMI.
|
||||||
|
|
||||||
|
## Configuration Reference
|
||||||
|
|
||||||
|
There are many configuration options available for the builder. They are
|
||||||
|
segmented below into two categories: required and optional parameters. Within
|
||||||
|
each category, the available configuration keys are alphabetized.
|
||||||
|
|
||||||
|
Required:
|
||||||
|
|
||||||
|
* `access_key` (string) - The access key used to communicate with AWS.
|
||||||
|
|
||||||
|
* `ami_name` (string) - The name of the resulting AMI that will appear
|
||||||
|
when managing AMIs in the AWS console or via APIs. This must be unique.
|
||||||
|
To help make this unique, certain template parameters are available for
|
||||||
|
this value, which are documented below.
|
||||||
|
|
||||||
|
* `instance_type` (string) - The EC2 instance type to use while building
|
||||||
|
the AMI, such as "m1.small".
|
||||||
|
|
||||||
|
* `region` (string) - The name of the region, such as "us-east-1", in which
|
||||||
|
to launch the EC2 instance to create the AMI.
|
||||||
|
|
||||||
|
* `secret_key` (string) - The secret key used to communicate with AWS.
|
||||||
|
|
||||||
|
* `source_ami` (string) - The initial AMI used as a base for the newly
|
||||||
|
created machine.
|
||||||
|
|
||||||
|
* `ssh_username` (string) - The username to use in order to communicate
|
||||||
|
over SSH to the running machine.
|
||||||
|
|
||||||
|
Optional:
|
||||||
|
|
||||||
|
* `ssh_port` (int) - The port that SSH will be available on. This defaults
|
||||||
|
to port 22.
|
||||||
|
|
||||||
|
## Basic Example
|
||||||
|
|
||||||
|
Here is a basic example. It is completely valid except for the access keys:
|
||||||
|
|
||||||
|
<pre class="prettyprint">
|
||||||
|
{
|
||||||
|
"type": "amazon-ebs",
|
||||||
|
"access_key": "YOUR KEY HERE",
|
||||||
|
"secret_key": "YOUR SECRET KEY HERE",
|
||||||
|
"region": "us-east-1",
|
||||||
|
"source_ami": "ami-de0d9eb7",
|
||||||
|
"instance_type": "m1.small",
|
||||||
|
"ssh_username": "ubuntu",
|
||||||
|
"ami_name": "packer-quick-start {{.CreateTime}}"
|
||||||
|
}
|
||||||
|
</pre>
|
||||||
|
|
||||||
|
## AMI Name Variables
|
||||||
|
|
||||||
|
The AMI name specified by the `ami_name` configuration variable is actually
|
||||||
|
treated as a template. Packer provides a set of variables that it will replace
|
||||||
|
within the AMI name. This helps ensure the AMI name is unique, as AWS requires.
|
||||||
|
|
||||||
|
The available variables are shown below:
|
||||||
|
|
||||||
|
* `CreateTime` - This will be replaced with the Unix timestamp of when
|
||||||
|
the AMI was built.
|
|
@ -40,7 +40,7 @@
|
||||||
<li><a href="/docs/templates/provisioners.html">Provisioners</a></li>
|
<li><a href="/docs/templates/provisioners.html">Provisioners</a></li>
|
||||||
|
|
||||||
<li class="nav-header">Builders</li>
|
<li class="nav-header">Builders</li>
|
||||||
<li><a href="#">EC2 (AMI)</a></li>
|
<li><a href="/docs/builders/amazon-ebs.html">EC2 (AMI)</a></li>
|
||||||
<li><a href="#">VirtualBox</a></li>
|
<li><a href="#">VirtualBox</a></li>
|
||||||
<li><a href="#">VMware</a></li>
|
<li><a href="#">VMware</a></li>
|
||||||
<li><a href="#">Custom</a></li>
|
<li><a href="#">Custom</a></li>
|
||||||
|
|
Loading…
Reference in New Issue