はじめに
ELB のアクセスログを調べていると、自分が設定した本来のドメイン以外にまったく身に覚えのない他ドメインが含まれていました。 ELB のバグかと思いましたが、クラウドの特性上、誰にでも起こりえることがわかったので簡単にまとめます。
なぜ起きるか
ELB を削除して利用されなくなったグローバル IP アドレスは、別のユーザーが ELB を新規作成すると再利用されます。 ELB に限らず EC2 の Public IP / Elastic IP も同じです。
問題になるのは、次のような場合です。
- 前のユーザーが DNS の TTL を極端に長く設定している
- TTL を無視してキャッシュしている DNS サーバやクライアントが存在する
エンドユーザーは意図しない ELB に割り振られることになり 404
エラーが返ります。
これは DNS の問題なので AWS 側ではどうしようもないことです(オンプレミスの場合はグローバル IP アドレスとロードバランサの結びつきが固定的なのであまり問題にならないはず)。
ELB のアクセスログは他ドメインが含まれることも考慮した上で処理すると良さそうです。 CloudWatch の ELB のグラフも他ドメインのリクエストをカウントしているので、正確な値はアクセスログを精査する必要があります。