The Utoolity team is pleased to present Tasks for AWS 2.5 – this release adds support for IAM Roles (both for Amazon EC2 and the AssumeRole API), adds reuse of existing template and change of SNS topic on CloudFormation updates, and improves CloudFormation template parameter management by converting to JSON format.
Support for IAM Roles
There are now two variations for working with IAM Roles:
IAM Roles for Amazon EC2
You can now use IAM Roles for Amazon EC2 to skip credentials configuration all together.
Elastic Bamboo only supports this as of Bamboo 5.6
This feature requires the Amazon EC2 instance running the agent to be started with an EC2 instance profile. This could be the host of the Bamboo server itself for local agents or regular remote agents that happen to run on an EC2 instance. However, Elastic Bamboo only supports configuring elastic images with an instance profile as of Bamboo 5.6.
IAM Roles for AssumeRole API
The embedded Identity Federation for AWS 2.1 release adds a new principal type 'Assume Role' to support IAM roles for delegating API access to AWS resources in other accounts (cross-account usage) and enabling API access to the IAM service itself.
Reuse of existing template and change of SNS topic for CloudFormation updates
Two recent CloudFormation API additions are now available during stack updates too:
- AWS CloudFormation now provides you an option to update a stack by passing in only parameters. In this option, CloudFormation automatically uses the stack template it already has.
- AWS CloudFormation has also introduced the ability to add or remove the Amazon SNS topics you use to monitor stack creation and updates.
Conversion of CloudFormation template parameter management to JSON
The former CSV format has severe usability issues for anything but a trivial amount of template parameters and does not support using existing values on updates. To address these deficits and foster reuse of configuration between the various AWS tools, the parameter management has been aligned to the JSON format supported by the AWS CLI.
- The legacy CSV format remains available in tasks configured in previous versions for backwards compatibility, newly configured tasks support the new JSON format only.
- An opt-in conversion is offered when the legacy CSV parameter composition can be translated into JSON automatically.
Support for Java 8 Tomcat 8, Python 3.4, Java 7 GlassFish 4.0, and Java 8 GlassFish 4.1 in AWS Elastic Beanstalk tasks
The available solution stacks have been updated to include the latest versions, notably including the recently introduced Windows Server 2012 R2 and Server Core stacks, see the resp. announcements:
The latter three platforms are based on the new category of supported platforms – Preconfigured Docker:
[...] This category of platforms is based on the language stacks provided by the Docker Official Repos on the Docker Hub Registry and allows us to provide you with the bleeding edge versions of additional language/framework platforms sooner. [...]
The ‘Preconfigured Docker’ platforms are delivered as Docker containers, this allows you to develop and test your applications locally using the same container that your application will be deployed to on Elastic Beanstalk. To run the Docker container locally, simply add a Dockerfile in your application’s root folder with the appropriate 'FROM' line, based on the platform you are using.
For more details about this release, please refer to the Tasks for AWS 2.5 Release Notes.