[Amazon Linux] awscli経由でs3にファイルをアップロードする
Amazon Linuxからデータを引っ越ししたかったが、いちいちFTPでローカルにダウンロードしてS3にアップロードするのはめんどくさかったので直接アップロードできるようにしてみた
目次
事前準備
ファイルのアップロードされる側のS3バケットの作成及び対象バケットへのアクセスポリシーを持ったIAMユーザを作成。
アクセスキーとシークレットアクセスキーの両方を控えておく
awscli のインストール
amazon linuxにはaws cliがインストールされていないので、pip経由でインストールする
pipのインストール
そもそもpipも入っていないのでインストール
sudo easy_install pip
pipからaws cliをインストール
sudo pip install awscli
aws cliの動作確認及びバージョン確認
aws --version
aws configureでアクセスキーなどを設定
aws configure --profile=[任意のプロファイル名]
AWS Access Key ID [None]: アクセスキーを入力 AWS Secret Access Key [None]: シークレットアクセスキーを入力 Default region name [None]: ap-northeast-1 Default output format [None]:
S3のバケット一覧出力してみる
aws s3 ls --profile=[先ほど設定したプロファイル名]
S3へファイルをコピー
aws s3 cp [アップロードしたいファイル] s3://[バケット名]/ --acl public-read --profile=[先ほど設定したプロファイル名]
コピーしたファイルの署名付きURLを取得
aws s3 presign s3://[バケット名]/[ファイル名] --profile=[先ほど設定したプロファイル名]