Using the Amazon EC2 Image task in Bamboo

You can use the Amazon EC2 Image task to create, delete or backup images (AMIs) of EBS backed Amazon Elastic Compute Cloud (Amazon EC2) instances; in particular, the task provides backup management with retention handling and backup set correlation.

 

Configuration

Changes to action names in release 2.10.3

As of release 2.10.3, there are two new API compatible EC2 Image actions and the former backup oriented actions have been renamed as follows to better reflect their scope (refer to https://utoolity.atlassian.net/browse/UAA-93 for details/background):

Old action name

New action name

Notes

Old action name

New action name

Notes

N/A

Create Image(s)

New in 2.10.3

N/A

Delete Image(s)

New in 2.10.3

Create Image(s)

Grow Image Backup Set



Delete Image(s)

Prune Image Backup Set



Backup Image(s)

Grow & Prune Image Backup Set



This is a name change only and no action needs to be taken: existing tasks simply use the new names now and their configuration remains unchanged.

To configure an Amazon EC2 Image task:

1. Navigate to the Tasks configuration tab for the job (this will be the default job if creating a new plan).

2. Click the name of an existing Amazon EC2 Image task, or click Add Task and then Amazon EC2 Image Task to create a new task.

3. Complete the following settings:

a. Common to all tasks

b. Actions supported by this task:

Create Image(s)

Custom Variables

In addition to the the regular Bamboo Variable Substitution/Definition, the Create Image(s) action's Image Name, Description and Tags fields also support Injecting contextual entity variables into task configurations to ease composing unique names when targeting multiple EC2 instances at once. For example, you can refer to the source instance and add a timestamp to create the unique name ${utoolity.aws.instanceId}.${utoolity.iso8601.basicDateTime}.

These custom variables have task scope only (rather than the regular local scope aka job scope), i.e. they cease to exist when this task finishes.

Create Image(s)

Instance ID

(Optional) Specify one or more instance IDs (semicolon separated).

Instance Filters

(Optional) Specify resource filters in JSON format. Insert fragments from the inline Examples dialog to get started.

Image Name

Specify the image name.

Description

Describe the image.

Don't fail for empty filter result

Check to prevent the task failing if no matching resources are found.

No reboot

If unchecked (default) Amazon EC2 attempts to shut down the instance cleanly before image creation and then reboots the instance. If checked, Amazon EC2 doesn't shut down the instance before creating the image.

  • When this option is used, file system integrity on the created image can't be guaranteed.

Tags

Specify tags in JSON format.

Delete Image(s)

Image ID

(Optional) Specify one or more image IDs (semicolon separated).

Image Filters

(Optional) Specify resource filters in JSON format. Insert fragments from the inline Examples dialog to get started.

Don't fail for empty filter result

see Create Image(s) above

Grow Image Backup Set

Most use cases can be covered with the combined Grow & Prune Image Backup Set instead, see below.

Instance ID

(Optional) Specify one or more instance IDs (semicolon separated).

Filters

(Optional) Specify resource filters in JSON format. Insert fragments from the inline Examples dialog to get started.

Don't fail for empty filter result

Check to prevent the task failing if no matching resources are found.

No reboot

If unchecked (default) Amazon EC2 attempts to shut down the instance cleanly before image creation and then reboots the instance. If checked, Amazon EC2 doesn't shut down the instance before creating the image.

  • When this option is used, file system integrity on the created image can't be guaranteed.

Backup Set

Specify the name of the backup set, which determines retention correlation.

Prune Image Backup Set

Most use cases can be covered with the combined Grow & Prune Image Backup Set instead, see below.

Instance ID

see Create Image(s) above

Filters

see Create Image(s) above

Don't fail for empty filter result

see Create Image(s) above

Backup Set

see Create Image(s) above

Backup Retention

Specify the number of backups that should be retained.

Grow & Prune Image Backup Set

Instance ID

see Create Image(s) above

Filters

see Create Image(s) above

Don't fail for empty filter result

see Create Image(s) above

No reboot

see Create Image(s) above

Backup Set

see Create Image(s) above

Backup Retention

see Delete Image(s) above

 

Variables

Create Image(s)

 

Creating common variables for 2 resources affected by task: ... bamboo.custom.aws.ec2.image.resources: ami-8cbdaee6;ami-eebead84 Creating resource variables for image 'ami-8cbdaee6': ... bamboo.custom.aws.ec2.image.resources.ami-8cbdaee6.Architecture: x86_64 ... bamboo.custom.aws.ec2.image.resources.ami-8cbdaee6.CreationDate: 2016-04-12T23:18:41.000Z ... bamboo.custom.aws.ec2.image.resources.ami-8cbdaee6.Description: Image created by TAWS-IT2103-EC22-14 from i-ccb9ab23 at 20160412T231840Z ... bamboo.custom.aws.ec2.image.resources.ami-8cbdaee6.Hypervisor: xen ... bamboo.custom.aws.ec2.image.resources.ami-8cbdaee6.ImageId: ami-8cbdaee6 ... bamboo.custom.aws.ec2.image.resources.ami-8cbdaee6.ImageLocation: 309600995652/taws-it-2103-i-ccb9ab23-20160412T231840Z ... bamboo.custom.aws.ec2.image.resources.ami-8cbdaee6.ImageOwnerAlias: null ... bamboo.custom.aws.ec2.image.resources.ami-8cbdaee6.ImageType: machine ... bamboo.custom.aws.ec2.image.resources.ami-8cbdaee6.KernelId: null ... bamboo.custom.aws.ec2.image.resources.ami-8cbdaee6.Name: taws-it-2103-i-ccb9ab23-20160412T231840Z ... bamboo.custom.aws.ec2.image.resources.ami-8cbdaee6.OwnerId: 309600995652 ... bamboo.custom.aws.ec2.image.resources.ami-8cbdaee6.Platform: null ... bamboo.custom.aws.ec2.image.resources.ami-8cbdaee6.Public: false ... bamboo.custom.aws.ec2.image.resources.ami-8cbdaee6.RamdiskId: null ... bamboo.custom.aws.ec2.image.resources.ami-8cbdaee6.RootDeviceName: /dev/xvda ... bamboo.custom.aws.ec2.image.resources.ami-8cbdaee6.RootDeviceType: ebs ... bamboo.custom.aws.ec2.image.resources.ami-8cbdaee6.SriovNetSupport: simple ... bamboo.custom.aws.ec2.image.resources.ami-8cbdaee6.State: available ... bamboo.custom.aws.ec2.image.resources.ami-8cbdaee6.StateReason: null ... bamboo.custom.aws.ec2.image.resources.ami-8cbdaee6.VirtualizationType: hvm ... bamboo.custom.aws.ec2.image.resources.ami-8cbdaee6.tags: basicDate;basicTimeMilliseconds;basicTime;basicDateTimeMilliseconds;buildResultKey;instanceId;basicDateTime ... bamboo.custom.aws.ec2.image.resources.ami-8cbdaee6.tags.basicDate: 20160412 ... bamboo.custom.aws.ec2.image.resources.ami-8cbdaee6.tags.basicTimeMilliseconds: 231840.876Z ... bamboo.custom.aws.ec2.image.resources.ami-8cbdaee6.tags.basicTime: 231840Z ... bamboo.custom.aws.ec2.image.resources.ami-8cbdaee6.tags.basicDateTimeMilliseconds: 20160412T231840.876Z ... bamboo.custom.aws.ec2.image.resources.ami-8cbdaee6.tags.buildResultKey: TAWS-IT2103-EC22-14 ... bamboo.custom.aws.ec2.image.resources.ami-8cbdaee6.tags.instanceId: i-ccb9ab23 ... bamboo.custom.aws.ec2.image.resources.ami-8cbdaee6.tags.basicDateTime: 20160412T231840Z ... Creating common variables for first resource affected by task: Creating resource variables for image 'ami-8cbdaee6': ... bamboo.custom.aws.ec2.image.first.Architecture: x86_64 ... bamboo.custom.aws.ec2.image.first.CreationDate: 2016-04-12T23:18:41.000Z ... bamboo.custom.aws.ec2.image.first.Description: Image created by TAWS-IT2103-EC22-14 from i-ccb9ab23 at 20160412T231840Z ... bamboo.custom.aws.ec2.image.first.Hypervisor: xen ... bamboo.custom.aws.ec2.image.first.ImageId: ami-8cbdaee6 ... bamboo.custom.aws.ec2.image.first.ImageLocation: 309600995652/taws-it-2103-i-ccb9ab23-20160412T231840Z ... bamboo.custom.aws.ec2.image.first.ImageOwnerAlias: null ... bamboo.custom.aws.ec2.image.first.ImageType: machine ... bamboo.custom.aws.ec2.image.first.KernelId: null ... bamboo.custom.aws.ec2.image.first.Name: taws-it-2103-i-ccb9ab23-20160412T231840Z ... bamboo.custom.aws.ec2.image.first.OwnerId: 309600995652 ... bamboo.custom.aws.ec2.image.first.Platform: null ... bamboo.custom.aws.ec2.image.first.Public: false ... bamboo.custom.aws.ec2.image.first.RamdiskId: null ... bamboo.custom.aws.ec2.image.first.RootDeviceName: /dev/xvda ... bamboo.custom.aws.ec2.image.first.RootDeviceType: ebs ... bamboo.custom.aws.ec2.image.first.SriovNetSupport: simple ... bamboo.custom.aws.ec2.image.first.State: available ... bamboo.custom.aws.ec2.image.first.StateReason: null ... bamboo.custom.aws.ec2.image.first.VirtualizationType: hvm ... bamboo.custom.aws.ec2.image.first.tags: basicDate;basicTimeMilliseconds;basicTime;basicDateTimeMilliseconds;buildResultKey;instanceId;basicDateTime ... bamboo.custom.aws.ec2.image.first.tags.basicDate: 20160412 ... bamboo.custom.aws.ec2.image.first.tags.basicTimeMilliseconds: 231840.876Z ... bamboo.custom.aws.ec2.image.first.tags.basicTime: 231840Z ... bamboo.custom.aws.ec2.image.first.tags.basicDateTimeMilliseconds: 20160412T231840.876Z ... bamboo.custom.aws.ec2.image.first.tags.buildResultKey: TAWS-IT2103-EC22-14 ... bamboo.custom.aws.ec2.image.first.tags.instanceId: i-ccb9ab23 ... bamboo.custom.aws.ec2.image.first.tags.basicDateTime: 20160412T231840Z

Delete Image(s)

N/A

Grow Image Backup Set

Creating common variables for 2 resources affected by task: ... bamboo.custom.aws.ec2.image.resources: ami-a5bfaccf;ami-e5bead8f Creating resource variables for image 'ami-a5bfaccf': ... bamboo.custom.aws.ec2.image.resources.ami-a5bfaccf.Architecture: x86_64 ... bamboo.custom.aws.ec2.image.resources.ami-a5bfaccf.CreationDate: 2016-04-12T23:21:30.000Z ... bamboo.custom.aws.ec2.image.resources.ami-a5bfaccf.Description: Created by Bamboo EC2 Image Task from i-cdb9ab22 ... bamboo.custom.aws.ec2.image.resources.ami-a5bfaccf.Hypervisor: xen ... bamboo.custom.aws.ec2.image.resources.ami-a5bfaccf.ImageId: ami-a5bfaccf ... bamboo.custom.aws.ec2.image.resources.ami-a5bfaccf.ImageLocation: 309600995652/i-cdb9ab22.20160412T232130Z ... bamboo.custom.aws.ec2.image.resources.ami-a5bfaccf.ImageOwnerAlias: null ... bamboo.custom.aws.ec2.image.resources.ami-a5bfaccf.ImageType: machine ... bamboo.custom.aws.ec2.image.resources.ami-a5bfaccf.KernelId: null ... bamboo.custom.aws.ec2.image.resources.ami-a5bfaccf.Name: i-cdb9ab22.20160412T232130Z ... bamboo.custom.aws.ec2.image.resources.ami-a5bfaccf.OwnerId: 309600995652 ... bamboo.custom.aws.ec2.image.resources.ami-a5bfaccf.Platform: null ... bamboo.custom.aws.ec2.image.resources.ami-a5bfaccf.Public: false ... bamboo.custom.aws.ec2.image.resources.ami-a5bfaccf.RamdiskId: null ... bamboo.custom.aws.ec2.image.resources.ami-a5bfaccf.RootDeviceName: /dev/xvda ... bamboo.custom.aws.ec2.image.resources.ami-a5bfaccf.RootDeviceType: ebs ... bamboo.custom.aws.ec2.image.resources.ami-a5bfaccf.SriovNetSupport: simple ... bamboo.custom.aws.ec2.image.resources.ami-a5bfaccf.State: available ... bamboo.custom.aws.ec2.image.resources.ami-a5bfaccf.StateReason: null ... bamboo.custom.aws.ec2.image.resources.ami-a5bfaccf.VirtualizationType: hvm ... bamboo.custom.aws.ec2.image.resources.ami-a5bfaccf.tags: Name;Backup Policy ... bamboo.custom.aws.ec2.image.resources.ami-a5bfaccf.tags.Name: taws-it-245-1.20160412T232130Z ... bamboo.custom.aws.ec2.image.resources.ami-a5bfaccf.tags.Backup Policy: taws-it-245 ... Creating common variables for first resource affected by task: Creating resource variables for image 'ami-a5bfaccf': ... bamboo.custom.aws.ec2.image.first.Architecture: x86_64 ... bamboo.custom.aws.ec2.image.first.CreationDate: 2016-04-12T23:21:30.000Z ... bamboo.custom.aws.ec2.image.first.Description: Created by Bamboo EC2 Image Task from i-cdb9ab22 ... bamboo.custom.aws.ec2.image.first.Hypervisor: xen ... bamboo.custom.aws.ec2.image.first.ImageId: ami-a5bfaccf ... bamboo.custom.aws.ec2.image.first.ImageLocation: 309600995652/i-cdb9ab22.20160412T232130Z ... bamboo.custom.aws.ec2.image.first.ImageOwnerAlias: null ... bamboo.custom.aws.ec2.image.first.ImageType: machine ... bamboo.custom.aws.ec2.image.first.KernelId: null ... bamboo.custom.aws.ec2.image.first.Name: i-cdb9ab22.20160412T232130Z ... bamboo.custom.aws.ec2.image.first.OwnerId: 309600995652 ... bamboo.custom.aws.ec2.image.first.Platform: null ... bamboo.custom.aws.ec2.image.first.Public: false ... bamboo.custom.aws.ec2.image.first.RamdiskId: null ... bamboo.custom.aws.ec2.image.first.RootDeviceName: /dev/xvda ... bamboo.custom.aws.ec2.image.first.RootDeviceType: ebs ... bamboo.custom.aws.ec2.image.first.SriovNetSupport: simple ... bamboo.custom.aws.ec2.image.first.State: available ... bamboo.custom.aws.ec2.image.first.StateReason: null ... bamboo.custom.aws.ec2.image.first.VirtualizationType: hvm ... bamboo.custom.aws.ec2.image.first.tags: Name;Backup Policy ... bamboo.custom.aws.ec2.image.first.tags.Name: taws-it-245-1.20160412T232130Z ... bamboo.custom.aws.ec2.image.first.tags.Backup Policy: taws-it-245

Prune Image Backup Set

N/A

Grow & Prune Image Backup Set

See Grow above.

How-to Articles

Frequently Asked Questions (FAQ)

Atlassian®, Atlassian Bamboo®, Bitbucket®, Atlassian Crowd®, Confluence®, Jira®, Jira Service Management™, Opsgenie®, and Statuspage™ are registered trademarks of Atlassian.
Amazon Web Services™, AWS™ and the “Powered by Amazon Web Services” logo are trademarks of Amazon.com, Inc. or its affiliates in the United States and/or other countries.

Utoolity® is a registered trademark of Utoolity GmbH.
© 2024 Utoolity GmbH. All rights reserved.