An elastic image is an Amazon Machine Image (AMI) that is stored in one of Amazon data centres for use with the Elastic Bamboo feature. An elastic image is used to create elastic instances, which in turn create elastic agents. Conceptually, an elastic image is equivalent to an operating system running on a computer's boot hard drive and elastic instances would be the software that runs on this operation system. Each elastic image registered with the Amazon Web Services (AWS) has its own unique identifier, known as an AMI ID. You can associate multiple elastic images with a Bamboo server. One default shared image is maintained by Atlassian in AWS, and is available to all Elastic Bamboo users. You also create your own custom elastic images. |
Associating Custom Elastic Images with Bamboo
Associating a custom elastic image with your Bamboo installation allows you to start elastic instances with a different set of inherited capabilities than those inherited from the default image. For example, you may wish to associate a Ubuntu operating system-based elastic image with your Bamboo installation, so that you can run Ubuntu-related tests on the instances started from that image.
Once you have associated a custom elastic image with Bamboo, the settings for your elastic image are stored as an elastic image configuration.
To associate a custom image with Bamboo:
- Click the 'Administration' link in the top navigation bar in Bamboo.
- Click the 'Image Configurations' link in the left navigation column under the Elastic Bamboo sub-header. The Manage Elastic Image Configurations screen will be displayed.
- Enter the details of your custom elastic image in the panel under the Create Elastic Image Configuration header:
- 'Name' — Enter the name of your custom elastic image. If you created your own custom image, you should have named it in step 6 of the 'Creating a Custom Elastic Image' instructions. You can also view the image name via the AWS console.
- 'Description' (optional) — Enter a description for your image, which is used in Bamboo only.
- 'AMI ID' — Here, you should enter the AMI ID obtained as an output from step 6 of the 'Creating a Custom Elastic Image' instructions. You can also view the AMI IDs of elastic images via the AWS console.
- 'Automatically attach an Amazon Elastic Block Store (EBS) volume to new elastic instances' (optional) — Select this option if you want the elastic instances started from this image to use the EBS. Read more about Configuring Elastic Instances to use the EBS.
- 'EBS Snapshot ID' (displayed if 'Automatically attach an Amazon Elastic Block Store (EBS) volume to new elastic instances' is selected) — If you selected the 'Automatically attach an Amazon Elastic Block Store (EBS) volume to new elastic instances' option, you must specify the EBS Snapshot ID of the EBS volume that you wish to attach to new instances.
- 'Instance Type' (default is "High-CPU Medium") — Choose the instance type for new instances started from this image. Amazon offers a number of instance types that provide different computing capacity. Read more about Amazon EC2 instance types.
- 'Availability Zone' (default is "Default (chosen by EC2)") — Choose the availability zone to start your new instances from this image in (e.g. if you wish to use Elastic Bamboo with reserved instances). We recommend that you select "Default (chosen by EC2)" to allow Amazon to select the best zone for your instance. Read more about Amazon EC2 availability zones.
Screenshot above: Manage your Elastic Image Configurations
Creating Elastic Images with Custom Agent Capabilities
You can customise the agent capabilities of an elastic image that is already associated with Bamboo. The initial process is similar to that of associating a custom elastic image with Bamboo (above). Here, however, you use the AMI ID of an image already associated with Bamboo — most commonly the default image.
To create an elastic image with customised agent capabilities:
- Click the 'Administration' link in the top navigation bar in Bamboo.
- Click the 'Image Configurations' link in the left navigation column under the Elastic Bamboo sub-header. The Manage Elastic Image Configurations screen will be displayed.
- Click the name of the image that you want to view, e.g. 'Default', or the image's 'View' link in the Operations column. The elastic image configuration will be displayed (see screenshot above).
- Enter the details of your custom elastic image in the panel under the Create Elastic Image Configuration header:
- 'Name' — Enter a name for your elastic image whose agent capabilities you wish to customise.
- 'Description' (optional) — Enter a description for your image, which is used in Bamboo only.
- 'AMI ID' — Copy and paste the AMI ID of an image already associated with Bamboo (table at the top of the page). The default image is the most common elastic image used for configuring custom agent capabilities because for each Bamboo release, the default image:
- is updated with the correct elastic agent version and newer default capabilities, and
- is already associated with Bamboo.
- 'Automatically attach an Amazon Elastic Block Store (EBS) volume to new elastic instances' (optional) — Select this option if you want elastic instances started from this image to use the EBS. Read more about Configuring Elastic Instances to use the EBS.
- 'EBS Snapshot ID' (displayed if 'Automatically attach an Amazon Elastic Block Store (EBS) volume to new elastic instances' is selected) — If you selected the 'Automatically attach an Amazon Elastic Block Store (EBS) volume to new elastic instances' option, you must specify the EBS Snapshot ID of the EBS volume that you wish to attach to new instances.
- 'Instance Type' (default is "High-CPU Medium") — Choose the instance type for new instances started from this image. Amazon offers a number of instance types that provide different computing capacity. Read more about Amazon EC2 instance types.
- 'Availability Zone' (default is "Default (chosen by EC2)") — Choose the availability zone to start your new instances from this image in (e.g. if you wish to use Elastic Bamboo with reserved instances). We recommend that you select "Default (chosen by EC2)" to allow Amazon to select the best zone for your instance. Read more about Amazon EC2 availability zones.
- You now have a new elastic image configuration based off an existing elastic image. Follow the procedure on Configuring Elastic Agent Capabilities to customise this elastic image's agent capabilities.