How to setup a private mirror of Atlassian's Elastic Agents S3 Buckets for Bamboo Data Center

Still need help?

The Atlassian Community is here for you.

Ask the community

Platform Notice: Data Center - This article applies to Atlassian products on the Data Center platform.

Note that this knowledge base article was created for the Data Center version of the product. Data Center knowledge base articles for non-Data Center-specific features may also work for Server versions of the product, however they have not been tested. Support for Server* products ended on February 15th 2024. If you are running a Server product, you can visit the Atlassian Server end of support announcement to review your migration options.

*Except Fisheye and Crucible

Summary

This article offers strategies for mirroring Atlassian's official Elastic Agents S3 buckets for internal use. This is particularly helpful for bootstrapping Bamboo Elastic agents in situations where access to public S3 buckets is restricted.

Environment

The solution has been validated in Bamboo Data Center 9.2.1 but may be applicable to other versions.

Diagnosis

In the standard Bamboo Elastic Agent bootstrap process, public S3 buckets owned by Atlassian are utilized to download essential files and initiate the application. However, under certain conditions, due to specific configuration, stability, and security needs, Elastic Agents launched by customers may not be able to connect to these public S3 buckets. This strategy is also employed by customers from isolated AWS regions such as GovCloud and China, enabling them to access data from Atlassian's buckets and successfully bootstrap their Agents.

Solution

Mirror the S3 bucket

In certain situations, AWS customers may need to utilize specialized tools to complete the synchronization process, as Atlassian doesn't provide buckets in specific regions like GovCloud and China. For further instructions, refer to the Amazon Gov-Cloud-Import tool page.

  1. Create your own private S3 bucket in your region. Make sure to grant your Elastic Agents access to it.
  2. Synchronize the official bamboo-agent-release-region_name S3 bucket from your region with your private S3 bucket. Please refer to the Atlassian S3 public Elastic Agent buckets list below to identify your Region's bucket.

    $ aws s3 sync s3://bamboo-agent-release-<region> s3://your-private-s3-bucket
  3. It is possible to selectively synchronize only a specific version of Bamboo. For example, to synchronize only the files for Bamboo 9.4.1, run:

    $ aws s3 sync --exclude "*" --include "9.4.1/*" --include "repository/*" s3://bamboo-agent-release-<region> s3://your-private-s3-bucket

Configure Bamboo to use the private S3 bucket

  1. Add the following system property to the Bamboo server:

    -Dbamboo.s3.agent.bucket="your-private-s3-bucket"
  2. Restart Bamboo and start an Elastic Agent

When adding the system property, all regions that were previously unavailable in the Region drop-down menu of the Elastic Bamboo configuration page will be unlocked, including GovCloud and China.

Atlassian S3 public Elastic Agent buckets

Every supported AWS region will have its own S3 bucket to be used by Elastic Agents. Please refer to the table below for details:

AWS RegionS3 bucket
us-east-1bamboo-agent-release-us-e1
ap-northeast-1bamboo-agent-release-ap-ne1
ap-northeast-2bamboo-agent-release-ap-ne2
ap-south-1bamboo-agent-release-ap-s1
ap-southeast-1bamboo-agent-release-ap-se1
ap-southeast-2bamboo-agent-release-ap-se2
ca-central-1bamboo-agent-release-ca-c1
eu-central-1bamboo-agent-release-eu-c1
eu-west-1bamboo-agent-release-eu-w1
eu-west-2bamboo-agent-release-eu-w2
eu-west-3bamboo-agent-release-eu-w3
sa-east-1bamboo-agent-release-sa-east-1
us-east-2bamboo-agent-release-us-e2
us-west-1bamboo-agent-release-us-w1
us-west-2bamboo-agent-release-us-w2

Last modified on Jan 13, 2025

Was this helpful?

Yes
No
Provide feedback about this article
Powered by Confluence and Scroll Viewport.