メールサーバはデリケートな移行になります。
前回(移行作業-DNSを勘違いする - treedown’s Report)でDNSサーバを移行したあと勝手に自滅していましたが、DNSのレコードをメールサーバ切替に備えて設定が完了しました。
いよいよDNSレコード切替でメールサーバを移行しましたのでご報告します。
TTLのご準備はよろしいでしょうか?
(詳しくはコチラ⇒移行作業-DNSを移行する - treedown’s Report)
一番怖いのはメールの取りこぼしです。
たとえ大したことないDMメールでも、取りこぼすということはユーザに対して「他に重要なメールも取りこぼしているのではないか?」という不安・不信感を与えることになります。移行作業においてメールの取りこぼしは絶対回避すべきリスクです。
メールを取りこぼさないための、ざっくりとしたステップは
- DNSレコード切替
- 旧サーバから残存メール受信
- 新サーバ用設定(パスワード変更など)
※実際は設定/変更においてDNSの(1)⇔(2)を行き来します
この3ステップで設定/変更です。テストは
- メール動作確認
- メーリングリスト送信テスト
- 転送設定確認
の3つです。
DNSレコードを切り替えはまずmxから実行しました。
これで旧メールボックスが利用できる状態で、かつ新着メールだけは新メールボックスに蓄積される、という環境が出来上がります。
※旧メールサーバはそのまま使えるがインターネット上から新着メールが受信されない状態です。
図:MXレコードのみ変更し新サーバへ新着が来るようにしたときのメールの流れ
各POPユーザPC上で、このタイミングで旧メールボックスからメールを受信します。
これによって、ユーザPCではメールの受信漏れがない状況になります。
次に再度DNSサーバのレコード設定から、popサーバやsmtpサーバのAレコードを更新します。
(例えばpop.hoge.co.jpやsmtp.hoge.co.jpとあるレコードです。)
このレコード設定が反映されると、ようやく新メールサーバの本格稼働です。インターネット上のホストが参照するだけでなく、イントラネット上の各PCも新メールサーバを参照してメールの送受信を実行することになります。
よってこの段階を迎えると、旧メールサーバが参照されることはなくなります。(実際にはキャッシュが長く保持されているDNSサーバを参照するホストは旧メールサーバを参照し続けることになります。なのでTTLが重要です。)
図:Aレコードを変更してPOPサーバとSMTPサーバを新サーバに向かうように変更したときの構成図
いよいよテストです。
本当はメーリングリスト送信テストはDNS変更前にやっておきたいところです。外部公開アドレスは特にいつメールを受信するか分からないことこの上ないので、外部公開アドレスくらいは事前の設定を間違いのないようにしておきたいですね。
まずは新サーバで受信します。あらかじめテストメールを別のドメインやホストから送信しておくといいです。さらにメーリングリストにテストメールを投稿しておくと正しくメンバーに登録されているかを受信したテストメールで確認可能です。
次に送信テストを実行します。
送信先も外部ドメインと内部ユーザ同士、といった2種類にテストができるとなおいいですね。ただ外部ドメインへ送信が成功すれば概ね大丈夫とは思えます。
送信テストはPOPbeforSMTPやサブミッションポート、SSLやTLSによる暗号化、などに注意して実行します。旧サーバとメーラ設定が同一で動作するなら変更の必要がないので楽ですね。
私はSMTP認証の部分でチェックボックスの選択肢が1つだけ変更になったので送信テストでSMTP認証が正しく実行されるかを注視することになりました。
と、このように、テスト自体は単純で簡単なテストなのですが、いかんせんメールユーザ全員、というスコープは「ほぼ会社のPCユーザ全体」という数の多さで時間が足りなくなりがちです。
設定値1個の変更であっても1台1台画面を開いて設定値変更をし、送受信確認テスト、とやっているとさすがに数十台単位では時間が掛かってしまいますね。作業の際は1台に掛かる時間、もリハーサルなどで計算しておくといいかもしれないです。
苦労はしましたが、何とか全台のメール環境総入れ替えが完了しました。
残すはようやく最後の関門、wwwサーバの移行です。