はじめに
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入門ガイド