ダウンタイムなしでDNSレコードを変更する方法
サイトやメールを新しいサービスに移すにはDNSの変更が必要です。TTLを少し計画するだけで、訪問者にもメールにも気づかれずに切り替えられます。
1. 前日にTTLを下げる
浸透チェッカーで、変更するレコード(A や MX など)の現在のTTLを調べます。切り替えの少なくとも旧TTL分前、通常は前日にTTLを300秒にします。これでリゾルバーがキャッシュするのは5分だけになります。
2. 先に新しいサーバーを準備する
サイトをコピーして新しいサーバーで動作を確認し、切り替え前にメールボックスを作成します。変更が完全に浸透するまで旧サーバーを動かしたままにし、まだそちらに届く訪問者にも正しく表示されるようにします。
3. レコードを変更する
サイトなら A、AAAA、CNAME、メールなら MX、SPF、DKIM のレコードを更新します。SPFレコードに旧サービスが記載されている場合は同時に更新しないと、新しいサービスからのメールが迷惑メールになることがあります。
4. 浸透を見守る
新しいIPやホストを期待する値に入力し、自動再チェックをオンにします。すべてのリゾルバーが緑になれば、ほぼすべての訪問者が新しいサーバーに届きます。メールの送受信も両方向で確認しましょう。
5. TTLを元に戻す
すべて正常に動いたら、TTLを3600以上に戻します。TTLが長いほど問い合わせが減ってページが速くなり、DNSサービスの短い障害からも守られます。
チェックリスト
切り替え前に:
- 少なくとも前日にTTLを300に下げた。
- 新しいサーバーを確認し、メールアカウントを作成した。
- 新しいメールサービスに合わせて SPF・DKIM・DMARC を更新した。
- すべてのリゾルバーが新しい値になるまで旧サーバーを動かしている。
- 移行完了後にTTLを元に戻した。