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
Would_you_like_to_use_aws_cli
Search
37108
June 18, 2019
Technology
0
2.3k
Would_you_like_to_use_aws_cli
JAWS-UG 初心者支部#18 LT会! 資料
37108
June 18, 2019
Tweet
Share
More Decks by 37108
See All by 37108
boast frontend 2023/04/14
37108
0
24
Amazon API Gateway Study Workshop
37108
2
3.6M
AKIBA.AWS#14_Code_Series
37108
0
1.1k
about_the_history_of_RHCP
37108
0
87
Other Decks in Technology
See All in Technology
I could be Wrong!! - Learning from Agile Experts
kawaguti
PRO
8
2k
NOT VALIDな検査制約 / check constraint that is not valid
yahonda
1
110
.NET 9 のパフォーマンス改善
nenonaninu
0
2.2k
[トレノケ雲の会 mod.13] 3回目のre:Inventで気づいたこと -CloudOperationsを添えて-
shintaro_fukatsu
0
120
OPENLOGI Company Profile
hr01
0
57k
事業貢献を考えるための技術改善の目標設計と改善実績 / Targeted design of technical improvements to consider business contribution and improvement performance
oomatomo
0
400
AIエージェントに脈アリかどうかを分析させてみた
sonoda_mj
2
130
Unlearn Product Development - Unleashed Edition
lemiorhan
PRO
2
160
The key to VCP-VCF
mirie_sd
0
150
Amazon Q Developerで.NET Frameworkプロジェクトをモダナイズしてみた
kenichirokimura
1
110
20241218_マルチアカウント環境におけるIAM_Access_Analyzerによる権限管理.pdf
nrinetcom
PRO
3
150
AWSの生成AIサービス Amazon Bedrock入門!(2025年1月版)
minorun365
PRO
7
350
Featured
See All Featured
[RailsConf 2023] Rails as a piece of cake
palkan
53
5.1k
RailsConf 2023
tenderlove
29
960
A Tale of Four Properties
chriscoyier
157
23k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
29
940
Thoughts on Productivity
jonyablonski
68
4.4k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
120k
A Philosophy of Restraint
colly
203
16k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
27
1.5k
Visualization
eitanlees
146
15k
Optimising Largest Contentful Paint
csswizardry
33
3k
Adopting Sorbet at Scale
ufuk
74
9.1k
Building a Scalable Design System with Sketch
lauravandoore
460
33k
Transcript
AWS CLI はじめてみませんか...? JAWS-UG 初心者支部#18 18/06/2019
Attention • 写真撮影 : • 録画/録音 : • SNS :
• Slide :
Oku Takuya GitHub : 37108 About Me Twitter : _37108
speakerdeck: _37108
About Me Red Hot Chili Peppers が大好き
About Me 交流戦、ちょっと辛い by カープファン
話すこと 話さないこと • AWS CLIとは • コマンド一個 • CLIの始め方 •
CLIの仕組み • 便利Tips • 詳細な使い方 • ハンズオン
• AWS CLIとは • コマンド一個 • CLIの始め方 • CLIの仕組み •
便利Tips • 詳細な使い方 • ハンズオン 話すこと 話さないこと
Agenda • AWS CLIとは • IAM Userとは • AWS CLIのセットアップ
• AWS CLIの構成 • CLI Skeleton • 出力結果のフィルター • まとめ
Agenda • AWS CLIとは • IAM Userとは • AWS CLIのセットアップ
• AWS CLIの構成 • CLI Skeleton • 出力結果のフィルター • まとめ
AWSサービスを操作する統合ツールの1つ GitHubで開発されているOSS(aws/aws-cli) クロスプラットフォーム(Win/Mac/Linux) 多くのAWSサービスをサポート AWS CLI とは
コンソールを操作してて
あれこのリソース何?
なったことありません?
手順書を見て
ここパラメータ指定ないよ
EC2 複数台作るの...
SSのGUIなんか違う...
なったことありません?
コンソール操作だけだと
辛い時もあるし、
AWSは理解しきれない (個人の感想)
インスタンスプロファイルとは? ECSのクラスタを手動で組むには? Question
コンソールが良しなに やってくれるから
だけじゃダメ。
AWS CLI はじめてみませんか...?
CLI のメリット • なんとなくでないAPIレベルでの理解 • リソースの消し忘れを防げる • ロールバックも容易 • 資格の勉強にもなる
CLI のメリット(運用編) • ドキュメントが作りやすい • 反復作業が楽になる • オペミスが減る • 手順書の保守が比較的楽に
AWS CLI 使ってやる !!
の前に、
IAM User、理解しよう
Agenda • AWS CLIとは • IAM Userとは • AWS CLIのセットアップ
• AWS CLIの構成 • CLI Skeleton • 出力結果のフィルター • まとめ
IAM User とは
IAM User とは 認証を司るもの
IAM User とは 認証を司るもの
IAM User とは 認証を司るもの
認証 とは 誰であるかを 確認すること
認証 とは ex) 私が本人であることを示す
認証 とは ex) 私が本人であることを示す Connpassの画面を見せれば納得できる
IAM User とは 認証を司るもの ~仕切り直し~
IAM User とは 本人確認を司る ~仕切り直し~
IAM User とは コンソールログイン: ユーザ名とパスワードで認証 ~仕切り直し~ アクセスキー : アクセスキーと シークレットアクセスキー
の組み合わせで認証
IAM User とは ~仕切り直し~ CLIでの認証にはこれを使う コンソールログイン: ユーザ名とパスワードで認証 アクセスキー : アクセスキーと
シークレットアクセスキー の組み合わせで認証
認証はできたけど...
認可が下りない!!
例えに戻ると、
本人確認(認証)は できているけど 本当に登壇していい人か わかってない(権限不足)
権限の付与と 権限の確認が必要
IAM Policy とは 認可を司るもの
IAM User : 認証 IAM Policy: 認可
IAM User : 本人確認 IAM Policy: 権限管理
何となく CLIの準備がお分かりいただけましたか?
Agenda • AWS CLIとは • IAM Userとは • AWS CLIのセットアップ
• AWS CLIの構成 • CLI Skeleton • 出力結果のフィルター • まとめ
1. AWS CLIのインストール 2. コンソールへログイン 3. IAM Userの作成 4. $
aws configure AWS CLIの準備の流れ
1. AWS CLIのインストール 2. コンソールへログイン 3. IAM Userの作成 4. $
aws configure AWS CLIの準備の流れ
AWS CLIのインストール 公式のドキュメントに 各OSのインストール方法が載ってます。
AWS CLIのインストール例
1. AWS CLI のインストール 2. コンソールへログイン 3. IAM Userの作成 4.
$ aws configure AWS CLIの準備の流れ
コンソールへのログイン AWSマネジメントコンソールにログイン
1. AWS CLI のインストール 2. コンソールへログイン 3. IAM Userの作成 4.
$ aws configure AWS CLIの準備の流れ
IAM Userの作成 1
IAM Userの作成 2
IAM Userの作成 3
IAM Userの作成 4
IAM Userの作成 5
IAM Userの作成 6
IAM Userの作成 7
1. AWS CLI のインストール 2. コンソールへログイン 3. IAM Userの作成 4.
$ aws configure AWS CLIの準備の流れ
$ aws configure • AWS CLIのコマンドの1つ • ~/.aws/ 以下に認証情報をprofileとして作成 •
~/.aws/config : 設定ファイル • ~/.aws/credentials: 認証情報を保管
$ aws configure
$ aws configure
sts get-caller-identity
絶対覚えて欲しいコマンド
第一位 (個人の感想)
どのIAM Userか確認
sts get-caller-identity
作業前に必ず確認を!!
補足:クレデンシャルの無効/削除
補足:クレデンシャルの無効化
補足:クレデンシャルの削除
Agenda • AWS CLIとは • IAM Userとは • AWS CLIのセットアップ
• AWS CLIの構成 • CLI Skeleton • 出力結果のフィルター • まとめ
$ aws ec2 create-key-pair --key-name foo AWS CLI の構成 コマンド
サブコマンド オプション
$ aws ec2 create-key-pair --key-name foo AWS CLI の構成 コマンド
サブコマンド オプション • コマンド : 操作する対象
$ aws ec2 create-key-pair --key-name foo AWS CLI の構成 コマンド
サブコマンド オプション • コマンド : 操作する対象 • サブコマンド: 操作の内容
$ aws ec2 create-key-pair --key-name foo AWS CLI の構成 コマンド
サブコマンド オプション • コマンド : 操作する対象 • サブコマンド: 操作の内容 • オプション : 必要なパラメータとか
ec2 create-tags --tags Key=foo,Value … s3 mb s3://fooBucket cloudformation create-stack
elbv2 describe-listeners cloudformation describe-stacks ecs create-cluster --cluster-name hoge コマンド凡例
コマンド X サブコマンド
膨大な量覚えられない...
Help
$ aws help AWS CLI のhelp コマンド、サブコマンドレベルでのhelpが可能 使用できる、(サブ)コマンドの一覧が確認可能 lessでの内容の閲覧 必用なオプションもわかる
None
None
helpもTab補完も辛い?
便利なの、ありますよ
aws-shell GitHubで開発されているOSS(awslabs/aws-shell) インタラクティブにコマンドが打てる ドキュメントをすぐに見れる 実行履歴を保持してくれる ファジー検索してくれる時もある 一部コマンド、パイプラインに対応
None
サブコマンドをいい感じに表示
コマンドのドキュメントの表示
まだまだ機能はある
インストール方法 公式のドキュメントに 各OSのインストール方法が載ってます。
インストール方法例
コマンド、サブコマンド、オプションがあること 困ったらhelpで確認 より便利にしたかったらaws-shell 覚えておけばいいこと
Agenda • AWS CLIとは • IAM Userとは • AWS CLIのセットアップ
• AWS CLIの構成 • CLI Skeleton • 出力結果のフィルター • まとめ
None
オプション多い...
オプションをいい感じに まとめたい
CLI Skeleton パラメータをjson形式で受け取れる --generete-cli-skeleton でSkeletonの作成 --cli-input-json でパラメータの受け取り 殆どのコマンドでサポート
None
None
オプションがいい感じ
Agenda • AWS CLIとは • IAM Userとは • AWS CLIのセットアップ
• AWS CLIの構成 • CLI Skeleton • 出力結果のフィルター • まとめ
None
--query オプション JMESPath(クエリ言語)でのクエリによる絞り込み 殆どのコマンドでサポート $ aws ec2 describe-tags --query \
Tags[].Value
--filters オプション Name,Valueでの絞り込み 殆どのコマンドでサポート helpでどんなのがあるかを確認可能 $ aws ec2 describe-tags --filters
\ “Name=resource-type,Value=instance”
jq コマンド jsonの整形、加工、絞り込みに使える aws cliの組み込みコマンドではない $ cat foo.json | jq
.
これらを組み合わせると、
Amazon Linux2のAMI ID の取得をCLIでできたりする
None
Agenda • AWS CLIとは • IAM Userとは • AWS CLIのセットアップ
• AWS CLIの構成 • CLI Skeleton • 出力結果のフィルター • まとめ
AWS CLIでAWSへ対する理解を深められる AWS CLIで手順書の品質が上がり、運用が楽になる 困ったら、help skeletonでパラメータをjsonにまとめる query, filters, jqで適切な絞りこみ aws-shell
で快適な環境を実現する
登壇内容などDevelopers.IOにまとめてあります。 何かありましたら気軽にお声がけください。 おわりに