CLI ファーストインプレッション
- 社内のAWS リソース情報整理に使えそう。
- 更新処理は一旦置いといて、参照処理を中心に使ってみよ。
サンプルコマンド(やってみた)
とりあえず動かしてみたコマンドをいくつか
# IAMグループ関連
$ aws iam list-groups \
--output table \
--query 'Groups[*].[GroupName,CreateDate]'
# セキュリティーグループ関連2つ(試行錯誤中)
$ aws ec2 describe-security-groups \
--profile PROFILE-NAME \
--query "SecurityGroups[*].{SGName:GroupName}"
$ aws ec2 describe-security-groups \
--profile PROFILE-NAME \
--query "SecurityGroups[].[GroupName,GroupId]"
コマンドの説明
サンプルコマンドの補足としてのメモ。および、その他学びメモ。
–output
出力形式を指定できる。json, text, table, yaml での出力が可能。
–query
出力内容のフィルタリングが可能。SQLのSELECT項目のような役割にもなってる。
sort_by ( )
query で指定する出力内容に対して、ソートを指定することができる。
例)
〜〜〜 --query "sort_by( A , B )"
・第一引数には、表示する結果
・第荷引数にはソート対象となるキーオブジェクト
似たようなメソッドに以下のようなものもある。
- sort ( ) ←表示項目が1項目の場合に利用可能
- reverse ( ) ←降順でソートする場合に利用。(通常は昇順)
ディクショナリ表記
ディクショナリ表記では、{Alias1:JSONKey1,Alias2:JSONKey2} のように、各 JSON キーのエイリアスを指定して出力させることも可能。(ここはまだ理解が曖昧)
構成設定と優先順位
公式サイトによると、下記順番で認証情報や構成設定を検索していくとのこと。
- コマンドラインオプション
- 環境変数
- CLI 認証情報ファイル
- CLI 設定ファイル
- コンテナ認証情報
- インスタンスプロファイル認証情報
雑に言うと、コマンド入力時に指定したものが最優先されるということ。
※詳細情報は下記ページ参照
https://docs.aws.amazon.com/ja_jp/cli/latest/userguide/cli-chap-configure.html#config-settings-and-precedence
現在の状態?を知るためのコマンド
下記コマンドにて、現在の設定ファイル参照状況を確認できる(と思っている)
$ aws configure list
「profile」「access_key」「secret_key」「region」に関する情報が3つほど出力される。そのうち、『Type』に表示されているものによって”どこの設定情報”が参照されているか、が確認できる。
aws-shell が便利
CLIを使うときは「aws-shell」を導入したほうが良さそう。入力補完機能があるので、タイポ予防にもなるかと。
※知らないコマンドがめちゃくちゃ候補に出てきて邪魔だな、と思うこともたまに。w