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.4k
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
88
Other Decks in Technology
See All in Technology
APIファーストで実現する運用性の高い IoT プラットフォーム: SORACOMのアプローチ
soracom
PRO
0
240
まだ間に合う! エンジニアのための生成AIアプリ開発入門 on AWS
minorun365
PRO
4
580
現場の種を事業の芽にする - エンジニア主導のイノベーションを事業戦略に装着する方法 -
kzkmaeda
2
1.5k
AndroidXR 開発ツールごとの できることできないこと
donabe3
0
110
マルチモーダル理解と生成の統合 DeepSeek Janus, etc... / Multimodal Understanding and Generation Integration
hiroga
0
360
PL900試験から学ぶ Power Platform 基礎知識講座
kumikeyy
0
110
リアルタイム分析データベースで実現する SQLベースのオブザーバビリティ
mikimatsumoto
0
950
High Performance PHP
cmuench
0
140
Googleマップ/Earthが一般化した 地図タイルのイマ
mapconcierge4agu
1
200
開発者が自律的に AWS Security Hub findings に 対応する仕組みと AWS re:Invent 2024 登壇体験談 / Developers autonomously report AWS Security Hub findings Corresponding mechanism and AWS re:Invent 2024 presentation experience
kaminashi
0
190
室長と気ままに学ぶマイクロソフトのビジネスアプリケーションとビジネスプロセス
ryoheig0405
0
320
FastConnect の冗長性
ocise
1
9.6k
Featured
See All Featured
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
40
2k
The Art of Programming - Codeland 2020
erikaheidi
53
13k
Being A Developer After 40
akosma
89
590k
How to Ace a Technical Interview
jacobian
276
23k
Adopting Sorbet at Scale
ufuk
74
9.2k
Building a Modern Day E-commerce SEO Strategy
aleyda
38
7.1k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
120k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.1k
Navigating Team Friction
lara
183
15k
The World Runs on Bad Software
bkeepers
PRO
67
11k
Designing Experiences People Love
moore
139
23k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.7k
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にまとめてあります。 何かありましたら気軽にお声がけください。 おわりに