Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
AWSをCLIで理解したい! / I want to understand AWS usin...
Search
める
March 01, 2026
Technology
1.3k
2
Share
AWSをCLIで理解したい! / I want to understand AWS using the CLI
2026/02/28 JAWS-UG 名古屋 2月回でのLT内容です。
める
March 01, 2026
More Decks by める
See All by める
AWS ドキュメントをあるいてみた / Walk on AWS documents
mel_27
0
210
Amazon FSx for ONTAPを 試してみた / Try Amazon FSx for ONTAP
mel_27
0
920
AWS Directory ServiceとFSxをCLIでさわってみた / AWS Directry Service and FSx for Windows Server
mel_27
0
600
Other Decks in Technology
See All in Technology
GitHub Actions侵害 — 相次ぐ事例を振り返り、次なる脅威に備える
flatt_security
13
7.6k
OPENLOGI Company Profile
hr01
0
83k
ADOTで始めるサーバレスアーキテクチャのオブザーバビリティ
alchemy1115
2
180
推し活エージェント
yuntan_t
1
840
Babylon.js Japan Activities (2026/4)
limes2018
0
180
Oracle Cloud Infrastructure(OCI):Onboarding Session(はじめてのOCI/Oracle Supportご利⽤ガイド)
oracle4engineer
PRO
2
17k
Databricks Appsで実現する社内向けAIアプリ開発の効率化
r_miura
0
320
Microsoft Fabricで考える非構造データのAI活用
ryomaru0825
0
680
【PHPカンファレンス小田原2026】Webアプリケーションエンジニアにも知ってほしい オブザーバビリティ の本質
fendo181
0
220
Databricks Lakebaseを用いたAIエージェント連携
daiki_akimoto_nttd
0
150
Even G2 クイックスタートガイド(日本語版)
vrshinobi1
0
210
AI前提とはどういうことか
daisuketakeda
0
120
Featured
See All Featured
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.8k
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
510
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
120
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
150
Designing for Timeless Needs
cassininazir
0
190
A designer walks into a library…
pauljervisheath
211
24k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4k
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
250
[SF Ruby Conf 2025] Rails X
palkan
2
920
YesSQL, Process and Tooling at Scale
rocio
174
15k
Designing for Performance
lara
611
70k
Transcript
AWSをCLIで理解したい! める(@mel________27) 2026/02/28 JAWS-UG 名古屋
Who am I? 名前:める(@mel________27) 所属:三重県の某SIer 入社に伴って三重県へ来たので、三重県民は12年目 業務:インフラエンジニア 好きなサービス:AWS Cloud9、AWS CloudShell、AWS
IAM
はじめての…… 実は、はじめてのJAWS-UG参加、名古屋支部でした!!!(調べたところ、2018年) 本日、はじめてオフラインでのLTです!
AWSをCLIで理解したい! なぜCLIか? ・手順を作成する場合、GUIの変更を考慮しなくてよい ・GUIだとある程度何となくでも操作できる& バックグラウンドで自動で作成してくれるリソースもある →いざトラブルがあったときに、なんとなく作ったリソースで、対応できるのか? 、、、というのはある程度建前で、AWSを学ぼうと(ちゃんと)し始めた当初 JAWS-UG CLI専門支部のハンズオンに出会ったことによる (そもそも、業務でLinuxサーバはさわるため、bashとの親和性はあったかも)
やったこと① 「Amazon Web Services基礎からのネットワーク&サーバー構築」の書籍を ひととおり操作のうえで、コマンドでの動作に書き直した
やったこと② Network Firewallを構築するにあたり、下記の手順をCLI化して、そのまま業務活用 https://github.com/harunobukameda/AWS-Network-Firewall
やったこと③ Transit Gatewayを理解するために手順をCLI化し、これも一部業務活用 https://catalog.us-east-1.prod.workshops.aws/workshops/e0d1c19d-c80b-4695-a3fc- 5c4a25132f47/ja-JP/
業務での活用① 実際の構築作業・設定変更などの運用作業について、CLIで手順化したうえで実行。 ・Direct Connectの設定 ・Transit Gatewayの設定/Recource Access Managerでの共有 ・Site-To-Site VPNの設定
・Route 53 Resolverの設定 ・EC2の作業 ・IMDSのv1→v2への変更 ・終了保護の一括設定 ・IAMロールの作成
業務での活用② 作業手順の提供・フォローの依頼があった場合、CLIでの手順を提供して実行してもらう →GUIのアップデートに追随しなくていい ※ただし、作業対象者が最低限AWS CLIの実行環境を整備できることが前提。 このため作業対象者によっては、GUIベースでの手順を展開することもある。 (CloudShellがあればCloudShellでよいが、CloudShellが使えない環境があるので)
業務での活用③ トラブルシュート対応 指定のルートが追加されているか確認してほしい時、下記のコマンドの実行結果を提示依頼 # aws ec2 describe-subnets ¥ --filters Name=vpc-id,Values=${VPC_ID}
--query "Subnets[].SubnetId" --output text | while read subnetid do for subnet in `echo ${subnetid}`; ¥ do ¥ routetableid=$( aws ec2 describe-route-tables ¥ --filters Name=association.subnet-id,Values=${subnet} ¥ --query "RouteTables[].RouteTableId" --output text ¥ ) && echo ${routetableid} && aws ec2 describe-route-tables ¥ --filters Name=vpc-id,Values=${VPC_ID} Name=route-table-id,Values=${routetableid} ¥ --query "RouteTables[].Routes[?DestinationCidrBlock == ¥`${ADD_ROUTE_CIDR}¥`]" ¥ ; ¥ done done
サービス理解にあたりよかったこと 画面での操作以上にドキュメントを読み込むので、理解が深まる(気がする) 特にIAM周りは、はじめたての頃にめちゃくちゃ詰まった 初学者のタイミングでしっかり詰まって解決の過程で理解につながったのがよかった IAMポリシー、IAMロール、信頼ポリシー(信頼されたエンティティ)、 インスタンスプロファイル など
業務利用にあたってよかったこと 類似の操作をたくさんしたいときに楽ができる(forやwhileでくりかえす) 事前に変数を設定したCLIスクリプトを作成しておくことで 作業時の入力ミスやオプションの指定ミスを防げる VPC IDやインスタンス IDが設定に必要な場合、タグ名から値を取得することで選択誤りが減る 作業ログをテキストで残せる(GUIのハードコピーを取らなくていい) オプションの設定意図がわかる&きかれてもある程度答えることができる 必要な権限が作業コマンドと紐づくので、作業にかかる最小権限のロール作成を目指せる
やっていてつらいこと オプションの形式によって、うまく指定できないことがある(入れ子になっているときなど) サービスによってはfilterオプションがあるようなものもあるが、 当該オプションがなく、JMASPATHのクエリで何とかするしかないものもある サービスによって、作成済みリソースのARNをオプションに指定する必要があるものの コマンドの出力結果には出てこないものもある(どうして……) →ARNの形式を読み解き、固定文字列とIDなどを組み合わせる形で設定 画面での構築より、(一回だけ、などであれば)めちゃ時間はかかる
CLI vs IaC 業務利用にかかり、CloudFormationやCDKを利用するにかかる学習コスト → 現時点での作業要員(自分含む)としてはbashの方が適性が高い とはいえ、構築頻度の高いものは、Yamlで作成することもある CDKまではまだハードルが高い 上記に関連し、IaCで作成したリソースをメンテナンスするコスト →何をどこで設定しているかわからず、結局使い捨てになる
Replacementが発生するかどうかの判断 CLIのスクリプトも、できるだけリソース単位で作成する →少し面倒だが、他への応用が利く(変数だけ変えて部分的に使う、など)
今後の展望 オプションの指定方法は模索中 →事前にすべてJSONに出力しておいて、ログとセットでJSONを保存しておく……? 作業準備の手間は増えるが、実際の変更・構築作業の短縮 →最近はJAWS-UG CLI専門支部では変数設定をテキスト化しておく手順になっているので その方がいいのかも? あとからの視認性も含めて検討したい スクリプトの作成の効率化 →現状Markdownファイルに書いているが、もう少し効率化したい
(CLI専門支部ではSphinxで手順の作成を自動化しているようなので、 そのような形が理想。実行時に扱いやすい形は?)
まとめ AWS CLIはいいぞ! 遠回りかもしれないが、小手先のものでない深い理解をしていきたい