Amazon S3にGUI・CLIでファイルをアップロード・ダウンロードする方法

Amazon S3にファイルをアップロードする方法ブラウザ・CLIどちらもをまとめてみました。
2018.05.21

おはようございます、加藤です。
今回は、Amazon S3バケットにGUI(Amazonマネジメントコンソール)、CLI(AWS CLI)それぞれでファイルをアップロード・ダウンロードする方法をまとめてみました。

S3バケット作成

動作検証を行うために、プライベートなバケットを作成します。
バケット名は「sample-bucket-[任意文字列]」としました。

以降はデフォルトのまま進めるだけです。

GUI: Amazon マネジメントコンソール(AMC)からの操作

GUIを使った操作方法を説明します。

下記URLにアクセスして操作します。
S3 Management Console

アップロード

早速アップロードを試してみましょう。

ファイルをアップロードしたいバケット名をクリックする。

概要タブを選択し、アップロードをクリックする。

ファイルを追加をクリックする。

ファイルが追加されている事を確認して、アップロードをクリックする。

ファイルがアップロードされている事を確認する。

ダウンロード

次はダウンロードです。

ファイルをダウンロードしたいバケット名をクリックする。

ダウンロードしたいファイル名をクリックする。

ダウンロードをクリックする。

CLI: AWS CLIからの操作

AWS CLIのインストール

Windowsの場合

下記ブログを参考にしてください。

Windows Server への AWS CLIのインストール

Macの場合

下記ブログを参考にしてください。

【初心者向け】MacユーザがAWS CLIを最速で試す方法

Credentialファイルの設定

アクセスキー、シークレットアクセスキーをAWS 認証情報をCredentialファイルに記載します。
aws_mfa_device はMFAを使用していない場合は記載しません。

MFAは設定することをオススメします

OSによって配置場所が異なるので注意してください。

  • Windows
    • C:¥Users¥%username%¥.aws¥credentials
  • Mac
    • ~/.aws/credentials

CredentialFile

[default]
aws_access_key_id = AAAAAAAAAAAAAAAA1234
aws_secret_access_key = lkjlksjdlkfjaslkjJLKJLLKJsklajlkj1234lk23
aws_mfa_device = arn:aws:iam::1234567890123:mfa/yamada.taro

バケット一覧の確認

バケット一覧を確認します。

aws s3 ls
2018-05-21 19:09:53 sample-bucket-**********

アップロード

最初にアップロードしたいファイルが存在するディレクトリに移動します。

windows

cd C:¥Users¥%username%¥tmp¥

mac

cd ~/tmp/

ファイルをアップロードします。


aws s3 cp ./sampledata.txt s3://sample-bucket-**********/

フォルダを再帰的にアップロードします。


aws s3 cp ./sampledir s3://sample-bucket-**********/

ファイルがアップロードできたか確認します。

aws s3 ls s3://sample-bucket-**********/sampledata.txt

ダウンロード

最初にダウンロードファイルを保存したいディレクトリに移動します。

windows

cd C:¥Users¥%username%¥tmp¥

mac

cd ~/tmp/

ファイルをダウンロードします。

aws s3 cp s3://sample-bucket-**********/sampledata.txt ./

フォルダを再帰的にダウンロードします。

aws s3 cp s3://sample-bucket-**********/sampledir/ ./ --recursive

あとがき

S3は一度覚えてしまえば簡単に操作でき、ファイルの受け渡しやデータの保管場所として大変有用です。
また、99.999999999%というトンデモナイ耐久性の恩恵を受けることができます。(一般的にS3にアップロードすれば、それ以上の冗長化は不要)
とっつきやすいサービスなので、ぜひ触ってみてください!