さて、今日のネタですが、昨日の続きで「MXレコードについてあれこれ(2)」でお送りします。MXレコードで複数のメールサーバを指定することで、プライマリメールサーバのダウンにも対応出来るというメリットがあるということを書きました。少々意味合いは異なりますが、外部からのメールを直接受信していると、メールサーバの更新や計画停電等があった場合、その間メールが受信出来ません。このような事例に対応するために、前段にメールサーバを設置して、一旦このマシンで受信後にスプールを持つメールサーバに転送するようにします。こうすることでスプールを持つメールサーバが停止していても、前段のメールサーバが代わりに受信してくれます。復旧後にちゃんと転送してくれるので心配ありません。
注意すべき点は、この前段のメールサーバはクラウド上または自社外に設置しておく必要があります。でないと、自社停電時に動作してくれませんので。(^^;;
前段メールサーバにspamチェック機能を持たせておくと、スプールを持つメールサーバの負荷軽減にもつながるので良いと思います。この場合は、仮に前段メールサーバをmailgate01[02].example.jpとします。2台で冗長化しているものとすると、以下のようになります。
example.jp. IN MX 10 mailgate01.example.jp.
IN. MX. 10 mailgate02.example.jp.
この場合は優先度を意識する必要はありませんので、プリファレンス値は同じで問題ありません。
そして、スプールを持つメールサーバへ転送することになるわけですが、その場合、postfixならtransportに、sendmailならmailertableに直接配送したいメールサーバを記述します。この場合ですと、mail.example.jpを記述することになります。こうすることでMXレコードを参照しない直接配送が出来、メールのループを防止することが出来ます。
コストを抑えたい気持ちも理解出来ますが、メールサーバもいろんな形の二重化を考えておくことで耐障害性を向上させることが出来るのではないかというお話でした。