This is the documentation for Bamboo 5.5. View this page for the

Unknown macro: {spacejump}

of Bamboo, or visit the latest Bamboo documentation.

Elastic Bamboo is a feature in Bamboo that allows Bamboo to dynamically source computing resources from the Amazon Elastic Compute Cloud (EC2).

EC2 にあるエージェントと Bamboo サーバー間で送信されるすべてのトラフィックは、SSL 暗号化トンネル経由でトンネリングされます。トンネルは Bamboo サーバーから開始され EC2 インスタンスに至ります。つまり、サーバーへのインバウンド接続を許可する必要はありません。ただし、トンネル ポート上のサーバーからのアウトバウンド トラフィックは許可する必要があります。既定のポート番号は 26224 です。EC2 インスタンスでは、トンネルポートのみがインバウンド トラフィック用に開かれている必要があります。

SSL tunneling is not implemented for VCS (Version Control System) to EC2 traffic though. You will need to make your VCS available for access from EC2 to use Elastic Bamboo. Please see the section on setting up your VCS for Elastic Bamboo, which contains guidelines on securing your VCS.

Please be warned that just as with a regular host accessible from the Internet, if one of your remote agent instances is compromised, your Bamboo installation may be exposed to number of security vulnerabilities. These include confidential data (e.g. source code, VCS credentials) being stolen, malicious code being injected into elastic agents, unauthorised access to build queues and false information being submitted to Bamboo servers. Given that all Bamboo-related traffic is sent through a single encrypted connection, the risk of that happening is not high and can be further mitigated by setting up a VPC (Amazon Virtual Private Cloud). In a VPC, your elastic instances typically have no public IPs which means they are inaccessible from the internet other than through a regular, industry-standard VPN connection.

以下のセクションでは、リモート エージェント インスタンスの既定のアクセス ルールと、必要に応じてこれらのルールを変更する方法について説明します。

このページの内容

関連ページ

上の図: Elastic Bamboo のセキュリティ アーキテクチャ

既定の EC2 アクセス ルール

Elastic Bamboo の初回使用時、つまりエラスティック インスタンスの起動時に、AWS アカウントに「elasticbamboo」セキュリティ グループが設定されます。このセキュリティ グループは、基本的には EC2 へのアクセスを許可される IP アドレスのセットです。既定では、セキュリティ グループには 2 つのルールが含まれます。1 つは Elastic Bamboo 自体の接続を許可するルールで、もう 1 つは SSH 経由の接続を許可するルールです。

The EC2 security groups can be accessed via the AWS management console (see 'Security Groups' in the left-hand menu under 'Configuration').

上のスクリーンショット: AWSコンソール - セキュリティグループ

既定の EC2 アクセス ルールの変更

EC2 インスタンスへの追加接続を許可する場合は、「elasticbamboo」セキュリティ グループの [Allowed Connections (許可された接続)] セクションにエントリを追加することで許可できます。EC2 セキュリティ グループへのアクセス方法については、前のセクション「既定の EC2 アクセス ルール」を参照してください。

Elastic Bamboo で VPC を使う

VPC functionality is available with Bamboo 4.3. Amazon Virtual Private Cloud (Amazon VPC) lets you provision a private, isolated section of the Amazon Web Services (AWS) Cloud where you can launch AWS resources in a virtual network. By default, the instances running in that network will have no public IPs and will not be accessible to the computers outside of your VPC. You can also create a Hardware Virtual Private Network (VPN) connection between your company datacenter and your VPC and leverage the AWS cloud as an extension of your company datacenter. You can read more about VPCs on Amazon Web Services VPC page.

VPC を使用すると、エージェント (および VPC で起動されたその他のインスタンス) がインターネット上で利用できなくなります。VPC を使用して実現できる基本的なシナリオはいくつかあります。

  • 会社のデータセンターへの安全なアクセス - エージェントは、VPN 接続を介して内部ネットワークからリソースに安全にアクセスできます。このようにして、バージョン管理システムや、エラスティック エージェントからのデータベースなどのその他の内部リソースを、公開してアクセス可能にすることなく、安全に使用できます。
  • 一部の EC2 インスタンスをインターネットから非表示にする - エージェントは内部ネットワークを使用して VPC 上のその他のホストと通信できます。これにより、たとえば、Windows ベースの DBMS でエージェントを設定し、別のプラットフォームからその DBMS に対してテストを実行するもう 1 つのエージェントを設定できます。VPC 外部のコンピューターは外部 IP を持たないため、DBMS にアクセスできません。そのユースケースでは VPN を使用する必要はありません。エージェントに Elastic IP を割り当てるだけで十分です。
  • フルクラウド デプロイ - Bamboo サーバーを Amazon の VPC でホストし、VPC 内のすべてのエージェントを非表示にすることができます。これにより、VPC にあるその他のリソースにもアクセスできるようになります。Bamboo サーバーには、VPN または Elastic IP を使用してアクセスできます。

Elastic Bamboo のバージョン管理システム (VCS) のセットアップ

 

以下の手順を実行して、バージョン管理システムが Elastic Bamboo 用に安全に設定されていることを確認することをお勧めします。

  1. バージョン管理システムをパブリック インターネットにアクセスできるようにする
  2. VCS 認証とアクセス制御を使用する
  3. VCS への暗号化された接続を使用する

1.バージョン管理システムをパブリック インターネットにアクセスできるようにする

You only need to do this if you are not using a VPC for agent connectivity. See using Bamboo with VPCs for more information.

VCS から EC2 への接続には SSL トンネリングが実装されていないため、Elastic Bamboo を使用するには、VCS をパブリック インターネットにアクセスできるようにする必要があります。VCS がファイアウォールの内側にある場合は、ファイアウォールでアクセスポイントを設定する必要があります。その方法の詳細については、お使いのファイアウォール ソフトウェアのドキュメンテーションを参照してください。

2.VCS 認証とアクセス制御を使用する

VCS の認証機能とアクセス制御機能を有効にして、VCS へのアクセスを保護することを強くお勧めします。詳細については、VCS のドキュメンテーションを参照してください。

3.VCS への暗号化された接続を使用する

また、VCS には暗号化された接続を使用することを強くお勧めします (たとえば、SSL)。詳細については、VCS のドキュメンテーションを参照してください。