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を理解する=AWSのAPIを理解すること。
- AWS認定試験について。CLIを理解している人は認定試験にも強い。理解の深さが違う。
- マネジメントコンソールは、なんとなく理解でもできてしまう。
- CLIを使えば、APIレベルで機能を理解できる。知見が確実に積み上がる。
- CLIは変更差異が確実にわかるのでUndoできる。
- CloudFormationが対応しているサービスはCLIの半分以下。
AWS CLIの基礎知識
コマンドの種類
- ハイレベルコマンドとAPIコマンド
- ハイレベルコマンドはS3のみ。UNIXライクなパラメータで操作。
- APIコマンドは全サービス対応。UNIXライクなパラメータとJSONインプット対応。
- メインはAPIコマンドのUNIXライク操作。CloudFrontとACLはJSONインプット。
公式リファレンス
- 何はともあれ公式リファレンス。
- 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を切り口にAWSをAPIの集合体として理解する、CLIで操作できればその機能は理解したと言える、CLIおよびAPIの仕様はすべて公式リファレンスに公開されている。ということで、学び方も明確であるし、応用範囲が広いであろう点にも共感しました。
最後に参加者一人ずつ簡単な自己紹介をしました。「今の業務ではAWSを使っていないけど勉強したいと思って」という人が結構いるのだなと印象に残りました。
CLIで就職したい。