目的
sshした際、ホスト名を出力させることで、オペレーションミスを防ぐ
方法
設定ファイルを作って、itamaeでプロビジョニングする
前提
IAMでdescribe-instances
が実行できる
設定
itamae構成
cookbooks/motd/
├── set-motd.rb
└── file
└── etc
└── update-motd.d
└── 99-server-name
3 directories, 2 files
set-motd.rb
remote_file "/etc/update-motd.d/99-server-name" do
source "file/etc/update-motd.d/99-server-name"
owner "root"
group "root"
mode "755"
end
execute "apply motd" do
command "sudo update-motd"
end
99-server-name
#!/bin/bash
region=$(curl -s http://169.254.169.254/latest/meta-data/placement/availability-zone | sed -e 's/.$//')
myInstanceId=$(curl -s http://169.254.169.254/latest/meta-data/instance-id)
tagName=$(aws ec2 describe-instances --region ${region} --query "Reservations[].Instances[?InstanceId==\`${myInstanceId}\`].[Tags[?Key==\`Name\`].Value]" --output text)
cat << EOF
*****************************************
_________________________________________
< This Server is ${tagName} >
-----------------------------------------
\ ^__^
\ (oo)\_______
(__)\ )\/\n
||----w |
|| ||
*****************************************
EOF