
AWS上のサービスを利用する場合、利便性の観点からもDevOpsの観点からもCLIを使いこなすことは有益です。今回はAWSのCLIでエイリアス(alias)を設定する方法を紹介します。
はじめに
AWSのCLIは、サービスの数に比例してコマンドの数がとても多く、全部覚えることは無理です。であれば、Linux時代からの定石、エイリアス(alias)を設定して便利で覚えやすいコマンドを自作することは賢いやり方です。
それでは、AWS CLIにエイリアス(alias)を設定していきましょう。
AWS CLIにエイリアス(alias)を設定する
前提としてAWSアカウントがあるのは当然として、AWS CLIもインストール済として進めます。
エイリアスを有効にする
Githubのawscli-aliasからエイリアスに必要なファイルをダウンロードして、エイリアスを使えるようにしましょう。
$ aws --version
aws-cli/1.15.20 Python/3.6.5 Darwin/17.5.0 botocore/1.10.20
$ git clone https://github.com/awslabs/awscli-aliases.git
$ mkdir -p ~/.aws/cli
$ cp awscli-aliases/alias ~/.aws/cli/alias
$ rm awscli-aliases/
$ aws whoami
-----------------------------------------------------------------------------------------
| GetCallerIdentity |
+--------------+----------------------------------------------+-------------------------+
| Account | Arn | UserId |
+--------------+----------------------------------------------+-------------------------+
| XXXXXXXXXXXX| arn:aws:iam::XXXXXXXXXXXX:user/any-user | BOYGIUJKYBILNKIBYTVBUG |
+--------------+----------------------------------------------+-------------------------+
「aws whoami」が表示されれば正しく動いています。
自作のエイリアス(alias)を設定する
今回は全てのEC2インスタンスの一覧を表示するコマンドを追加しましょう。
$ vi ~/.aws/cli/alias
...
all-instances = ec2 describe-instances \
--query 'reverse(sort_by(Reservations[].Instances[].{AZ:Placement.AvailabilityZone, State:State.Name, Name:Tags[?Key==`Name`].Value|[0], ID:InstanceId, Type:InstanceType, ImageID:ImageId, PublicIP:PublicIpAddress, Key:KeyName, Time:LaunchTime}, &Time))' --output table
ファイルを保存したら実行してみましょう。
$ aws all-instances
------------------------------------------------------------------------------------------------------------------------------------------------------------
| DescribeInstances |
+------------+----------------------+---------------+------------+---------------+-----------------+-------------+----------------------------+------------+
| AZ | ID | ImageID | Key | Name | PublicIP | State | Time | Type |
+------------+----------------------+---------------+------------+---------------+-----------------+-------------+----------------------------+------------+
| us-east-1a| i-00113bdc21f041b3a | ami-14c5486b | MyKeyPair | TEST-Server1 | 34.207.72.70 | running | 2018-05-20T05:46:48.000Z | t2.micro |
| us-east-1a| i-0d4f0de00a2d325df | ami-14c5486b | MyKeyPair | TEST-Server3 | None | stopped | 2018-05-20T05:11:30.000Z | t2.micro |
| us-east-1a| i-043596e9e0b41f19c | ami-14c5486b | MyKeyPair | TEST-Server2 | 34.203.246.233 | running | 2018-05-20T05:11:30.000Z | t2.micro |
| us-east-1a| i-01dfa429d53b213b1 | ami-14c5486b | MyKeyPair | None | None | terminated | 2018-05-20T05:09:37.000Z | t2.micro |
+------------+----------------------+---------------+------------+---------------+-----------------+-------------+----------------------------+------------+
ちゃんと機能しましたね。
最後に
いかがでしたか?これでAWS CLIのエイリアスを設定して、より自由に使いこなすことができるようになったと思います。それでは。
The following two tabs change content below.

世界を旅し日本を愛するエンジニア。大学でコンピュータサイエンスの楽しさを学び、日本の大手IT企業で働く中で、新しい技術やスケールするビジネスが北米にある事に気づく。世界に挑戦するための最大の壁が英語であったため、フィリピン留学およびカナダ留学を経て英語を上達させた。現在は日本在住でエンジニアとして働きつつ、次の挑戦に備えて世界の動向を注視している。挑戦に終わりはない。このブログでは、エンジニアやデザイナー向けの技術情報から、海外に留学したい人向けの留学情報、海外に興味がある人向けの海外旅行情報など、有益な情報を提供しています。

コメントを残す