Closed8
awscliのエイリアス機能を使う
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
エイリアスファイルの用意
mkdir -p ~/.aws/cli
echo '[toplevel]' > ~/.aws/cli/alias
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"
}
便利!!
よく使うやつも追加してみる
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 |
...
便利!
サンプル集がある
目的に近いやつを真似できる
bashスクリプトも使用できる
~/.aws/cli/alias
myip =
!f() {
curl -s https://ifconfig.me
}; f
実行
$ aws myip
xxx.xxx.xxx.xxx
コマンドライン引数も使用できる
~/.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
ついでにコマンドライン引数、パラメータ展開についてわかりやすい記事
おしまい
頻度が多いコマンドを見つけたら積極的に使おう
このスクラップは2022/12/31にクローズされました