JAWS-UG CLI専門支部 #38 - 初級者歓迎 復習編: S3 + 静的Webホスティングに参加してきました。
JAWS-UG CLIの勉強会に参加しました。 jawsug-cli.doorkeeper.jp
JAWS-UG CLI専門支部とは
JAWS-UG CLI専門支部とは、AWS CLIの勉強会で、AWSのサービスをマネジメントコンソールからではなくCLIを使用して扱うことに特化した勉強会やイベントを開催している組織です。これまで3度ほど参加させて頂いていたのですが、「初級者歓迎」の回に参加するのは初めてでした。
流れ
メモ
CLI専門支部についての説明
Query(--query)
- 出力結果から特定のノードを取り出すことができる
- jqの代替 JAMES-Path表記
- describe系のサブコマンドのfilterオプションで絞り込みをして、その結果からqueryオプションでノードを取り出す
補完は以下で行えるようになる(bashの場合)
complete -C aws_completer
jsonlint
- ヒアドキュメントでjson作るので壊れていないかチェックするために必要
CLIのupdate
S3の説明
- S3 はサービス名の頭文字がs3つだから
- EC2の後がS3で、この後は「何4」がでてくるのかと期待していたそうです笑
- オブジェクトストレージ(not ブロックストレージ)
- 動的コンテンツがなければS3のみで完結できる
- 動的コンテンツはcognitoとの併用で対応可
- URLをつけないとファイル置き場、つけると外部から見える
- URL自体をバケット名になるので、S3全体でバケット名はユニークである必要がある
- オブジェクトは最小単位、内部的にフラットだが、名前で擬似的に階層構造を表現できる
- S3 はサービス名の頭文字がs3つだから
cli s3コマンドの説明
- ハイレベルS3コマンドはデフォルト出力がテキスト形式なので注意
その他メモ
- cognitoと組み合わせて動的サイトも作成可能(cognitoでjsが動く)
- webサイトホスティングでは、最初にあげたファイルにのみアクセス許可が与えられている(ファイルごとに許可与える)ので、バケット自体に権限を与える処理が必要。ポリシーを自分で与える必要がある( 以下の2.*で設定http://qiita.com/tcsh/items/dd99e9f7ced6406f8818)
- コマンドの成功or失敗に関しては画面に何も出力がないことを確認するか
echo $?
をする必要がある。基本的に何も出力されなければ成功と思って良い。 - webサイトホスティングの際に、例えばindexページなどを認識させるためには以下のコマンドを実行する(参考の[JAWS-UG CLI] S3:#2 ハイレベルS3コマンドで静的Webホスティングより抜粋)
aws s3 website "s3://${S3_BUCKET_NAME}" \ --index-document index.html \ --error-document error.html
- バージョンによる挙動の違い
感想
今回は初級者向けということで、ゆっくりと進めて頂いたため余裕を持って進めることができました。他の回ではかなり急いでいた記憶があるので対照的でした笑。 初級者歓迎を冠していない回だとCLIを触ったことのない方は敷居が高いかもしれませんが、主催者の方も懇親会でおっしゃっていたように「出席して実行した結果を持ち帰ってもらえば後で復習できる」ので、出席してとにかく手を動かしてみるのが良いと思います。資料もかなり充実しています。 勉強会&懇親会ともに非常に楽しかったです。主催者の方、参加者の方々ありがとうございました。
参考
JAWS-UG CLI専門支部 #38 - 初級者歓迎 復習編: S3 + 静的Webホスティング - JAWS-UG CLI専門支部 | Doorkeeper
[JAWS-UG CLI] S3:#1 ハイレベルS3コマンドを使ってみる (バケットの作成から静的Webホスティング、削除まで) - Qiita