何でも屋エンジニアのブログ

ソフトウェア関連技術、コミュニティ、日々の雑貨

JAWS-UG CLI専門支部 #38に参加してきた。

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専門支部についての説明
  • 基本的なAWS CLIに関しての説明
  • S3に関しての説明
  • ハンズオン
  • 自己紹介&はまりどころ
  • 懇親会

メモ

  • CLI専門支部についての説明

    • 主催者の波田野さんがAWS SummitでCLIの専門支部を立ち上げる話をしたら引っ込みがつかなっくなったそうです笑
    • 当時はCLIを使用している人がかなり少なかったそうです。
  • Query(--query)

    • 出力結果から特定のノードを取り出すことができる
    • jqの代替 JAMES-Path表記
    • describe系のサブコマンドのfilterオプションで絞り込みをして、その結果からqueryオプションでノードを取り出す
  • 補完は以下で行えるようになる(bashの場合)

    • complete -C aws_completer
  • jsonlint

    • ヒアドキュメントでjson作るので壊れていないかチェックするために必要
  • CLIのupdate

    • 1.10.0にて(2016 1/21)acm(無料でssl証明書を作るサービス)追加
  • S3の説明

    • S3 はサービス名の頭文字がs3つだから
      • EC2の後がS3で、この後は「何4」がでてくるのかと期待していたそうです笑
    • オブジェクトストレージ(not ブロックストレージ)
    • 動的コンテンツがなければS3のみで完結できる
    • 動的コンテンツはcognitoとの併用で対応可
    • URLをつけないとファイル置き場、つけると外部から見える
    • URL自体をバケット名になるので、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
    • バージョンによる挙動の違い
      • S3のバケット名は大文字使用が非推奨ですが、CLIのバージョンによって(もしくはPythonのバージョンなど他の環境によって)バケット名に大文字を使用した際の挙動が異なっていました。サポートして頂いた方や私は大文字バケット名指定によりエラーが出ませんでしたが、隣の方はエラーが出ていたそうです。

感想

今回は初級者向けということで、ゆっくりと進めて頂いたため余裕を持って進めることができました。他の回ではかなり急いでいた記憶があるので対照的でした笑。 初級者歓迎を冠していない回だとCLIを触ったことのない方は敷居が高いかもしれませんが、主催者の方も懇親会でおっしゃっていたように「出席して実行した結果を持ち帰ってもらえば後で復習できる」ので、出席してとにかく手を動かしてみるのが良いと思います。資料もかなり充実しています。 勉強会&懇親会ともに非常に楽しかったです。主催者の方、参加者の方々ありがとうございました。

参考

JAWS-UG CLI専門支部 #38 - 初級者歓迎 復習編: S3 + 静的Webホスティング - JAWS-UG CLI専門支部 | Doorkeeper

[JAWS-UG CLI] S3:#1 ハイレベルS3コマンドを使ってみる (バケットの作成から静的Webホスティング、削除まで) - Qiita

[JAWS-UG CLI] S3:#2 ハイレベルS3コマンドで静的Webホスティング - Qiita

[JAWS-UG CLI] S3:#4 静的Webホスティングのバケットポリシー設定 - Qiita