パブリック vs プライベート
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内からのみアクセス
「example.com」
にアクセス
DNS問い合わせ
を送信
パブリックホストゾーン
で解決
IPアドレス
を返却
「internal.company.com」
にアクセス
VPC内で
DNS問い合わせ
プライベートホストゾーン
で解決
VPC内IP
を返却
「shop.example.com」→ 世界中のお客様がアクセス可能
「mail.example.com」→ 外部からメール送受信が必要
「api.example.com」→ パートナー企業がアクセス
「db.internal.com」→ アプリケーションサーバーからのみアクセス
「admin.internal.com」→ 社内システムからのみアクセス
「internal-api.company.com」→ マイクロサービス間通信
• ドメイン名を登録
• NSレコードをドメインレジストラに設定
• A/CNAME/MXレコードを追加
• 世界中に即座に反映
• 対象VPCを指定
• VPC内でのみ有効
• 内部ドメイン名を使用
• セキュリティグループで制御
同じドメイン名でパブリックとプライベート両方のホストゾーンを作成可能!
VPC内からは
プライベートホストゾーンが優先
され、外部からはパブリックホストゾーンが使用されます。
1つの会社に東京本社、大阪支社、名古屋支社があるとき、
各支社が独自の社内電話帳を持っていたら、支社間での連絡が困難になります...
支社ごとに別々の電話帳
• 東京本社の電話帳には大阪支社の番号がない
• 大阪支社から東京の経理部に連絡できない
• 各支社で重複した管理作業が発生
全社共通の電話帳を共有
• 本社が管理する統一電話帳を全支社で利用
• どの支社からでも他の支社に連絡可能
• 管理は本社で一元化
複数のAWSアカウント(支社)
それぞれに独自のVPCとプライベートホストゾーンがある場合、
アカウント間でのサービス名前解決ができません。
解決策:Resource Access Manager (RAM)
を使ってプライベートホストゾーンを共有!
リソース共有サービス
AWSアカウント間で安全にリソースを共有
プライベートホストゾーン、サブネット、Transit Gatewayなど
「統一電話帳管理システム」
本社が管理する電話帳を、各支社が安全にアクセスできるシステム
AWS世界では
メインアカウントのプライベートホストゾーンを、他のアカウントのVPCから利用可能
• アカウント間リソース共有
• 細かい権限制御
• 組織単位での共有
• 無料で利用可能
• Route53プライベートホストゾーン
• VPCサブネット
• Transit Gateway
• License Managerライセンス
プライベートホストゾーン
を作成
Resource Share
を作成
対象アカウントに
共有招待
対象アカウントで
招待を承認
対象VPCを
ホストゾーンに関連付け
🏢 AWS RAM コンソール → 「Create resource share」
📋 共有するプライベートホストゾーンを選択
👥 共有先アカウントIDを指定
📨 対象アカウントのRAMコンソールで招待を確認
✅ 「Accept」をクリックして招待を承認
🔍 共有されたリソースが表示されることを確認
🌐 Route53コンソール → プライベートホストゾーン
🔗 「Associate VPC」で対象アカウントのVPCを選択
⚠️ 対象アカウントのVPC IDとリージョンを正確に指定
💻 対象アカウントのEC2インスタンスから
🔍
nslookup internal.company.com
でテスト
✅ 正しくIPアドレスが返されることを確認
共有DNS管理
• 「db.internal.company.com」→ 共有データベース
• 「api.internal.company.com」→ 共通APIゲートウェイ
• 「auth.internal.company.com」→ 認証サーバー
ECサイト運営
• ECアプリから共有データベースにアクセス
• 共通認証サーバーでユーザー認証
• 共通APIで在庫管理システムと連携
モバイルアプリ運営
• モバイルAPIから共有認証サーバーにアクセス
• 共通データベースでユーザー情報を管理
• ECシステムとデータ連携
一元管理
:DNS管理が本社アカウントに集約
コスト削減
:重複するリソースの削減
セキュリティ
:アカウント間の適切な分離を維持
運用効率
:統一されたネーミング規則
• 共有は読み取り専用
• レコード作成・変更は所有者のみ
• IAMロールによる細かい制御
• CloudTrailでログ監視
• アカウント分離は維持
• 組織単位での共有管理
• 共有範囲の制限可能
• 定期的な共有見直し
ネットワーク接続は別途必要
プライベートホストゾーンの共有は名前解決のみ。VPC間の実際の通信には
VPC Peering
、
Transit Gateway
、
PrivateLink
などが必要です。
= 一般電話帳
• 誰でもアクセス可能
• 公開サービス用
• インターネット全体で利用
= 社内電話帳
• VPC内限定アクセス
• 内部システム用
• セキュリティが重要
= 全社共通電話帳
• 複数支社(アカウント)で共有
• 一元管理で効率化
• セキュアな権限制御
= 企業組織構造
• 部門ごとのアカウント分離
• 共通リソースの効率的共有
• ガバナンスの維持
「どのレベルで管理・共有するか?」
を考えよう!
🌍
パブリック
→ 全世界向けサービス
🏢
プライベート(単一アカウント)
→ 部門内システム
🤝
プライベート(RAM共有)
→ 全社共通システム
Created by SSuzuki1063
AWS SAP Learning Resources