DNS切り替え でぃーえぬえすきりかえ
簡単に言うとこんな感じ!
インターネット上の「住所録」を書き換えて、アクセス先のサーバーを古いものから新しいものに変える作業だよ。引越しで「転送届」を出すイメージ!タイミングを間違えるとサービスが止まるから要注意なんだ。
DNS切り替えとは
DNS(Domain Name System) とは、「www.example.com」のようなドメイン名をサーバーのIPアドレスに変換する仕組みで、インターネット上の「電話帳」に例えられます。DNS切り替えとは、この電話帳の登録内容を変更し、ユーザーのアクセスを旧サーバーから新サーバーへ誘導する作業のことです。
クラウド移行やサーバー引越し、CDN(コンテンツ配信ネットワーク)の導入など、インフラを変更する場面では必ずといっていいほどDNS切り替えが発生します。サービスを止めずに切り替える(ゼロダウンタイム移行)ためには、切り替えのタイミングや手順の設計が非常に重要です。
DNS切り替えの難しさは、変更が世界中に伝播するまでに時間がかかる点にあります。この伝播時間を TTL(Time To Live:生存時間) が左右するため、事前にTTLを短縮しておく準備が欠かせません。
DNS切り替えの全体像と仕組み
DNS切り替えの主要な登録情報(レコード)
| レコード種別 | 役割 | 切り替え例 |
|---|---|---|
| Aレコード | ドメイン → IPv4アドレス | 旧サーバーIP → 新サーバーIP |
| CNAMEレコード | ドメイン → 別のドメイン名 | CDN・クラウドサービスへの転送 |
| MXレコード | メール受信サーバーの指定 | メールサーバー移行時に変更 |
| NSレコード | DNSサーバー自体の変更 | DNS権威サーバーを丸ごと移行 |
| TXTレコード | ドメイン所有確認・SPF設定 | 移行後の認証情報更新 |
切り替えの流れ(標準的な手順)
【事前準備】
① 現在のTTLを確認(例: 3600秒 = 1時間)
② TTLを短縮(例: 300秒 = 5分)に変更
③ TTLの旧値が全世界に浸透するまで待つ(最低1時間)
【切り替え当日】
④ 新サーバーの動作確認
⑤ DNSレコードのIPアドレスを新サーバーに書き換え
⑥ 変更の浸透を監視(dig / nslookup などで確認)
【切り替え後】
⑦ アクセスが新サーバーに来ていることを確認
⑧ 問題なければTTLを元の値(3600秒など)に戻す
⑨ 旧サーバーを一定期間維持してから廃止
TTL(生存時間)の意味
TTL は「このDNS情報を何秒間キャッシュ(一時保存)してよいか」を指定する数値です。TTLが3600(1時間)の場合、変更後も最大1時間は古い情報が使われ続ける可能性があります。事前にTTLを短縮しておくことで、切り替え後の浸透を速めることができます。
覚え方
「TTLは引越し前に転送届を早めに出す期間」 TTLが長いほど「転送届の効果が出るまで時間がかかる」と覚えよう。だから引越し(切り替え)の前日までにTTLを短くしておくのが鉄則!
歴史と背景
- 1983年 — ポール・モカペトリスがDNSを設計・提案(RFC 882/883)。それ以前はhostsファイルで名前とIPを管理していた
- 1987年 — DNS仕様がRFC 1034/1035として改定・確立。現在も基本仕様として使われている
- 2000年代 — ブロードバンド普及とともにWebサービスが急増。DNSレコード変更による「ゆっくり移行」の手法が広まる
- 2010年代 — AWSのRoute 53、CloudflareなどクラウドDNSが普及。管理画面からワンクリックで変更・ロールバックできる環境が整う
- 2020年代 — クラウド移行案件の急増に伴い、「ダウンタイムゼロ」でのDNS切り替えがプロジェクト標準スキルに。Blue-Greenデプロイメントとの組み合わせが一般化
DNS切り替えの方式比較とリスク
DNS浸透(プロパゲーション)のリスク
切り替え後、世界中のDNSキャッシュサーバーに新しい情報が届くまでの時間を DNS浸透期間(Propagation) と呼びます。この期間中は、アクセスする場所・タイミングによって旧サーバーに届く人と新サーバーに届く人が混在します。
| 状況 | 影響 | 対策 |
|---|---|---|
| セッション情報が旧サーバーにある | ログアウトされる | セッションをDBで共有しておく |
| ファイルアップロード先が旧サーバー | データが分散する | 切り替え前後はアップロードを停止 |
| メール受信サーバーが切り替わる | メールロスト | MXレコードは最後に変更する |
| 旧サーバーを即廃止する | 一部ユーザーが繋がらない | 浸透完了まで旧サーバーを維持する |
関連する規格・RFC
| 規格・RFC番号 | 内容 |
|---|---|
| RFC 1034 | DNS概念と機能の定義(ドメイン名の概念・名前解決の仕組み) |
| RFC 1035 | DNS実装と仕様(Aレコード・MXレコード等のデータ形式) |
| RFC 2181 | DNS仕様の明確化・TTLの取り扱いルールの整理 |
| RFC 8499 | DNS用語の定義(「権威サーバー」「リゾルバー」などの用語を標準化) |
関連用語
- DNS(ドメインネームシステム) — ドメイン名をIPアドレスに変換するインターネットの名前解決の仕組み
- TTL(Time To Live) — DNSキャッシュの有効期限。切り替え速度に直結する重要パラメータ
- IPアドレス — インターネット上のサーバーの住所。DNSが名前を変換する対象
- クラウド移行 — オンプレミスのシステムをクラウドへ移す取り組みの総称
- CDN(コンテンツ配信ネットワーク) — CNAMEレコード切り替えで導入することが多い高速配信の仕組み
- Blue-Greenデプロイメント — 旧環境・新環境を並行稼働し、DNS切り替えで本番を入れ替える手法
- ロードバランサー — 複数サーバーへトラフィックを分散する装置。DNS切り替えと組み合わせて使われる
- ゾーンファイル — DNSレコード(A・MX・CNAME等)をまとめて記述した設定ファイル