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]: