対象とする人、前提
- S3から複数のファイルをダウンロードしたい人
- AWS CLIを今まで使ったことない人
事前準備
- AWSのアカウント
- ターミナル
- DLしたいS3バケット
手順1:IAMユーザーの作成〜アクセスキー取得
今までルートユーザーのみ使用しており、IAMユーザーを使ったことがない人はこの手順を行なう
https://docs.aws.amazon.com/ja_jp/cli/latest/userguide/getting-started-prereqs.html
手順2:CLIのインストール
以下のコマンドをターミナルに入力することで、カレントディレクトリに.pkg
がダウンロードされる
curl https://awscli.amazonaws.com/AWSCLIV2.pkg -o AWSCLIV2.pkg
カレントディレクトリにあるAWSCLIV2.pkg
をインストールする
sudo installer -pkg ./AWSCLIV2.pkg -target /
AWS CLIがインストールされたか確認
which aws
これでコマンドのパスが表示されるはず
手順3:AWS CLIにIAMユーザーを登録
以下をターミナルに入力。
aws configure
AWS Access Key ID
の入力を求められるため、手順1
で取得したアクセスキーを入力する。
次に、AWS Secret Access Key
の入力を求められるため同様に手順1
で取得したシークレットキーを入力する。
次に、Default region name
を求められるがおそらくリージョンはどこでもいい?(要調査)。僕はとりあえずap-northeast-1
にしました。
最後に、Default output format
はjson
を指定。
これでAWS CLIから自身のAWSにアクセスできるようになりました。
手順4:S3からファイルをダウンロードする
S3にアクセスできるか確認しましょう。以下のコマンドでバケット名が一覧で表示されるはずです。
aws s3 ls
s3から特定のファイルをカレントディレクトリにダウンロードしたいときには
aws s3 cp s3://<バケット名>/<フォルダ名>/<ファイル名> ./
を使います。
例えば、
aws s3 cp s3://your-backet/folder1/test.txt ./
といった感じです。
フォルダごとカレントディレクトリにダウンロードしたいときには
aws s3 cp s3://<バケット名>/<フォルダ名> ./ --recursive
でフォルダ内のファイルを一括で可能です。
以上です。お疲れ様でした。