ブログ
これまでに経験してきたプロジェクトで気になる技術の情報を紹介していきます。
AWS CLI のみで S3 にファイルをアップロードする方法
こんにちは!
今日は shell script のみで S3 にファイルをアップロードする方法を解説します!
§ Install AWS-CLI.
AWS CLI ver.2 の最新版をインストールします。
参照: https://docs.aws.amazon.com/ja_jp/cli/latest/userguide/install-cliv2-linux.html#cliv2-linux-install
x86 と ARM 版がありますが、
私は x86 版をインストールします。
皆さんはご自身の環境にあわせて選んでください。
$ curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip awscliv2.zip
sudo ./aws/install
/usr/local/bin/ にインストールされますので、
$ aws
で、 root ユーザーは
# /usr/local/bin/aws
で実行できます。
§ Add IAM user.
このブログで作成するスクリプトは S3 へアクセスしますので、
AWS のコンソールで IAM を開いて、
スクリプト用のユーザーを作成して、
S3 へのアクセスを許可します。
AWS コンソール IAM https://console.aws.amazon.com/iamv2/home#/home
「よくわからないけどとりあえず動かしたい!」
という場合は S3 への FullAccess でも設定しておけばとりあえず動きます。
§ AWS configure.
以下のコマンドで aws への access token 等を設定します。
$ aws configure --profile=任意の文字列
--profile を省略すると default になります。
--profile を設定すると、今後ずっと --profile で指定する必要があります。
root で動かしたい場合は root で configure しておいてください。
# /usr/local/bin/aws configure
§ Add S3 bucket
アップロード用のバケットを作成します。
「Create bucket」を押下し、テキトーに入力していくとできます。
誰でもアクセス可能な Public にしなければ取りあえず大丈夫です。
AWS コンソール S3 https://s3.console.aws.amazon.com/s3/home?region=ap-northeast-1
§ Upload to S3
コピーする場合
$ aws s3 cp /path/to/file.xxx s3://your-bucket-name
移動する場合
$ aws s3 mv /path/to/file.xxx s3://your-bucket-name
§ Create shell script and execute it.
一応他にもいろいろ処理があるかもしれないので、
shell script 化しておきます。
VIM エディタでファイルを作成します。
$ sudo vim upload.sh
VIM エディタで以下の内容を書いて保存します。
#!/bin/sh
/usr/local/bin/aws s3 mv $1 s3://your-bucket-name
スクリプト実行可能にします。
$ chown u+x upload.sh
引数にアップロードしたいファイルを渡して起動します。
$ ./upload.sh アップロードしたいファイル
これでアップロードされているはずです!
コメントはありません。