🌐 Route53 ホストゾーン完全ガイド

パブリック vs プライベート

電話帳のたとえ話で分かりやすく解説!

📖 Route53とは?

🌍 インターネットの電話帳

Route53は、ドメイン名(example.com)をIPアドレス(192.168.1.1)に変換する「DNS」サービス。
まるで「山田さんの家」を「東京都渋谷区○○」の住所に変換する電話帳のようなもの!

📞 電話帳で考えてみよう

📕 一般電話帳

誰でも見ることができる
• 全国の電話番号を掲載
• 公開情報
• みんながアクセス可能

📗 社内電話帳

社員だけが見ることができる
• 社内の内線番号を掲載
• 機密情報
• 限定アクセス

🌍 パブリックホストゾーン

🌐

📕 パブリックホストゾーン

インターネット全体に公開

世界中の誰でもアクセス可能

Webサイトやメールサーバーなど

📞 一般電話帳の例

「ピザ店を探したい」
誰でも電話帳で「○○ピザ」を調べて、電話番号を見つけることができる


AWS世界では
誰でも「example.com」にアクセスして、Webサイトを表示できる

🌐 用途

• 公開Webサイト
• メールサーバー
• APIエンドポイント
• CDN(CloudFront)

💰 料金

• ホストゾーン: $0.50/月
• クエリ: $0.40/100万回
• 世界中からアクセス可能

🏢 プライベートホストゾーン

🔒

📗 プライベートホストゾーン

VPC内でのみアクセス可能

特定のネットワーク内限定

内部システムやデータベースなど

📞 社内電話帳の例

「人事部に連絡したい」
社員だけが見ることができる社内電話帳で「人事部」の内線番号を調べる


AWS世界では
VPC内のサーバーだけが「internal.company.com」にアクセスできる

🔒 用途

• 内部API
• データベースサーバー
• 管理画面
• マイクロサービス間通信

💰 料金

• ホストゾーン: $0.50/月
• クエリ: $0.40/100万回
• VPC内からのみアクセス

🔄 DNS解決の流れ

🌐 パブリックホストゾーンの場合

1

👤 ユーザー

「example.com」
にアクセス

2

🌐 インターネット

DNS問い合わせ
を送信

3

📋 Route53

パブリックホストゾーン
で解決

4

🎯 結果

IPアドレス
を返却

🏢 プライベートホストゾーンの場合

1

💻 EC2インスタンス

「internal.company.com」
にアクセス

2

🔒 VPC内DNS

VPC内で
DNS問い合わせ

3

📋 Route53

プライベートホストゾーン
で解決

4

🎯 結果

VPC内IP
を返却

📋 使い分けの例

🌐 パブリックホストゾーンの使用例

🛒 ECサイト

「shop.example.com」→ 世界中のお客様がアクセス可能

📧 メールサーバー

「mail.example.com」→ 外部からメール送受信が必要

📱 API

「api.example.com」→ パートナー企業がアクセス

🔒 プライベートホストゾーンの使用例

🗄️ データベース

「db.internal.com」→ アプリケーションサーバーからのみアクセス

⚙️ 管理画面

「admin.internal.com」→ 社内システムからのみアクセス

🔧 内部API

「internal-api.company.com」→ マイクロサービス間通信

⚙️ 設定のポイント

🌐 パブリックホストゾーン設定

• ドメイン名を登録
• NSレコードをドメインレジストラに設定
• A/CNAME/MXレコードを追加
• 世界中に即座に反映

🔒 プライベートホストゾーン設定

• 対象VPCを指定
• VPC内でのみ有効
• 内部ドメイン名を使用
• セキュリティグループで制御

💡 重要なポイント

同じドメイン名でパブリックとプライベート両方のホストゾーンを作成可能!
VPC内からは プライベートホストゾーンが優先 され、外部からはパブリックホストゾーンが使用されます。

🤝 複数アカウント間でのプライベートホストゾーン共有

🏢 複数支社での社内電話帳共有問題

1つの会社に東京本社、大阪支社、名古屋支社があるとき、
各支社が独自の社内電話帳を持っていたら、支社間での連絡が困難になります...

📞 現実世界の課題

❌ 問題のある状況

支社ごとに別々の電話帳
• 東京本社の電話帳には大阪支社の番号がない
• 大阪支社から東京の経理部に連絡できない
• 各支社で重複した管理作業が発生

✅ 理想的な解決策

全社共通の電話帳を共有
• 本社が管理する統一電話帳を全支社で利用
• どの支社からでも他の支社に連絡可能
• 管理は本社で一元化

🌐 AWS世界での同じ課題

複数のAWSアカウント(支社) それぞれに独自のVPCとプライベートホストゾーンがある場合、
アカウント間でのサービス名前解決ができません。

解決策:Resource Access Manager (RAM) を使ってプライベートホストゾーンを共有!

📋 Resource Access Manager (RAM) とは?

🤝

📋 AWS RAM

リソース共有サービス

AWSアカウント間で安全にリソースを共有

プライベートホストゾーン、サブネット、Transit Gatewayなど

📞 電話帳共有システム

「統一電話帳管理システム」
本社が管理する電話帳を、各支社が安全にアクセスできるシステム


AWS世界では
メインアカウントのプライベートホストゾーンを、他のアカウントのVPCから利用可能

🔧 RAMの機能

• アカウント間リソース共有
• 細かい権限制御
• 組織単位での共有
• 無料で利用可能

🎯 共有可能なリソース

• Route53プライベートホストゾーン
• VPCサブネット
• Transit Gateway
• License Managerライセンス

⚙️ プライベートホストゾーン共有の設定手順

1

🏢 メインアカウント

プライベートホストゾーン
を作成

2

📋 RAMで共有

Resource Share
を作成

3

📨 招待送信

対象アカウントに
共有招待

4

✅ 招待承認

対象アカウントで
招待を承認

5

🔗 VPC関連付け

対象VPCを
ホストゾーンに関連付け

ステップ1: メインアカウントでRAM共有作成

🏢 AWS RAM コンソール → 「Create resource share」
📋 共有するプライベートホストゾーンを選択
👥 共有先アカウントIDを指定

ステップ2: 対象アカウントで招待承認

📨 対象アカウントのRAMコンソールで招待を確認
✅ 「Accept」をクリックして招待を承認
🔍 共有されたリソースが表示されることを確認

ステップ3: VPCの関連付け

🌐 Route53コンソール → プライベートホストゾーン
🔗 「Associate VPC」で対象アカウントのVPCを選択
⚠️ 対象アカウントのVPC IDとリージョンを正確に指定

ステップ4: 動作確認

💻 対象アカウントのEC2インスタンスから
🔍 nslookup internal.company.com でテスト
✅ 正しくIPアドレスが返されることを確認

🏗️ 実際の活用例

🌟 マルチアカウント戦略での活用

🏢 本社(メインアカウント)

共有DNS管理
• 「db.internal.company.com」→ 共有データベース
• 「api.internal.company.com」→ 共通APIゲートウェイ
• 「auth.internal.company.com」→ 認証サーバー

🛍️ EC部門(アカウントA)

ECサイト運営
• ECアプリから共有データベースにアクセス
• 共通認証サーバーでユーザー認証
• 共通APIで在庫管理システムと連携

📱 モバイル部門(アカウントB)

モバイルアプリ運営
• モバイルAPIから共有認証サーバーにアクセス
• 共通データベースでユーザー情報を管理
• ECシステムとデータ連携

💡 メリット

一元管理 :DNS管理が本社アカウントに集約
コスト削減 :重複するリソースの削減
セキュリティ :アカウント間の適切な分離を維持
運用効率 :統一されたネーミング規則

🔐 セキュリティと権限管理

🔒 権限制御

• 共有は読み取り専用
• レコード作成・変更は所有者のみ
• IAMロールによる細かい制御
• CloudTrailでログ監視

🛡️ 分離とガバナンス

• アカウント分離は維持
• 組織単位での共有管理
• 共有範囲の制限可能
• 定期的な共有見直し

⚠️ 重要な注意点

ネットワーク接続は別途必要
プライベートホストゾーンの共有は名前解決のみ。VPC間の実際の通信には
VPC Peering Transit Gateway PrivateLink などが必要です。

まとめ

📞 電話帳で振り返り

📕 パブリックホストゾーン

= 一般電話帳
• 誰でもアクセス可能
• 公開サービス用
• インターネット全体で利用

📗 プライベートホストゾーン

= 社内電話帳
• VPC内限定アクセス
• 内部システム用
• セキュリティが重要

🤝 RAM による共有

= 全社共通電話帳
• 複数支社(アカウント)で共有
• 一元管理で効率化
• セキュアな権限制御

🏗️ マルチアカウント設計

= 企業組織構造
• 部門ごとのアカウント分離
• 共通リソースの効率的共有
• ガバナンスの維持

🎯 設計の指針

「どのレベルで管理・共有するか?」 を考えよう!

🌍 パブリック → 全世界向けサービス
🏢 プライベート(単一アカウント) → 部門内システム
🤝 プライベート(RAM共有) → 全社共通システム

Created by SSuzuki1063

AWS SAP Learning Resources