Closed8

awscliのエイリアス機能を使う

not75743not75743

awscliのエイリアス機能を使ってみる

よくawscliを使うため、エイリアス機能を使って時短したい。
awsコマンドは手元にあるため、早速使ってみる

$ aws --version
aws-cli/2.8.9 Python/3.9.11 Linux/5.4.0-135-generic exe/x86_64.ubuntu.20 prompt/off
not75743not75743

エイリアスファイルの用意

mkdir -p ~/.aws/cli
echo '[toplevel]' > ~/.aws/cli/alias
not75743not75743

ドキュメントのサンプル(aws sts get-caller-identity)を試す

$ echo 'whoami = sts get-caller-identity' >> ~/.aws/cli/alias 
$ aws whoami
{
    "UserId": "xxxxxxxxxxxxxxxx",
    "Account": "xxxxxxxxxxxx",
    "Arn": "arn:aws:iam::xxxxxxxxxxxx:user/xxxx"
}

便利!!

not75743not75743

よく使うやつも追加してみる

EC2のNameタグ、ID、状態を出すやつ

check-instances = ec2 describe-instances \
     --query 'Reservations[].Instances[].{instanceid:InstanceId,Tags:Tags[?Key==`Name`].Value|[0],state:State.Name}'
     --output table

実行

$ aws check-instances
-----------------------------------------------------------------------------------------------
|                                      DescribeInstances                                      |
+----------------------------------------------------------+----------------------+-----------+
|                           Tags                           |     instanceid       |   state   |
+----------------------------------------------------------+----------------------+-----------+
|  xxxxxxxxxxxxxxxx                                        |  i-xxxxxxxxxxxxxxxxx |  stopped  |
|  xxxxxxxxxxxxxxxx                                        |  i-xxxxxxxxxxxxxxxxx |  stopped  |
...

便利!

not75743not75743

bashスクリプトも使用できる

~/.aws/cli/alias
myip =
  !f() {
    curl -s https://ifconfig.me
  }; f

実行

$ aws myip
xxx.xxx.xxx.xxx
not75743not75743

コマンドライン引数も使用できる

~/.aws/cli/alias
myip =
  !f() {
    curl -s https://ifconfig.me 
  }; f

allow-my-ip =
  !f() {
    my_ip=$(aws myip)
    aws ec2 authorize-security-group-ingress --group-id ${1} --protocol ${2} --port ${3} --cidr $my_ip/32
  }; f

この場合、${1}にセキュリティグループID、${2}にプロトコル、${3}にポート番号を入れます

$ aws allow-my-ip sg-xxxxxxxxxxxxxxxxxx tcp 22

ついでにコマンドライン引数、パラメータ展開についてわかりやすい記事

not75743not75743

おしまい

頻度が多いコマンドを見つけたら積極的に使おう

このスクラップは2022/12/31にクローズされました