If you're currently allocating Elastic IPs to your VPC instances on the AWS account you use to run Bamboo, make sure you read the Elastic IP management section below. This applies also if you don't use VPCs in Bamboo.
Elastic IPs (EIPs) are public IP addresses you can reserve for use on your AWS account and later assign to your instances. For a complete description of Elastic IPs, consult the official Amazon documentation. Bamboo supports Elastic IPs in two ways:
- basic Elastic IP support - if the user assigns a new elastic IP to the agent instance, Bamboo is able to recognise that and will connect to the agent under the newly assigned address,
- Elastic IP management - when VPC instances are used, Bamboo will automatically assign Elastic IPs to VPC instances. When using Bamboo OnDemand, EIPs must be available in order to communicate with elastic Agents deployed in VPC.
Elastic IP management and VPCs
By default, elastic instances deployed into VPCs get only private addresses and cannot connect to the Internet. This prevents Bamboo elastic agents from starting, because they require access to the AWS S3 service. In order to make this access possible, Bamboo will assign an Elastic IP to each instance started in a VPC. If there are any addresses already available, Bamboo will use one of them. Otherwise, a new address will be allocated and assigned to the instance.
Periodically, Bamboo will deallocate all currently unassigned Elastic IP addresses. If you have any Elastic IPs you'd like to permanently allocate to your account, make sure you add them to the list of ignored IPs in your Elastic Bamboo configuration:
AWS will not charge your account for Elastic IPs associated with running instances, so the fact that your VPC instances require an Elastic IP has not influence on your AWS usage fee.
Elastic IP management limitations
By default, your Amazon account supports only 5 elastic IPs. This limitation is important for users of agents deployed in VPC networks - unless you increase your EIP limit, you won't be able to run more than 5 Elastic Bamboo Agents. You can increase that limit by submitting this form. For your convenience, here's a use case description you could use when submitting your request:
I am using Atlassian Bamboo Continous Integration Server together with the Amazon Virtual Private Cloud. My Atlassian Bamboo server will automatically manage VPC instances. I need each of my VPC instances to have an externally-reachable IP address. The addresses will be allocated upon instance startup and automatically released after the instance shuts down. This scenario does not differ from a regular, non-VPC deployment, where each instance has its own IP address while running.
