DEV Community

kaede
kaede

Posted on

AWS S3 -- CLI で bucket の中身を全て DL する

why

AWS S3 は Web コンソールの GUI だと、
ファイルを一つ一つ DL することしかできない。

サイトの CSS などが膨大な場合、すべて手動だと
かなり時間がかかってしまう。

なので一つのバケットをまとめて DL する方法を調べた。


前提

S3 のディレクトリと IAM ユーザーは作ってあるものとする

アクセスキーの生成

https://docs.aws.amazon.com/cli/latest/userguide/getting-started-prereqs.html

この記事の通りに IAM の

左のリストメニューの Users
タブの一つの Security credentials
内部のボタンの Create access key

ここまで行くとモーダルが表示されるので

  • Access Key ID
  • Secret Access Key

これらを控える。


CLI アプリの DL

https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html

この記事を参考にして

Image description

インストーラーを DL

起動してインストール

which aws
/usr/local/bin/aws

aws --version
aws-cli/2.7.4 Python/3.9.11 Darwin/21.5.0 exe/x86_64 prompt/off
Enter fullscreen mode Exit fullscreen mode

ターミナルで調べてみると、無事に入っていることが確認できた。


AWS の認証情報を入力する

https://docs.aws.amazon.com/cli/latest/userguide/getting-started-quickstart.html

このクイックスタートの記事を参考にする

aws configure
AWS Access Key ID [None]: 
Enter fullscreen mode Exit fullscreen mode

aws configure コマンドを打つと
対話式で

  • アクセスキーID
  • シークレット アクセスキー
  • リージョン名
  • フォーマット端子

これらを求められるので入力する

前者 2 つは先ほど生成して
後者 2 つの
リージョンは ap-northeast-1
フォーマットは json
にする。

設定ファイルから読み込むこともできるらしい。


S3 のディレクトリを Clone する

https://blackbird-blog.com/aws-s3-cli-download

この blackbird-blog の記事を参考にする

Image description

S3 の bucket を選び、ディレクトリで Copy s3 URL ボタンをクリックすると

s3://bucketName/directoryName/

この構成で s3 URL がクリップボードにコピーされる

このバケット名まで使って

aws s3 cp {s3_URL} . --recursive
Enter fullscreen mode Exit fullscreen mode

これでバケットの中身を全て DL できる

aws s3 cp s3://workspace.name/ . --recursive

download: s3://workspace.name/assets/css/main.css to assets/css/main.css
download: s3://workspace.name/assets/css/header.css to assets/css/header.css
....
Enter fullscreen mode Exit fullscreen mode

このように、中身を全て DL できた!

Top comments (0)