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.
On this page:
Related Pages:
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 |
---|---|---|
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 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. |
---|---|
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.
|
Tags | Specify tags in JSON format.
|
Delete Image(s) | Snapshot Deletion This action currently implies deletion of the backing EBS snapshots, which only works if those are not in use by another EC2 image still. Please watch/vote/comment on https://utoolity.atlassian.net/browse/UAA-163 if your use case requires to deregister an image as a standalone action. |
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.
|
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)
The logged bamboo.custom.aws.ec2.image.first.tags
outputs are example tags composed via custom variables and regular Bamboo variables, i.e. you need to specify any desired tags yourself as JSON input for the Tags field.
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)
Related content
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.