Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 25 Current »

You can use the Amazon EC2 Instance to start, stop or reboot provisioned Amazon Elastic Compute Cloud (Amazon EC2) instances on demand, e.g. only when needed by the build itself (development) or at specific times of the day (operations).



Configuration

Cloud native alternative via AWS CloudFormation

AWS has published a cloud native AWS Instance Scheduler solution that can be deployed into a single region with the AWS CloudFormation Stack task and then also allows to start and stop instances in secondary accounts:

“The AWS Instance Scheduler is a simple AWS-provided solution that enables customers to easily configure custom start and stop schedules for their Amazon Elastic Compute Cloud (Amazon EC2) and Amazon Relational Database Service (Amazon RDS) instances.”

Creating/Terminating Instances

We currently consider instance lifecycle goals (i.e. create/terminate) to be sufficiently addressed by the AWS CloudFormation Stack task, hopefully covering the majority of use cases (please let us know otherwise).

To configure an Amazon EC2 Instance 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 Instance task, or click Add Task and then Amazon EC2 Instance Task to create a new task.

3. Complete the following settings:

a. Common to all tasks

 Click here to expand...

Common (Bamboo)


Task Description (Optional) Identify the purpose of the task.
Disable this task

Check, or clear, to selectively run this task.

...Configure task/action specific parameters, see below ...
Bamboo Variables
NamespaceProvide the namespace for generated variables – defaults to custom.aws for backward compatibility.
Scope

Select the scope for generated variables – can be either Local (Variables will only be available in this job), or Result (Variables will be available in subsequent plan stages and deployment releases).

Common (AWS)


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.

b. Actions supported by this task:

Start Instance(s)


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.

Stop Instance(s)

Instance ID

see Start Instance(s) above

Filters

see Start Instance(s) above

Don't fail for empty filter result

see Start Instance(s) above

Force stop

Check to force the instances to stop.

  • (warning) The instances do not have an opportunity to flush file system caches or file system metadata. If you use this option, you must perform file system check and repair procedures.This option is not recommended for Windows instances.

Hibernate

Check to hibernate the instance instead of shutting it down.

Reboot Instance(s)

Instance ID

see Start Instance(s) above

Filters

see Start Instance(s) above

Don't fail for empty filter result

see Start Instance(s) 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

Start Instance(s)

Creating common variables for 1 resources affected by task:
... custom.aws.ec2.instance.resources: i-a316b842
Creating resource variables for instance 'i-a316b842':
... custom.aws.ec2.instance.resources.i-a316b842.InstanceId: i-a316b842
... custom.aws.ec2.instance.resources.i-a316b842.State: running
... custom.aws.ec2.instance.resources.i-a316b842.PrivateDnsName: ip-10-0-0-241.ec2.internal
... custom.aws.ec2.instance.resources.i-a316b842.PrivateIpAddress: 10.0.0.241
... custom.aws.ec2.instance.resources.i-a316b842.PublicDnsName:
... custom.aws.ec2.instance.resources.i-a316b842.PublicIpAddress: null
... custom.aws.ec2.instance.resources.i-a316b842.LaunchTime: 20150716T080402Z
... custom.aws.ec2.instance.resources.i-a316b842.tags: Name
... custom.aws.ec2.instance.resources.i-a316b842.tags.Name: taws-it-2.0.0
Creating common variables for first resource affected by task:
Creating resource variables for instance 'i-a316b842':
... custom.aws.ec2.instance.first.InstanceId: i-a316b842
... custom.aws.ec2.instance.first.State: running
... custom.aws.ec2.instance.first.PrivateDnsName: ip-10-0-0-241.ec2.internal
... custom.aws.ec2.instance.first.PrivateIpAddress: 10.0.0.241
... custom.aws.ec2.instance.first.PublicDnsName:
... custom.aws.ec2.instance.first.PublicIpAddress: null
... custom.aws.ec2.instance.first.LaunchTime: 20150716T080402Z
... custom.aws.ec2.instance.first.tags: Name
... custom.aws.ec2.instance.first.tags.Name: taws-it-2.0.0

Stop Instance(s)

 Click here to expand...
Creating common variables for 1 resources affected by task:
... custom.aws.ec2.instance.resources: i-a316b842
Creating resource variables for instance 'i-a316b842':
... custom.aws.ec2.instance.resources.i-a316b842.InstanceId: i-a316b842
... custom.aws.ec2.instance.resources.i-a316b842.State: stopped
... custom.aws.ec2.instance.resources.i-a316b842.PrivateDnsName: ip-10-0-0-241.ec2.internal
... custom.aws.ec2.instance.resources.i-a316b842.PrivateIpAddress: 10.0.0.241
... custom.aws.ec2.instance.resources.i-a316b842.PublicDnsName:
... custom.aws.ec2.instance.resources.i-a316b842.PublicIpAddress: null
... custom.aws.ec2.instance.resources.i-a316b842.LaunchTime: 20150716T080402Z
... custom.aws.ec2.instance.resources.i-a316b842.tags: Name
... custom.aws.ec2.instance.resources.i-a316b842.tags.Name: taws-it-2.0.0
Creating common variables for first resource affected by task:
Creating resource variables for instance 'i-a316b842':
... custom.aws.ec2.instance.first.InstanceId: i-a316b842
... custom.aws.ec2.instance.first.State: stopped
... custom.aws.ec2.instance.first.PrivateDnsName: ip-10-0-0-241.ec2.internal
... custom.aws.ec2.instance.first.PrivateIpAddress: 10.0.0.241
... custom.aws.ec2.instance.first.PublicDnsName:
... custom.aws.ec2.instance.first.PublicIpAddress: null
... custom.aws.ec2.instance.first.LaunchTime: 20150716T080402Z
... custom.aws.ec2.instance.first.tags: Name
... custom.aws.ec2.instance.first.tags.Name: taws-it-2.0.0

Reboot Instance(s)

N/A

How-to Articles

Frequently Asked Questions (FAQ)

Atlassian account required

Due to a regression within Questions for Confluence Cloud, you need to log in with your Atlassian ID (or sign up for a new account) to access these automatically curated FAQs (refer to UAA-312 for the background).

  • No labels