#はじめに
S3をマネジメントコンソール画面で作ることはできるが、CLIで操作して作成したことがないため、今回挑戦してみた。
#手順
AWS CLIの確認
AWS CLIがインストールされているか下記のコマンドで確認。aws --version
S3の権限設定
IAM>ロール>権限を設定したいロールをクリック。 「ポリシーをアタッチします」ボタンを押す。 ポリシーのフィルタでs3と入力し、「AmazonFullAccess」を選択。ポリシーのアタッチを押す。 アタッチされました、と表示される。デフォルトリージョンを設定
$ aws configure
AWS Access Key ID [None]:
AWS Secret Access Key [None]:
Default region name [None]: ap-northeast-1
Default output format [None]: json
「AWS Access Key ID [None]:」と「AWS Secret Access Key [None]:」には何も指定しない。
S3バケットを作成
``` $ aws mb s3://hoge ※hogeの部分は重複負荷なので、一意になるようにする。 $aws s3 ls ※バゲットが作成できたか確認。 ``` マネジメントコンソールでも確認できる。S3バケットにファイルをアップロード
インターネット上で任意の画像をアップロードする。 Chromeブラウザの場合は画像を右クリックして、「画像アドレスをコピー」を選択。 作業をするためのworkディレクトリをホームディレクトリに作成。 workディレクトリにwgetコマンドで画像アドレスを引数に指定して、ダウンロード。$ mkdir ~/work
$ cd ~/work
$ wget https://hogehoge/hogehoge.png
s3 lsコマンドをバケットを指定して、実行。画像があるか確認する。
$ aws s3 ls s3://hoge
マネジメントコンソールでも画像があるか確認可能。
下記コマンドでCLIからパブリックなアクセス権限を設定。
$ aws s3api put-object-acl --acl public-read --bucket ファイル名 --key 画像名(hoge.png)
アクセスコントロールリストで許可設定があるか確認する。
$ aws s3api get-object-acl --bucket ファイル名 --key 画像名(hoge.png)
マネジメントコンソールでオブジェクトURLをクリックして、画像が開けるか確認。
上記のような手順を踏むと、画像が表示される。
もしオブジェクトURLを押しても「AccessDenied」となって画像が表示されなかったら、該当オブジェクトの概要の「公開する」ボタンをおせば、表示される。
参考
AWSではじめるLinux入門ガイド