mirakui/ec2sshの2.x系ではHostの末尾がregionだったのに対して、3.x系ではAZに変わっていた。
# 2.x Host tag-name.ap-northeast-1 HostName ec2-54-NNN-NNN-NNN.ap-northeast-1.compute.amazonaws.com # 3.x Host tag-name.ap-northeast-1a HostName ec2-54-NNN-NNN-NNN.ap-northeast-1.compute.amazonaws.com
knife-soloのJSONファイルがこのHostと一致させる必要があったのでなかなか移行できずずっと見送っていたのだけれど、よく考えたら出力するときにAZ末尾のaやcを削ってしまえばいいことに気がついた。
というわけで3.x系での~/.ec2ssh
のhost_line
部分を少し書き換えたところ、2.xと同じように出力されるようになった。
host_line <<EOS Host <%= tags['Name'] %>.<%= availability_zone %> HostName <%= dns_name || private_ip_address %> EOS
↓
host_line <<EOS Host <%= tags['Name'] %>.<%= availability_zone.sub(/[abc]$/, "") %> HostName <%= dns_name || private_ip_address %> EOS
めでたしめでたし。