AWS で Bitbucket Server DIY Backup を使用する
The AWS Quick Start template as a method of deployment is nearing its end-of-support date on Feb 29, 2024. You can still use the template after this date but we won't maintain or update it.
We recommend deploying your Data Center products on a Kubernetes cluster using our Helm charts for a more efficient and robust infrastructure and operational setup. Learn more about deploying on Kubernetes
このページでは、Amazon Web Services (AWS) 環境にデプロイした Bitbucket Data Center の DIY Backup と Restore を実行する際の考慮事項について説明します。
AWS 用 Bitbucket Server DIY Backup について
Bitbucket Server DIY Backup ツールは、Amazon Elastic Block Store (EBS) ボリュームおよび / あるいは Amazon Relational Database Service (RDS) インスタンスにデプロイされた Bitbucket インタンスのバックアップおよび復元を完全にサポートします。
ツールは、Bitbucket のデータベースおよび共有ホーム ディレクトリ ボリュームの EBS および / あるいは RDS スナップショットを取得することで機能します。これらのスナップショットを後で新しい EBS ボリュームおよび / あるいは RDS インスタンスとして起動し、実行中のインスタンスに関連付けて、Bitbucket を特定の時点に復元できます。
Bitbucket Server DIY Backup でネイティブの Amazon EBS および RDS サポートを使用することのメリットは、次のとおりです。
- AWS のネイティブ システムのスナップショット取得は、ファイルシステム レベルでのコピーよりも高速である
- バックアップ関連のダウンタイムを軽減できる
- スナップショットは S3 の冗長性と耐久性によって保存される
- 将来、インスタンスを別のリージョンまたはアベイラビリティ ゾーンに再配置しやすくなる
スクリプトは、AMI から起動されたすべてのインスタンス (起動方法は問わない) に含まれる AWS CLI ツールセットを使用します。
If you launched your Bitbucket instance via BitbucketServer.template or BitbucketDataCenter.template, your EC2 node(s) should already belong to an IAM role with a policy granting the permissions required to backup and restore the EBS volume and/or RDS instance. If you did not launch your Bitbucket instance in AWS via one of these CloudFormation templates, then see the Setting up the instance role section below for an example policy with similar permissions.
AWS で Bitbucket Server DIY Baclup を構成する
Bitbucket インスタンスを BitbucketServer.template または BitbucketDataCenter.template 経由で起動した場合は、Bitbucket Server DIY Backup ツールのコピーがインスタンスにあらかじめインストールされ、事前設定されています。インスタンス (Bitbucket Data Center の場合は共有ファイル サーバー ノード) に SSH 接続して以下を実行します。
cd /opt/atlassian/bitbucket-diy-backup
git pull
./bitbucket.diy-backup.sh
AWS で Bitbucket インスタンスを手動で起動した場合、Bitbucket Server DIY Baclup リポジトリのクローンを作成し、変数を手動で構成する必要があります。
git clone git@bitbucket.org:atlassianlabs/atlassian-bitbucket-diy-backup.git
cd atlassian-bitbucket-diy-backup
cp -i bitbucket.diy-backup.vars.sh.example-aws bitbucket.diy-backup.vars.sh
次に、bitbucket.diy-backup.vars.sh
を環境に合わせて編集します。
bitbucket.diy-backup.vars.sh を正しく構成したら、以下のように入力してバックアップを実行できます。
./bitbucket.diy-backup.sh
詳細については、「Bitbucket のゼロ ダウンタイム バックアップ」を参照してください。
インスタンス ロールのセットアップ
DIY バックアップおよび復元スクリプトは AWS CLI ツールセットを使用して作業を実行します。リソース (EBS ボリューム、スナップショットなど) へのアクセス権を取得するため、これらのツールセットを AWS で認証する必要があります。インスタンスに資格情報を提供するために推奨される方法は、適切なポリシーが添付されたインスタンス ロールを使用して起動することです。Bitbucket Server CloudFormation テンプレートを使用している場合、このテンプレートはユーザーのためにポリシーを作成し、起動時にインスタンスに添付します。
独自のポリシーを作成する必要がある場合、インスタンスに必要な最小権限の例として次の JSON オブジェクトを使用できます。
{
"Statement": [
{
"Resource": [
"*"
],
"Action": [
"ec2:AttachVolume",
"ec2:CreateSnapshot",
"ec2:CreateTags",
"ec2:CreateVolume",
"ec2:DescribeSnapshots",
"ec2:DescribeVolumes",
"ec2:DetachVolume"
],
"Effect": "Allow"
}
],
"Version": "2012-10-17"
}
AWS CLI ツールセットを構成するその他の方法については、ドキュメントを参照してください。