AWS関連

【AWS】CLI入門

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 キーのエイリアスを指定して出力させることも可能。(ここはまだ理解が曖昧)

構成設定と優先順位

公式サイトによると、下記順番で認証情報や構成設定を検索していくとのこと。

  1. コマンドラインオプション
  2. 環境変数
  3. CLI 認証情報ファイル
  4. CLI 設定ファイル
  5. コンテナ認証情報
  6. インスタンスプロファイル認証情報

雑に言うと、コマンド入力時に指定したものが最優先されるということ。

※詳細情報は下記ページ参照
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