AWS Networking & Content Delivery

🌐 ハイブリッド DNS アーキテクチャ

オンプレミスと AWS の名前解決を Route 53 Resolver で統合する仕組みを、たとえ話と図解で徹底解説

⚡ まず結論:3つの核心ポイント

ハイブリッド DNS とは「2つのオフィスにある内線電話帳を、交換機で相互接続する」仕組みです。Route 53 Resolver のインバウンド&アウトバウンドエンドポイントを設置し、DNS クエリ転送ルールを設定するだけで、オンプレミス↔AWS 間の名前解決がマネージドで実現します。

📥
インバウンド EP
オンプレ → AWS への
DNS クエリ受け口
📤
アウトバウンド EP
AWS → オンプレへの
DNS クエリ転送口
📋
転送ルール
ドメインごとに
問い合わせ先を振り分け
1

たとえ話で全体像をつかむ

🏢 2つのオフィスビルの内線電話帳

ある大企業が「東京本社ビル」(= オンプレミス)「大阪支社ビル」(= AWS クラウド)を持っていると想像してください。 それぞれのビルには独自の内線電話帳(= DNS)があります。

東京の社員が大阪の「田中さん(内線 2051)」に電話したいとき、東京の電話帳には大阪の情報が載っていません。 そこで必要なのが、2 つのビルをつなぐ交換機(= Route 53 Resolver エンドポイント)と、 「大阪の番号は大阪に聞いてね」という転送ルールです。

📞 たとえ話:内線電話帳の相互接続
🏢 東京本社ビル(オンプレミス)
📒 東京の内線電話帳
corp.example.com
👨‍💼 東京の社員
「大阪の田中さんに電話したい」
📞 東京の交換手
オンプレ DNS リゾルバー
大阪の番号?
→ 大阪に転送
東京の番号?
→ 東京に転送
☁️ 大阪支社ビル(AWS)
📒 大阪の内線電話帳
aws.example.com
👩‍💻 大阪の社員
「東京の鈴木さんに電話したい」
📞 大阪の交換機
Route 53 Resolver
2

現在の構成(Before)と課題

現在は、AWS 側にオープンソースの再帰 DNS リゾルバーを EC2 上に構築して、オンプレミスとの名前解決を実現しています。これには運用上の課題があります。

🔄 現在の DNS 構成(Before)
🏢 オンプレミス環境
📁
corp.example.com
オンプレミスのドメイン
🖥️ オンプレ DNS リゾルバー
Direct Connect
/ VPN
DNS クエリ
相互転送
☁️ AWS 環境(VPC)
📁
aws.example.com
Route 53 プライベートホストゾーン
⚙️ OSS 再帰 DNS リゾルバー
(EC2 上で自己管理)
❌ 現在の課題(Before)

OSS DNS リゾルバーの問題点

🔧EC2 インスタンスの OS / ソフトウェアのパッチ適用が必要
🔄冗長構成を自分で設計・維持しなければならない
📈トラフィック増加時のスケーリングが手動
💰EC2 運用コスト+人的メンテナンスコスト
🛑障害時の復旧対応も自己責任
✅ 移行後のメリット(After)

Route 53 Resolver に置換

🎯AWS がインフラをフルマネージドで提供
🔁高可用性(複数 AZ に自動配置)が標準搭載
📊負荷に応じた自動スケーリング
💵EC2 管理コスト削減、運用負荷大幅軽減
🔌Route 53 の他機能とネイティブ統合
3

Route 53 Resolver の 2 つのエンドポイント

🚪 ビルの「受付窓口」と「外部電話回線」

インバウンドエンドポイントは、ビルの正面受付のようなもの。外部(オンプレ)からの電話(DNS クエリ)を受け付ける窓口です。
アウトバウンドエンドポイントは、外線電話機のようなもの。ビル内(AWS)から外部(オンプレ)に電話をかけるための回線です。

INBOUND(受信用)

📥 インバウンドエンドポイント

オンプレミス環境からの DNS クエリを VPC 内で受信するための ENI(ネットワークインターフェース)です。

🏢 オンプレミス → AWS
💡 たとえ話:大阪支社の正面受付。東京から電話がかかってきたら「はい、大阪支社です」と応答する。
OUTBOUND(送信用)

📤 アウトバウンドエンドポイント

VPC 内の DNS クエリをオンプレミスの DNS リゾルバーへ転送するための ENI です。転送ルールと組み合わせて使います。

☁️ AWS → オンプレミス
💡 たとえ話:大阪支社の外線電話機。「東京本社の鈴木さんの内線番号を教えて」と東京に問い合わせる。

🔑 覚えるコツ:「誰が聞きたいか」で判断

オンプレの人が AWS の名前を知りたい → オンプレからクエリが入ってくるインバウンドエンドポイント
AWS の人がオンプレの名前を知りたい → AWS からクエリが出ていくアウトバウンドエンドポイント

4

DNS クエリの流れを図解する

シナリオ A:オンプレミスから AWS リソースの名前解決
🏢→☁️ 「オンプレのサーバーが db.aws.example.com にアクセスしたい」
🖥️ オンプレサーバー DNS クエリ発行
📞 オンプレ DNS 転送ルールに一致
📥 インバウンド EP VPC で受信
📒 Route 53 PHZ 名前を解決
IP アドレス返却 10.0.1.50
シナリオ B:AWS からオンプレミスリソースの名前解決
☁️→🏢 「EC2 インスタンスが mail.corp.example.com にアクセスしたい」
🖥️ EC2 インスタンス DNS クエリ発行
📋 転送ルール照合 corp.example.com に一致
📤 アウトバウンド EP オンプレへ転送
📞 オンプレ DNS 名前を解決
IP アドレス返却 192.168.1.25
📌 ポイント: どちらのシナリオでも、ネットワーク接続(Direct Connect または Site-to-Site VPN)が前提です。DNS クエリはこのネットワーク経路を経由して転送されます。
5

移行後のアーキテクチャ(After)

✅ Route 53 Resolver を使った新しい DNS 構成
🏢 オンプレミス環境
📁
corp.example.com
オンプレのドメイン
🖥️ オンプレ DNS リゾルバー
転送設定:
aws.example.com → インバウンド EP の IP へ転送
Direct Connect
/ VPN
DNS 相互
転送
☁️ AWS 環境(VPC)
📁
aws.example.com
Route 53 プライベートホストゾーン
📥 インバウンドエンドポイント
オンプレ→AWS のクエリ受信
📤 アウトバウンドエンドポイント
AWS→オンプレのクエリ転送
転送ルール:
corp.example.com → オンプレ DNS の IP へ転送
6

構築手順:4 ステップで完成

🔧 たとえ話:新しい交換機の設置手順

① 受付窓口(インバウンド EP)を設置 → ② 外線電話機(アウトバウンド EP)を設置 → ③ 転送先リスト(ルール)を作成 → ④ 東京本社にも「大阪の番号はこの受付に聞いて」と伝達。古い交換機(OSS リゾルバー)は撤去!

1

📥 インバウンドエンドポイントの作成

VPC 内にインバウンドエンドポイントを作成します。少なくとも 2 つの AZ に ENI を配置して高可用性を確保します。

aws route53resolver create-resolver-endpoint \ --name "hybrid-inbound-ep" \ --direction INBOUND \ --security-group-ids "sg-0abc1234def56789" \ --ip-addresses \ SubnetId=subnet-aaaa1111,Ip=10.0.1.10 \ SubnetId=subnet-bbbb2222,Ip=10.0.2.10
⚠️ セキュリティグループ:DNS 通信(TCP/UDP ポート 53)をオンプレミスの IP 範囲から許可する必要があります。
2

📤 アウトバウンドエンドポイントの作成

VPC からオンプレミスへ DNS クエリを転送するためのエンドポイントを作成します。

aws route53resolver create-resolver-endpoint \ --name "hybrid-outbound-ep" \ --direction OUTBOUND \ --security-group-ids "sg-0abc1234def56789" \ --ip-addresses \ SubnetId=subnet-aaaa1111 \ SubnetId=subnet-bbbb2222
3

📋 転送ルールの作成(AWS → オンプレ)

corp.example.com ドメインの DNS クエリをオンプレミスの DNS リゾルバーに転送するルールを作成します。

aws route53resolver create-resolver-rule \ --name "forward-to-onprem" \ --rule-type FORWARD \ --domain-name "corp.example.com" \ --resolver-endpoint-id "rslvr-out-xxxxxxxxxxxx" \ --target-ips \ Ip=192.168.1.10,Port=53 \ Ip=192.168.1.11,Port=53
📌 TargetIps:オンプレミスの DNS サーバーの IP アドレスを指定します。冗長性のため 2 つ以上推奨です。
4

🏢 オンプレミス DNS の転送設定変更

オンプレミスの DNS サーバーで aws.example.com ドメインの条件付き転送先を、作成したインバウンドエンドポイントの IP アドレスに設定します。

// named.conf - 条件付き転送設定 zone "aws.example.com" { type forward; forwarders { 10.0.1.10; // Inbound EP - AZ-a 10.0.2.10; // Inbound EP - AZ-c }; };
7

DNS 転送ルール まとめ表

方向 クエリ対象ドメイン 設定場所 転送先 使用エンドポイント
🏢 → ☁️ aws.example.com オンプレ DNS インバウンド EP の IP 📥 インバウンド
☁️ → 🏢 corp.example.com Route 53 Resolver ルール オンプレ DNS の IP 📤 アウトバウンド

🔑 最重要ポイント:転送の「入口」と「出口」

オンプレ側から見ると「AWS の名前が知りたい → AWS に入れてもらう = インバウンド EP」。
AWS 側から見ると「オンプレの名前が知りたい → AWS から出ていく = アウトバウンド EP + 転送ルール」。
常に「AWS 視点」で IN / OUT を考えると間違えません。

8

Route 53 Resolver を使うメリット

🛡️
高可用性
複数 AZ にまたがるエンドポイントで、1 つの AZ に障害が起きてもサービスが継続します。
📈
自動スケーリング
DNS クエリ量が増えても、AWS 側で自動的にキャパシティが調整されます。
🔧
メンテナンスフリー
OS パッチやソフトウェアアップデートは不要。AWS が裏側で管理します。
🔗
ネイティブ統合
Route 53 プライベートホストゾーン、CloudWatch、RAM(ルール共有)とシームレスに連携。

🏠 たとえ話:自前の交換機 vs. 電話会社の交換機

OSS DNS リゾルバーは「自分でビルの地下室に交換機を置いて自分で管理する」状態。故障したら夜中でも修理に行かなきゃいけません。 Route 53 Resolver は「電話会社(AWS)が提供する交換サービスに切り替える」こと。メンテナンスも障害対応もプロにお任せ、あなたは電話帳(DNS レコード)を管理するだけです。

9

よくある質問(FAQ)

❓ インバウンドとアウトバウンド、両方必要ですか?
双方向の名前解決が必要な場合は両方必要です。オンプレ → AWS だけなら インバウンドのみ、AWS → オンプレだけならアウトバウンド+転送ルールのみでも構いません。今回のシナリオでは双方向なので両方作成します。
❓ エンドポイントはどの AZ に配置すべき?
高可用性のため、最低 2 つの異なる AZ にエンドポイント ENI を配置するのがベストプラクティスです。Direct Connect / VPN の接続先 AZ も考慮してください。
❓ 転送ルールを複数の VPC で共有できますか?
はい。AWS Resource Access Manager(RAM)を使って、同じ AWS Organizations 内の他のアカウントや VPC にルールを共有できます。マルチアカウント環境で非常に便利です。
❓ 料金はどのくらいかかりますか?
エンドポイント 1 つの ENI あたり時間課金+ DNS クエリ数に応じた従量課金です。EC2 インスタンスの運用と比較すると、管理コスト含め多くの場合コスト最適化できます。最新の料金は AWS 公式サイトをご確認ください。
❓ セキュリティグループの設定で注意点は?
インバウンド EP のセキュリティグループでTCP/UDP ポート 53 をオンプレの IP レンジから許可してください。アウトバウンド EP はオンプレ DNS の IP への送信を許可する必要があります。不要なアクセスは必ず制限しましょう。
❓ VPC の AmazonProvidedDNS(.2 リゾルバー)との関係は?
Route 53 Resolver はVPC の .2 リゾルバーと連携します。転送ルールに一致しないクエリは通常どおり .2 リゾルバーが処理します。つまり、既存の VPC 内 DNS 解決に影響を与えずにハイブリッド DNS を追加できます。

まとめ:覚えておくべき 3 行

ハイブリッド DNS = 「2 つの電話帳をつなぐ交換機」
オンプレ (corp.example.com) ──→ 📥 インバウンド EP ──→ Route 53 PHZ (aws.example.com)
EC2 / Lambda (VPC内) ──→ 📤 アウトバウンド EP ──→ オンプレ DNS (corp.example.com)
インバウンド EP を作ってオンプレからのクエリを受信
アウトバウンド EP + 転送ルールでオンプレへクエリを送信
OSS リゾルバーを廃止して、マネージドサービスの恩恵を受ける

Created by SSuzuki1063

AWS SAP Learning Resources