Bitbucket Server を AWS で管理する

While working with Bitbucket on AWS, you can expand your environment by adding additional nodes, upgrade the existing nodes, or connect to them over SSH.

SSH を使用したインスタンスへの接続

You need your SSH private key file (the PEM file you downloaded from Amazon and specified as the Key Name parameter) in a safe to access all your nodes. Keep this key safe; if you lose it, you may find yourself locked out of your deployment.

SSH 経由でインスタンスに接続する場合、ユーザー名として ec2-user を使用します。例:

ssh -i keyfile.pem ec2-user@ec2-xx-xxx-xxx-xxx.compute-1.amazonaws.com

The ec2-user has sudo access. The Atlassian Bitbucket Server AMI does not allow SSH access by root

 BitbucketDataCenter.template deploys all EC2 instances in the Subnets specified by the Internal subnets parameter. If you have specified Internal subnets that are completely unreachable from outside, then you may need to launch an EC2 instance with SSH running and accessible in one of the the External subnets, and use this as a "jump box" to SSH to any instances in your Internal subnets. That is, you SSH first to your "jump box", and from there to any instance deployed in the Internal subnets.

Configure SSL to enable HTTPS

To enhance Bitbucket's security, you should use a proper SSL certificate obtained from a reputable Certificate Authority (CA). See Securing Bitbucket in AWS for instructions on how to do this.

インスタンスのバックアップ

Atlassian Bitbucket Server AMI には、AWS 用に作成された Bitbucket Server DIY Backup スクリプトの完全なセットが含まれます。インスタンスのバックアップおよび復元方法については、「AWS で Bitbucket Server DIY Backup を使用する」を参照してください。

インスタンスのアップグレード

Before upgrading to a later version of Bitbucket Data Center:
  1. Check if your apps are compatible with that version. Update your apps if needed. For more information about managing apps, see Using the Universal Plugin Manager.
  2. Enable integrity checks (if you haven't already). 

We strongly recommend that you perform the upgrade first in a staging environment before upgrading your production instance. How to establish staging server environments for Bitbucket Server provides helpful tips on doing so.

To upgrade to a later version of Bitbucket in AWS, you must first connect to your instance using SSH, then follow the steps in the Bitbucket Server upgrade guide.

EC2 インスタンスの停止と開始

Atlassian Bitbucket Server AMI から起動した EC2 インスタンスは、他のマシンと同様にいつでも停止 / 起動できます。

EC2 インスタンスを停止する前に必要な手順

  1. Stop the atlbitbucketatlbitbucket_search, and postgresql93 services.
  2. Unmount the /media/atl filesystem.

停止 / 再起動後に EC2 インスタンスを利用できなくなった場合

When starting your EC2 instance back up again, if you rely on Amazon's automatically assigned public IP address (rather than a fixed private IP address or Elastic IP address) to access your instance, your IP address may have changed. When this happens, your instance can become inaccessible and display a "The host name for your Atlassian instance has changed" page. To fix this you need to update the hostname for your Bitbucket Server instance.

Bitbucket Server インスタンスのホスト名を更新する方法

  1. このコマンドを実行してすべてのアプリケーション ノードで Bitbucket サービスを再起動します。これにより、ホスト名が更新されます。

    sudo service atlbitbucket restart
  2. Bitbucket Server が再起動するのを待ちます。
  3. If you have also set up Bitbucket Server's Base URL to be the public DNS name or IP address be sure to also update Bitbucket Server's base URL in the administration screen to reflect the change.

既存の Bitbucket Server インスタンスまたは Bitbucket Data Center インスタンスの AWS への移行

Migrating an existing instance to AWS involves moving consistent backups of your ${BITBUCKET_HOME} and your database to the AWS instance.

既存のインスタンスを AWS に移行する方法

  1. Bitbucket Server ナレッジベースで、既知の問題がないかどうかを確認します。
  2. ユーザーに対し、今後のサービス停止を周知します。
  3. Create a user in the Bitbucket Server Internal User Directory with SYSADMIN permissions to the instance so you don't get locked out if the new server is unable to connect to your User Directory.
  4. Bitbucket Server Backup Client (Bitbucket Server のみ) または Bitbucket Server DIY Backup (Bitbucket Server または Data Center) でインスタンスのバックアップを作成します。
  5. Launch Bitbucket Server in AWS using the Quick Start instructions, which uses a CloudFormation template.
  6. SSH を使用して AWS EC2 インスタンスに接続し、バックアップ ファイルをアップロードします。
  7. バックアップを作成したときと同じツールを使用してバックアップを復元します。
  8. If necessary, update the JDBC configuration in the ${BITBUCKET_HOME}/shared/bitbucket.properties file.

Bitbucket Server インスタンスでのデータ ボリュームのリサイズ

既定では、Atlassian Bitbucket Server AMI で起動したインスタンスのアプリケーション データ ボリュームは標準の Linux ext4 ファイルシステムであり、標準の Linux コマンド ライン ツールを使用してリサイズできます。

Bitbucket Server インスタンスでデータ ボリュームをリサイズする方法

  1. Stop the atlbitbucketatlbitbucket_search, and postgresql93 services.
  2. Unmount the /media/atl filesystem.
  3. リサイズするボリュームのスナップショットを作成します。
  4. EC2 インスタンスと同じアベイラビリティ ゾーンで、必要なサイズの新しいボリュームをスナップショットから作成します。
  5. Detach the old volume and attach the newly resized volume as /dev/sdf.
  6. Resize /dev/sdf using resize2fs, verify that its size has changed, and remount it on /media/atl
  7. Start the atlbitbucketatlbitbucket_search, and postgresql93 services.

For more information, see Expanding the Storage Space of an EBS Volume on LinuxExpanding a Linux Partition, and the Linux manual pages for resize2fs and related commands. 

インスタンス間での Bitbucket Server データ ボリュームの移動

ステージングおよび本番環境をセットアップする場合や、インスタンスを別のアベイラビリティ ゾーンに移動させる場合など、Bitbucket Server データを別のインスタンスに移動させる必要がある場合があります。 

Bitbucket Server データ ボリュームを別のインスタンスに動かすには、2 つのアプローチがあります。

  1. Bitbucket Server DIY Backup でデータ ボリュームのバックアップを作成し、新しいインスタンス上に復元します。このオプションについては、「AWS で Bitbucket Server DIY Backup を使用する」を参照してください。 
  2. 既存のデータ ボリュームのスナップショットを使用して、Atlassian Bitbucket Server AMI から新しいインスタンスを起動します。

    Bitbucket Server データ ボリュームは、元のバージョン以降の Bitbucket Server インスタンスにのみ移動できます。

既存の Bitbucket Server データ ボリュームを使用して Bitbucket Server AMI から新しいインスタンスを起動する方法

  1. Stop the atlbitbucketatlbitbucket_search, and postgresql93 services on your existing Bitbucket Server instance.
  2. Unmount the /media/atl filesystem.
  3. Create a snapshot of the Bitbucket Server data volume (the one attached to the instance as /dev/sdf).
  4. Once the snapshot generation has completed, launch a new instance from the Atlassian Bitbucket Server AMI as described in Launching Bitbucket Server in AWS manually. When adding storage, change the EBS volume device to /dev/sdf  as seen below and enter the id of the created snapshot.
  5. If the host name (private or public) that users use to reach your Bitbucket Server instance has changed as a result of moving availability zones (or as a result of stopping an instance and starting a new one) you will need to SSH in and run
    sudo /opt/atlassian/bin/atl-update-host-name.sh <newhostname>
    where <newhostname> is the new host name. 
  6. Bitbucket Server が再起動したら、新しいインスタンスを完全に使用できます。 
  7. If the host name has changed you should also update the JDBC URL configuration in the bitbucket.properties file (typically located in /var/atlassian/application-data/bitbucket/shared/), as well as Bitbucket Server's base URL in the administration screen to reflect this.

スケーリング (拡張および縮小)

To increase or decrease the number of cluster nodes

  1. AWS コンソールで [サービス] > [CloudFormation] に移動してスタックを選択し、[スタックの更新] をクリックします。
  2. クラスター ノードの最小数クラスター ノードの最大数パラメーターを、希望に応じて変更します。

オート スケーリング グループでこれを検出してパラメーターに変更を適用するには、数分かかる場合があります。

Unless you specify the same number for Minimum and Maximum number of cluster nodes, the Auto Scaling Group is allowed to launch new cluster nodes and terminate existing ones automatically to achieve the optimal desired number of nodes between these two limits. By default, this target number is determined by the following CloudWatch metrics:

  • オート スケーリング グループで 5 分間の平均 CPU 使用率が 60 % を上回った場合、ノードのターゲット数を 1 増やします (最大値まで)。
  • オート スケーリング グループで 30 分間の平均 CPU 使用率が 40 % を下回った場合、ノードのターゲット数を 1 減らします (最小値まで)。

スケーリング イベント間では、既定で 10 分間の "クールダウン" 期間も適用されます。詳細については、「メトリックに基づいたスケーリング」を参照してください。 

Note: Adding new cluster nodes, especially automatically in response to load spikes, is a great way to increase capacity of a cluster temporarily. Beyond a certain point,  adding very large numbers of cluster nodes will bring diminishing returns. In general, increasing the size of each node (i.e., "vertical" scaling) will be able to handle a greater sustained capacity than increasing the number of nodes (i.e., "horizontal" scaling), especially if the nodes themselves are small. See Recommendations for running Bitbucket in AWS for more information.

最終更新日 2019 年 6 月 7 日

この内容はお役に立ちましたか?

はい
いいえ
この記事についてのフィードバックを送信する
Powered by Confluence and Scroll Viewport.