CloudStackで時折インスタンス・仮想ルータの通信が出来なくなる場合話。CloudStack4.2環境の運用を開始し、徐々にインスタンスへのアクセスが増えてきたある日のこと。とあるWebアプリに「アクセスできない」というトラブルが発生。拡張ネットワーク構成の、仮想ルータでロードバランスも行なっている構成。ロードバランサ経由の他、各サーバ単体の静的IPでもアクセスできない。ついでに管理用のSSHもつながらないことからおそらくTCP周りは全滅している模様。CloudStackのコンソール経由で見てみるとサーバ自体は動作しておりアクセスも操作もできる。ロードバランサ環境=複数サーバ構成なわけだが、その複数のサーバ間の通信は行える。仮想ルータと内部ネットワーク間のアクセスができなくなっている模様。ところで仮想ルータは、ネットワーク構成によってはかなりのアクセスが集中する構成にも関わらず、初期状態ではTCPのコネクション数やら何やらのチューニングが行われていない。いや/etc/sysctl.confには一部設定されてるっぽいのだがなぜだか起動直後は反映されていない。ソフトウェアロードバランサであるところのhaproxy。これの初期設定もワリと抑えめにされており拡張の余地が残されている。やれやれこれで様子見。.........その約一週間後。仮想ルータ再起動で復旧するところまで同じ。TCPパラメータ等の調整をした後の二度目となると別の原因の可能性が高くなる。いうか最初の段階でTCPの限界系のログが一切出ておらず、というかその他の通信系の不具合もまったく予兆すらない。雰囲気wとしては「あるタイミングでふっとTCPパケットが消失しはじめる」かのような感じと言えばよいか。弾いたり拒否したりするのではなく、消失。仮想ルータ全体にではなくいずれかの仮想NICに依存する形で。要求に対して複数のネットワークインターフェースから応答してしまう原因となります。