EC2インスタンスにssh接続して作業する際、デフォルトだとこんな感じで、

[ec2-user@ip-10-10-11-123 ~]$ sl

どのインスタンスにログインしているか分かりづらいですよね。でもhostnameを変えるのは色々副作用もあるし、なんだか微妙です。

そこで!

set_prompt.sh

instance_id=$(curl -s 169.254.169.254/latest/meta-data/instance-id)
az=$(curl -s 169.254.169.254/latest/meta-data/placement/availability-zone)
region=${az%?}
tagged_name=$(aws ec2 describe-instances --region $region --instance-ids $instance_id --query 'Reservations[].Instances[].[Tags[?Key==`Name`].Value]' --output text)

if [ $? -eq 0 ]; then
  export PS1="[u@h ([e[1m]$instance_id[e[m], [e[1m]$tagged_name[e[m]) W]$ "
else
  export PS1="[u@h ([e[1m]$instance_id[e[m]) W]$ "
fi

こんなスクリプトを /etc/profile.d/ 以下に置くなり、 ~/.bashrc に追記するなりしてみましょう。

[ec2-user@ip-10-10-11-123 (i-1234567890abcdef1, oreno_instance) ~]$ sl

インスタンスのIDと、Name タグに設定している値が表示されました。これなら分かりやすいですね!

余談

sl はAmazon Linuxの標準リポジトリにもあります。必ずインストールしましょう。

[ec2-user@ip-10-10-11-123 (i-1234567890abcdef1, oreno_instance) ~]$ sudo yum install sl
Loaded plugins: priorities, update-motd, upgrade-helper
amzn-main/latest                                                                                                                         | 2.1 kB     00:00
amzn-updates/latest                                                                                                                      | 2.3 kB     00:00
amzn-updates/latest/updateinfo                                                                                                           | 307 kB     00:00
amzn-updates/latest/primary_db                                                                                                           | 375 kB     00:00
8 packages excluded due to repository priority protections
Resolving Dependencies
--> Running transaction check
---> Package sl.x86_64 0:5.02-1.6.amzn1 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================================================================================================
 Package                         Arch                                Version                                       Repository                              Size
================================================================================================================================================================
Installing:
 sl                              x86_64                              5.02-1.6.amzn1                                amzn-main                               13 k

Transaction Summary
================================================================================================================================================================
Install  1 Package

Total download size: 13 k
Installed size: 15 k
Is this ok [y/d/N]:

元記事はこちら

EC2インスタンスのbashプロンプトに便利情報を表示する