はじめに
数TBのサーバデータをクラウドへバックアップする必要性が出てきて、なるべくバッチとかタスクとか使って自動でやりたいと思ったのが事の始まりです。AWSのCLIを使うとめちゃくちゃ簡単に実現できたので、今回ご紹介します。
AWS CLIのインストール
まず、下記からAWS CLIをダウンロードして、インストールします。
AWS CLI
すべてそのままNEXTで進んでいけばOKです!
初期設定
コマンドプロンプトを起動し、下記のコマンドを打ちます。
(IAMユーザのアクセスキーとシークレットアクセスキーは事前に作成しておいてください。作成方法はここでは割愛します。)
>aws configure
AWS Access Key ID [None]: *****
AWS Secret Access Key [None]: *****
Default region name [None]: ap-northeast-1(東京リージョンの場合)
Default output format [None]: json
これでAWS CLIにIAMユーザーが紐づきました。
バッチファイル作成
次に、バッチファイルを作成します。バッチファイルの中身はたった1行だけでOKです。
aws s3 sync "バックアップ元のフォルダパス" s3://バックアップ先のバケット名 --delete
※syncと--deleteオプションをつけると、バックアップ元で削除されたデータは、バケットからも削除されます。完全に同期されるようなイメージです。
あとはタスクスケジューラで上記バッチが定期的に実行されるようにタスクを作成するだけです。
おわりに
気になる料金ですが、S3→外方向は課金されるが、外→S3方向は課金されないと、どこかの記事で見かけたのですが、実際どうなのかは確認してみないことにはわかりません。請求が確定したら当記事を更新しようと思います。