メモ: ELBのIPv6対応まわりとX-Forwarded-For

IPv6アドレス対応を考えつつ、AWSでシステム構築するには、何を考慮すべきでしょうか。

そのあたりをまだフォローできてないことが気になって、情報を集めはじめました。

ELB公式ドキュメントに概要があります。

図にするとこんな感じになると思います。

IPv4IPv6のアドレス両方を返すことができるdualstack〜の名前に対して、アクセスされるようにすればよいようです。

CNAMEで登録している場合も、Route53でレコードを追加している場合も、統一されたやり方でIPv6対応ができると書かれています。

X-Forwarded-For

X-Forwarded-Forは、HTTPのヘッダフィールドの1つです。プロキシを介したアクセスがきた際に、クライアントのIPアドレスを識別するために使われます。名前がXで始まっていることから分かるとおり、RFCで規定されたヘッダではありません。しかし、多くのLBが対応しています。

ELB公式ドキュメントでは、次のページにフォーマットの解説があります。

また、スズラボさんのところの情報が参考になります。

調べていると、O谷先生のtweetに出会ったりもします。

X-Forwarded-Forでカンマ区切りでやってるとどこかのWebサーバ死んだ気がする

http://twitter.com/shot6/status/75869622062161920

サーバ製品によって、サポートされているX-Forwarded-Forのフォーマットは異なります。

利用するWebサーバのマニュアルを読むことが大事ということでしょう。

XFFは、意味のある運用をするにはコツがいりそうですね。プロキシに対して性善説に立った技術なので、信頼性の低い部分をカバーするという課題と、運用上の決めの問題があると思います。

というわけで、勉強&調査中です。