The following macros are not currently supported in the header:
  • unmigrated-wiki-markup

Documentation for Tasks for AWS 2.13 – other releases are available in the Tasks for AWS Documentation Directory.
View

Unknown macro: {spacejump}

or visit the current documentation home.

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:

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 UAA-93 - Getting issue details... STATUS for details/background):

Old action nameNew action nameNotes
N/ACreate Image(s)New in 2.10.3
N/ADelete 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 

(info) 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:

    1. Common to all tasks

       Click here to expand...
      Task Description (Optional) Identify the purpose of the task.
      Disable this task

      Check, or clear, to selectively run this task.

      Action

      Each task supports one or more actions depending on the target AWS resource. Select the desired action and configure the action specific parameters below.

      RegionSelect the desired AWS Region. Alternatively, select [Use region variable ...] to supply the region dynamically via Bamboo variables (needs to be a region code such as ap-southeast-2) - refer to How to parametrize the AWS region via a Bamboo variable for details.
      ...Configure task/action specific parameters, see below ...
      AWS Security Credentials
      SourceSelect the source for the required AWS Security Credentials - can be either Inline, an IAM Role for EC2 or a shared Identity Federation for AWS Connector.
      Connector(Conditional) Select the shared Identity Federation for AWS Connector. Alternatively, select [Use connector variable ...] to supply the connector dynamically via Bamboo variables (needs to be a connector id such as f24e81bc-7aff-42db-86a2-7cf82e24d871) - refer to How to parametrize the AWS connector via a Bamboo variable for details.

    • 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}.

      (info) 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 NameSpecify the image name.
      DescriptionDescribe the image.
      Don't fail for empty filter resultCheck to prevent the task failing if no matching resources are found.
      No rebootIf 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.
      • (warning) When this option is used, file system integrity on the created image can't be guaranteed.
      TagsSpecify 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 UAA-163 - Getting issue details... STATUS 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 resultsee Create above

      Grow Image Backup Set

      (lightbulb) 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 resultCheck to prevent the task failing if no matching resources are found.
      No rebootIf 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.
      • (warning) When this option is used, file system integrity on the created image can't be guaranteed.
      Backup SetSpecify the name of the backup set, which determines retention correlation.

      Prune Image Backup Set

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

      see Create above

      Filters
      see Create above
      Don't fail for empty filter resultsee Create above
      Backup Setsee Create above
      Backup RetentionSpecify the number of backups that should be retained.

      Grow & Prune Image Backup Set


      What is a Backup Set for EC2 Instances?

      A Backup Set allows to retain an isolated use case oriented set of the last at most N images of one or more EC2 instances.

      When the EC2 Image task's Grow & Prune Image Backup Set action executes, it will:

      1. Create a new EC2 image for each selected EC2 instance and tag the image with a key Backup Policy and a value based on the Backup Set name (thus "grow the image backup set")
      2. Enumerate all existing images for the selected EC2 instance(s) that are tagged with a key Backup Policy whose value matches the Backup Set name
      3. If it finds more images in this Backup Set than defined by the Backup Retention number, it will delete the oldest images in FIFO order until only the desired number is left (thus "prune the image backup set")

      (lightbulb) While there are also separate Grow Image Backup Set and Prune Image Backup Set actions to separate the two activities (for example, to only grow the backup set on each work day, but prune it to the last work day's image at the end of the week), the Grow & Prune Image Backup Set action covers most rotating backup use cases in a single operation.

      Instance ID

      see Create above

      Filters
      see Create above
      Don't fail for empty filter resultsee Create above
      No rebootsee Create above
      Backup Setsee Create above
      Backup Retentionsee Delete above

Variables

All tasks support Bamboo Variable Substitution/Definition - this task's actions generate variables as follows:

A task's generated variables might get amended with respective AWS API additions over time - a live build log will always provide the most current variable shape accordingly

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)

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.