AWS CLI は AWS の各サービスをコマンドラインから使えるツールだ。Amazon S3 をデータのバックアップ用に使おうと思って試してみた。
インストールと設定
AWS の Web ページからダウンロードする。↓のページから。
ダウンロードした awscliv2.zip を解凍する。
takatoh@apostrophe:~$ unzip awscliv2.zip
できた aws ディレクトリにあるインストールスクリプトを実行。
takatoh@apostrophe:~$ sudo aws/install You can now run: /usr/local/bin/aws --version
メッセージにあるとおりコマンド名は aws
だ。バージョンを確認してみよう。
takatoh@apostrophe:~$ aws --version aws-cli/2.4.4 Python/3.8.8 Linux/5.4.0-91-generic exe/x86_64.ubuntu.20 prompt/off
続いて設定。aws configure
コマンドを実行。
takatoh@apostrophe:~$ aws configure AWS Access Key ID [None]: XXXXXXXXXXXXXXXXXXXX AWS Secret Access Key [None]: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Default region name [None]: us-west-2 Default output format [None]: json
AWS Access Key ID と AWS Secret Access Key はあらかじめ取得しておくこと。
S3にファイルをアップロード
aws s3 cp
コマンドを利用する。今回はテスト用の panicblanket-test というバケットにファイルをアップロードする。
takatoh@apostrophe:~$ aws s3 cp sample.zip s3://panicblanket-test/sample.zip
ディレクトリごとアップロードするには aws s3 sync
コマンドが便利。バックアップ用途にはこちらがいいだろう。
takatoh@apostrophe:~$ aws s3 sync sample s3://panicblanket-test/sample upload: sample/sample-1.zip to s3://panicblanket-test/sample/sample-1.zip upload: sample/sample-2.zip to s3://panicblanket-test/sample/sample-2.zip
sample ディレクトリにあった2つのファイルがアップロードされた。
あとはシェルスクリプトを書いて定期的に事項するようにしておけば良さそうだ。