AWS
S3
aws-cli

はじめてのAWS ~S3にファイルアップロード~

これまでAzure VM上で画像分類をしてみたのですが、何も知らないわたしは当然のごとく学習に使う画像をVM上に保存してました。
普通はストレージサービスに保存するよ!と言われたので、さっそくS3を使ってみます。

S3新しいバケットの作成

+バケットを作成するをクリックします
スクリーンショット 2018-04-08 16.18.37.png

名前とリージョンを決めます
スクリーンショット 2018-04-08 16.19.23.png

プロパティの設定をした後、アクセス許可の設定をします。
azureVMからアクセスしたいので、パブリックアクセス許可にします。
スクリーンショット 2018-04-08 16.20.21.png

これで進めていくと、バケットの作成ができました。

ファイルのアップロード

ファイルのアップロードは、
①コンソール画面からのアップロード
②CLI(Command Line Interface)を使ってコマンドからのアップロード
の方法ができるみたいです。

①コンソール画面からアップロードしてみる

+アップロードをクリック
スクリーンショット 2018-04-08 16.29.40.png

ファイルを追加してアップロード
スクリーンショット 2018-04-08 16.35.34.png

追加したファイルは、ファイルを開いたり、ダウンロードできます。
スクリーンショット 2018-04-08 16.44.54.png

②CLIで画像をアップロードしてみる

AWS CLIをインストールします
$ sudo pip install awscli

バージョンを確認してみます

$ aws --version
aws-cli/1.15.2 Python/3.6.0 Darwin/17.4.0 botocore/1.10.2

CLIがAWSとやりとりする際に必要な認証情報を設定します。
まず、IAMコンソールからアクセスキーを取得します。

左側ナビメニューのユーザーを選択し、「ユーザーを追加」をクリック
スクリーンショット 2018-04-08 19.36.03.png

ユーザー名を入れて、アクセスの種類を選択
スクリーンショット 2018-04-08 19.37.37.png

S3FullAccess権限を設定する
スクリーンショット 2018-04-08 19.38.58.png
本当はちゃんとポリシー設定した方がいいそうです(汗)

アクセスIDとシークレットアクセスキーが取得できました
スクリーンショット 2018-04-08 19.40.27.png

それでは早速、取得したアクセスIDを設定します

$ aws configure --profile= ユーザー名
AWS Access Key ID [None]: アクセスID
AWS Secret Access Key [None]: シークレットアクセスキー
Default region name [None]: ap-northeast-1
Default output format [None]: json

region:「ap-northeast-1」がtokyoリージョン
output format:"text","JSON","table"のどれかを指定

ようやく画像のアップロードです

$ aws s3 cp <ファイルpath> s3://<バケット名>/ --acl public-read --profile=<IAMコンソールで作ったユーザー名>

コンソール画面から無事アップロードされたことが確認できました。ぱちぱち。