AWS で Bitbucket Server DIY Backup を使用する

このページでは、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 ツールセットを使用します。

BitbucketServer.template または BitbucketDataCenter.template 経由で Bitbucket インスタンスを起動した場合、EC2 ノードはすでに IAM ロールに所属していて、EBS ボリュームおよび / あるいは RDS インスタンスのバックアップおよび復元に必要な権限を付与するポリシーが適用されています。AWS での Bitbucket インスタンスの起動にこれらの CloudFormation テンプレートを使用しなかった場合、以下の「インスタンス ロールのセット アップ」セクションで、同様の権限を持つサンプル ポリシーをご確認ください。

このページの内容

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 Server のゼロダウンタイム バックアップを使用する」を参照してください。

インスタンス ロールのセットアップ

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

最終更新日: 2016 年 9 月 11 日

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

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