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 EBS Snapshot task in Bamboo

You can use the Amazon EBS Snapshot task to create, delete or backup snapshots of Amazon Elastic Block Store (EBS) volumes; 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 EBS Snapshot 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 Snapshot(s)New in 2.10.3
N/ADelete Snapshot(s)New in 2.10.3
Create Snapshot(s)Grow Snapshot Backup Set 
Delete Snapshot(s)Prune Snapshot Backup Set 
Backup Snapshot(s)Grow & Prune Snapshot 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 EBS Snapshot 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 EBS Snapshot task, or click Add Task and then AmazonEBS Snapshot 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 Snapshot(s)

      Custom Variables

      In addition to the the regular Bamboo Variable Substitution/Definition, the Create Snapshot(s) action's 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 volume and add a timestamp to create the unique name ${utoolity.aws.volumeId}.${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.

      Volume ID

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

      Volume Filters

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

      DescriptionDescribe the snapshot.
      Don't fail for empty filter resultCheck to prevent the task failing if no matching resources are found.
      TagsSpecify tags in JSON format.

      Delete Snapshot(s)

       
      Snapshot ID

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

      Snapshot 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 Snapshot Backup Set

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

      (Optional) Specify one or more volume 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.
      Backup SetSpecify the name of the backup set, which determines retention correlation.

      Prune Snapshot Backup Set

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

      see Create above

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

      Grow & Prune Snapshot Backup Set


      What is a Backup Set for EBS Volumes?

      A Backup Set allows to retain an isolated use case oriented set of the last at most N snapshots of one or more EBS volumes.

      When the EBS Volume task's Grow & Prune Snapshot Backup Set action executes, it will:

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

      (lightbulb) While there are also separate Grow Volume Backup Set and Prune Volume 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 Volume Backup Set action covers most rotating backup use cases in a single operation.

      Volume ID

      see Create above

      Filters
      see Create above
      Don't fail for empty filter resultsee Create above
      Backup Setsee Grow Snapshot Backup Set above
      Backup Retentionsee Prune Snapshot Backup Set 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 Snapshot(s)

The logged bamboo.custom.aws.ec2.snapshot.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 5 resources affected by task:
... bamboo.custom.aws.ec2.snapshot.resources: snap-8e464ffc;snap-df7ec7dc;snap-02e68305;snap-6af48d6d;snap-fa05c2e8
Creating resource variables for snapshot 'snap-8e464ffc':
... bamboo.custom.aws.ec2.snapshot.resources.snap-8e464ffc.Description: Snapshot created by TAWS-IT2103-EBS1-14 from vol-577ba418 at 20160412T231901Z
... bamboo.custom.aws.ec2.snapshot.resources.snap-8e464ffc.Encrypted: false
... bamboo.custom.aws.ec2.snapshot.resources.snap-8e464ffc.OwnerAlias: null
... bamboo.custom.aws.ec2.snapshot.resources.snap-8e464ffc.OwnerId: 309600995652
... bamboo.custom.aws.ec2.snapshot.resources.snap-8e464ffc.Progress: 100%
... bamboo.custom.aws.ec2.snapshot.resources.snap-8e464ffc.SnapshotId: snap-8e464ffc
... bamboo.custom.aws.ec2.snapshot.resources.snap-8e464ffc.State: completed
... bamboo.custom.aws.ec2.snapshot.resources.snap-8e464ffc.StartTime: 20160412T231901Z
... bamboo.custom.aws.ec2.snapshot.resources.snap-8e464ffc.StateMessage: null
... bamboo.custom.aws.ec2.snapshot.resources.snap-8e464ffc.VolumeId: vol-577ba418
... bamboo.custom.aws.ec2.snapshot.resources.snap-8e464ffc.VolumeSize: 8
... bamboo.custom.aws.ec2.snapshot.resources.snap-8e464ffc.tags: basicTimeMilliseconds;basicDate;basicTime;basicDateTimeMilliseconds;volumeId;buildResultKey;basicDateTime
... bamboo.custom.aws.ec2.snapshot.resources.snap-8e464ffc.tags.basicTimeMilliseconds: 231901.788Z
... bamboo.custom.aws.ec2.snapshot.resources.snap-8e464ffc.tags.basicDate: 20160412
... bamboo.custom.aws.ec2.snapshot.resources.snap-8e464ffc.tags.basicTime: 231901Z
... bamboo.custom.aws.ec2.snapshot.resources.snap-8e464ffc.tags.basicDateTimeMilliseconds: 20160412T231901.788Z
... bamboo.custom.aws.ec2.snapshot.resources.snap-8e464ffc.tags.volumeId: vol-577ba418
... bamboo.custom.aws.ec2.snapshot.resources.snap-8e464ffc.tags.buildResultKey: TAWS-IT2103-EBS1-14
... bamboo.custom.aws.ec2.snapshot.resources.snap-8e464ffc.tags.basicDateTime: 20160412T231901Z
...
Creating common variables for first resource affected by task:
Creating resource variables for snapshot 'snap-8e464ffc':
... bamboo.custom.aws.ec2.snapshot.first.Description: Snapshot created by TAWS-IT2103-EBS1-14 from vol-577ba418 at 20160412T231901Z
... bamboo.custom.aws.ec2.snapshot.first.Encrypted: false
... bamboo.custom.aws.ec2.snapshot.first.OwnerAlias: null
... bamboo.custom.aws.ec2.snapshot.first.OwnerId: 309600995652
... bamboo.custom.aws.ec2.snapshot.first.Progress: 100%
... bamboo.custom.aws.ec2.snapshot.first.SnapshotId: snap-8e464ffc
... bamboo.custom.aws.ec2.snapshot.first.State: completed
... bamboo.custom.aws.ec2.snapshot.first.StartTime: 20160412T231901Z
... bamboo.custom.aws.ec2.snapshot.first.StateMessage: null
... bamboo.custom.aws.ec2.snapshot.first.VolumeId: vol-577ba418
... bamboo.custom.aws.ec2.snapshot.first.VolumeSize: 8
... bamboo.custom.aws.ec2.snapshot.first.tags: basicTimeMilliseconds;basicDate;basicTime;basicDateTimeMilliseconds;volumeId;buildResultKey;basicDateTime
... bamboo.custom.aws.ec2.snapshot.first.tags.basicTimeMilliseconds: 231901.788Z
... bamboo.custom.aws.ec2.snapshot.first.tags.basicDate: 20160412
... bamboo.custom.aws.ec2.snapshot.first.tags.basicTime: 231901Z
... bamboo.custom.aws.ec2.snapshot.first.tags.basicDateTimeMilliseconds: 20160412T231901.788Z
... bamboo.custom.aws.ec2.snapshot.first.tags.volumeId: vol-577ba418
... bamboo.custom.aws.ec2.snapshot.first.tags.buildResultKey: TAWS-IT2103-EBS1-14
... bamboo.custom.aws.ec2.snapshot.first.tags.basicDateTime: 20160412T231901Z

Delete Snapshot(s)

N/A

Grow Snapshot Backup Set

12-Apr-2016 23:38:06	Creating common variables for 5 resources affected by task:
... bamboo.custom.aws.ec2.snapshot.resources: snap-77e5910a;snap-faf1958d;snap-71b69f69;snap-46860f5a;snap-2a8e5e3c
Creating resource variables for snapshot 'snap-77e5910a':
... bamboo.custom.aws.ec2.snapshot.resources.snap-77e5910a.Description: Created by Bamboo EBS Snapshot Task from vol-b87ca3f7
... bamboo.custom.aws.ec2.snapshot.resources.snap-77e5910a.Encrypted: false
... bamboo.custom.aws.ec2.snapshot.resources.snap-77e5910a.OwnerAlias: null
... bamboo.custom.aws.ec2.snapshot.resources.snap-77e5910a.OwnerId: 309600995652
... bamboo.custom.aws.ec2.snapshot.resources.snap-77e5910a.Progress: 100%
... bamboo.custom.aws.ec2.snapshot.resources.snap-77e5910a.SnapshotId: snap-77e5910a
... bamboo.custom.aws.ec2.snapshot.resources.snap-77e5910a.State: completed
... bamboo.custom.aws.ec2.snapshot.resources.snap-77e5910a.StartTime: 20160412T233519Z
... bamboo.custom.aws.ec2.snapshot.resources.snap-77e5910a.StateMessage: null
... bamboo.custom.aws.ec2.snapshot.resources.snap-77e5910a.VolumeId: vol-b87ca3f7
... bamboo.custom.aws.ec2.snapshot.resources.snap-77e5910a.VolumeSize: 8
... bamboo.custom.aws.ec2.snapshot.resources.snap-77e5910a.tags: Name;Backup Policy
... bamboo.custom.aws.ec2.snapshot.resources.snap-77e5910a.tags.Name: vol-b87ca3f7.20160412T233519Z
... bamboo.custom.aws.ec2.snapshot.resources.snap-77e5910a.tags.Backup Policy: taws-it-245
...
Creating common variables for first resource affected by task:
Creating resource variables for snapshot 'snap-77e5910a':
... bamboo.custom.aws.ec2.snapshot.first.Description: Created by Bamboo EBS Snapshot Task from vol-b87ca3f7
... bamboo.custom.aws.ec2.snapshot.first.Encrypted: false
... bamboo.custom.aws.ec2.snapshot.first.OwnerAlias: null
... bamboo.custom.aws.ec2.snapshot.first.OwnerId: 309600995652
... bamboo.custom.aws.ec2.snapshot.first.Progress: 100%
... bamboo.custom.aws.ec2.snapshot.first.SnapshotId: snap-77e5910a
... bamboo.custom.aws.ec2.snapshot.first.State: completed
... bamboo.custom.aws.ec2.snapshot.first.StartTime: 20160412T233519Z
... bamboo.custom.aws.ec2.snapshot.first.StateMessage: null
... bamboo.custom.aws.ec2.snapshot.first.VolumeId: vol-b87ca3f7
... bamboo.custom.aws.ec2.snapshot.first.VolumeSize: 8
... bamboo.custom.aws.ec2.snapshot.first.tags: Name;Backup Policy
... bamboo.custom.aws.ec2.snapshot.first.tags.Name: vol-b87ca3f7.20160412T233519Z
... bamboo.custom.aws.ec2.snapshot.first.tags.Backup Policy: taws-it-245

Prune Snapshot Backup Set

N/A

Grow & Prune Snapshot 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.