aws
2023.11.12
ローカルPCからAWSにバックアップする方法

全体図
今回のアーキテクト図です。

s3の設定
まずs3の設定ですがバケットを作成したらアクセス制限をしましょう。
具体的な設定ですが、今回はアクセスすることができるユーザーを指定してそのユーザーのみ操作が行えるというバケットポリシーを設定します。バケットポリシーの設定に関しては以下の記事で紹介しています。
完全ガイド:AWS S3バケットポリシーでセキュリティを強化
アクセスキーとシークレットアクセスキーを発行する
今回のポイントはローカルPCからs3にアクセスする時にそのアクセスが指定したユーザーであるものだという証明が必要になります。
そこで必要となるのがアクセスキーとシークレットアクセスキーになります。アクセスキーは公開鍵として使用され、シークレットアクセスキーはアクセスキーに関連づけられた秘密鍵になります。発行したキーは漏洩がないように厳重に管理しましょう。具体的なキーの発行方法は以下の記事にまとめています。記事が削除されました。
- ローカルPCにAWS CLIをインストールする
- IAMユーザーのアクセスキーとシークレットアクセスキーをローカルPC内に記述
- IAMユーザーとしてs3にアクセスする
AWS CLI
順を追って説明していきます。
まず、AWS CLIというのはコマンドラインでAWSのサービスを操作できるサービスです。これによってローカルPCからAWSサービスへの操作が可能になるわけです。AWS CLIのインストールが終わったら、コマンドプロンプトで以下のコマンドを入力しましょう。
aws configure
ここでアクセスキーとシークレットアクセスキーを聞かれますので先ほど作成したものを入力しましょう。
s3にアクセス
これで準備がそろったので実際にs3にアクセスしていきましょう。
s3バケットと同期
まずはローカルPCのフォルダからs3に同期を行ってみましょう。
初めてs3に同期を行う場合はただのアップロードと同じだと思ってください。コマンドは以下の通りです。aws s3 sync /同期元のフォルダ s3://バケット名
もし、2回目以降同じフォルダに同期した場合は以下のようなイメージとなります。

s3からダウンロード
バックアップしたファイルやフォルダを復元したいときにダウンロードします。
ファイル単体をダウンロード
ファイル単体をダウンロードする場合は以下のようなコマンドを入力しましょう。
aws s3 cp s3://backetname/example/example.txt ダウンロード先
フォルダをダウンロード
フォルダごとダウンロードする場合は --recursiveをつけてダウンロードしましょう。
aws s3 cp s3://backetname/example ダウンロード先 --recursive
バッチ処理を行う
定期的にバックアップを行う場合、手動で行うよりバッチファイルを作成して定期的に実行させる方が確実です。
※ただし、バッチファイルを起動させるときはPCも起動させておかないといけないことに注意しましょう。
まとめ
以上で、AWSサービスへのバックアップとなります。
今回はバックアップをするという限定的なものとなりましたが、使い方はいくらでもあります。応用して便利に使ってみましょう。