AWS CLI Ailas を使って入力を簡単にする
- 2019.10.17
- AWS

はじめに
AWS CLIを使っていて毎回長いコマンドを入力するのが結構大変です。それで補完機能を使ったりしているのですが、もっと簡単にするには Ailas を使うと良いです。
Aliasの設定準備
まずはAlias設定用のファイルを作成します。
~/.aws/cli/alias
cliというディレクトリはないので、まずこのディレクトリを作成して、次にaliasというファイルを作成します。
Aliasのサンプル
[toplevel]
desc-ins = ec2 describe-instances
aliasファイルの中にこのように記述します。そうすると次のように実行するだけで、 aws ec2 describe-instances と実行したのと同じことができます。
$ aws desc-ins
引数を渡す方法
[toplevel]
desc-ins-vpc =
!f() {
aws ec2 describe-instances --filters Name=vpc-id,Values="${1}" --query 'Reservations[].Instances[].{InstanceId:InstanceId,State:State.Name,AvailabirityZone:Placement.AvailabilityZone,PrivateDnsName:PrivateDnsName,PrivateIpAddress:PrivateIpAddress,PublicDnsName:PublicDnsName,PublicIpAddress:PublicIpAddress,Name:Tags[?Key==`Name`] | [0].Value}'
}; f
このような Alias を作成します。そうすると次のように実行すると指定したvpcidを元にEC2インスタンスの情報を特定の項目に絞って表示してくれます。すごく便利です。
$ vpc_id=vpc-123455667788
$ aws desc-ins-vpc $vpc_id
[
{
"InstanceId": "i-004f1416b8698713c",
"State": "running",
"AvailabirityZone": "ap-northeast-1c",
"PrivateDnsName": "ip-10-1-1-142.ap-northeast-1.compute.internal",
"PrivateIpAddress": "10.1.1.142",
"PublicDnsName": "ec2-18-179-24-82.ap-northeast-1.compute.amazonaws.com",
"PublicIpAddress": "18.179.24.82",
"Name": null
},
{
"InstanceId": "i-067f774504d9dd09b",
"State": "running",
"AvailabirityZone": "ap-northeast-1a",
"PrivateDnsName": "ip-10-1-0-136.ap-northeast-1.compute.internal",
"PrivateIpAddress": "10.1.0.136",
"PublicDnsName": "ec2-54-250-195-90.ap-northeast-1.compute.amazonaws.com",
"PublicIpAddress": "54.250.195.90",
"Name": null
}
]
-
前の記事
AWS CLI jq を使ってJSONを見やすくする 2019.10.15
-
次の記事
AWS Elastic Load Balancing(ELB)を試してみる 2019.10.18