AWS EC2 での最強の Public IP 取得方法

概要

AWS EC2 インスタンスの Public IP は起動毎に変わってしまい、 ssh や curl コマンドに与えるアドレスを毎回確認するのに困っていませんか?

特に常時起動しない検証や開発のための環境、 Auto Scaling に依存した環境と相性が悪いと思われます。

よくある手法1、EIP を付与する。

しかし EIP はインスタンス起動してない間に費用がかかり、頻繁に Stop したり新規追加するのに向いていません。

よくある手法2、 Route53 を利用する。

Route53 にインスタンスと対照になる名前を与え、 Lambda 等で定期的に更新すれば IP アドレスを意識せずに済みます。

しかし Public Hosted Zone の費用が掛かってしまいます。 Lambda 更新間隔や TTL でのタイムラグもあります。

よくある手法3、 AWS CLI を ssh 等でラップする

利用するコマンドをすべてラップする必要があり、 AWS EC2 以外との使い分けにも手間がかかります。

最強の解決方法

libnss_ec2 を使うことで達成できます。費用が掛からず、タイムラグも無く、コマンドのラップ等も必要ありません。

EC2 Launch 時または、 Instances の一覧から Name タグを設定さえすることで、すぐに反応します。

ec2_name_tag

ping や ssh はもちろん curl もバッチリ手間いらずで対応できます。

それではセキュリティーグループには気を付けてご利用ください。

Author: horiguchi

主にインフラエンジニアのほりぐちです。