AWS CLI 入門
- 管理画面コンソールでも操作できるけど、CLIを覚えた方が奥深くAWSの機能が学べて良いっぽい
- https://github.com/aws/aws-cli/
- READMEやってみた
インストール
pip install awscli pip install --upgrade awscli
コマンド補完を有効にする
bashの場合
complete -C aws_completer aws
zshの場合
source /usr/local/bin/aws_zsh_completer.sh
.zshrcに書いとくとべんり
[[ -s /usr/local/bin/aws_zsh_completer.sh ]] && source /usr/local/bin/aws_zsh_completer.sh
AWS credentialsの設定
次のどれか
コマンドで
aws configure AWS Access Key ID [None]: hoge AWS Secret Access Key [None]: fuga Default region name [None]: ap-northeast-1 Default output format [None]: json
環境変数で
export AWS_ACCESS_KEY_ID=<access_key> export AWS_SECRET_ACCESS_KEY=<secret_key>
設定ファイルで
~/.aws/config
に書く- 設定ファイルに各方法だと複数のプロファイルを使い分けできて便利
[profile hogehoge]
- 使うときに
--profile=hogehoge
指定
[default] aws_access_key_id=<default access key> aws_secret_access_key=<default secret key> # Optional, to define default region for this profile. region=us-west-1 [profile testing] aws_access_key_id=<testing access key> aws_secret_access_key=<testing secret key> region=us-west-2
$ export AWS_DEFAULT_PROFILE=testing
基本
ユーザの一覧を取得してみる
aws iam list-users
ドキュメント
http://docs.aws.amazon.com/cli/latest/index.html
引数のパラメータ指定のやり方いろいろ
- 文字列
--ip-permissions '{"FromPort":22,"ToPort":22,"IpProtocol":"tcp","IpRanges":[{"CidrIp": "0.0.0.0/0"}]}'
- ファイル
--ip-permissions file://ip_perms.json
- URI
--ip-permissions http://mybucket.s3.amazonaws.com/ip_perms.json
戻り値のJSONから値を抽出
--query
オプションにJMESPathのパス文字列を渡す- JMESPathチュートリアル
aws iam list-users --query="Users[].UserName"