Using Bitbucket DIY Backup in AWS
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 ツールセットを構成するその他の方法については、ドキュメントを参照してください。