succi0303 blog

This is my personal blog. All posts are my own.

JAWS-UG CLI専門支部 #136 【初心者歓迎】この夏からはじめよう! AWS CLI

2019年8月26日開催の「JAWS-UG CLI専門支部 #136 【初心者歓迎】この夏からはじめよう! AWS CLI」に参加しました。

JAWS-UG系の勉強会は3回目。CLI専門支部は今回が初参加です。

印象に残った点をまとめておきます。

全体の流れ

参加者は30名弱。前半はAWS CLIの入門講義。後半にS3を対象に簡単なCLI操作のハンズオンを実施しました。

JAWS-UG CLI専門支部について

  • 今年で6年目。開催数は100回以上。
  • CLI専門支部をきっかけにクラウド転職した人多数。
  • 運用ドキュメントにこだわりあり。自動化は質の高いドキュメントの存在が前提。日本のドキュメント文化の問題点など。それらの問題意識を反映して、ハンズオンの手順書も非常にこだわって作成されていました。

CLIを推奨する理由

  • AWSの実態はAPIの集合体である。すなわち、AWSを理解する=AWSAPIを理解すること。
  • AWS認定試験について。CLIを理解している人は認定試験にも強い。理解の深さが違う。
  • マネジメントコンソールは、なんとなく理解でもできてしまう。
  • CLIを使えば、APIレベルで機能を理解できる。知見が確実に積み上がる。
  • CLIは変更差異が確実にわかるのでUndoできる。
  • CloudFormationが対応しているサービスはCLIの半分以下。

AWS CLIの基礎知識

コマンドの種類

  • ハイレベルコマンドとAPIコマンド
  • ハイレベルコマンドはS3のみ。UNIXライクなパラメータで操作。
  • APIコマンドは全サービス対応。UNIXライクなパラメータとJSONインプット対応。
  • メインはAPIコマンドのUNIXライク操作。CloudFrontとACLJSONインプット。

公式リファレンス

  • 何はともあれ公式リファレンス。
  • create系のコマンドを眺めるとできることの全体像がわかる。
  • CLIリファレンスで分からないことはAPIリファレンスを見ると良い。
  • AWSの情報は全て公開されている。誰でも学べる。
  • 勉強する人は報われるのがAWSの良いところ。

補完機能

  • complete -C was completer aws
  • コマンド、サブコマンド、パラメータをタブ補完できる。
  • とりあえずタブ補完してコマンド、パラメータを確認する。
  • 分からないコマンド、オプションをリファレンスで確認。
  • 学習効果が高い。

JSONの加工

  • jqは使わない。JAMESPathがおすすめ。
  • describe系で--filterオプションがあれば、先にそちらでフィルタすることがベストプラクティス。APIのレスポンス時点で絞ってくれる。AWS側の負荷が下がるので公式も勧めているらしい。

ハンズオン

S3のバケット作成からファイル操作、ウェブサイトホスティング、署名付きURL発行など一連の操作のハンズオンを実施しました。

次回開催予定

次回のCLI専門支部は2019年9月16日。VPC & EC2をテーマに実施予定とのこと。

感想

AWSを理解する一つの切り口をもらったと感じました。

CLIを切り口にAWSAPIの集合体として理解する、CLIで操作できればその機能は理解したと言える、CLIおよびAPIの仕様はすべて公式リファレンスに公開されている。ということで、学び方も明確であるし、応用範囲が広いであろう点にも共感しました。

最後に参加者一人ずつ簡単な自己紹介をしました。「今の業務ではAWSを使っていないけど勉強したいと思って」という人が結構いるのだなと印象に残りました。

CLIで就職したい。