📞 Route 53 プライベートホストゾーン

電話帳の共有で理解するクロスアカウント関連付け

🏢 A社の電話帳 ↔️ 📞 共有許可 ↔️ 🏢 B社

Route 53のプライベートホストゾーンを、社内電話帳の共有で分かりやすく説明します!

🤔 Route 53 プライベートホストゾーンって何?

📝 簡単に言うと...

社内専用の電話帳・住所録 です。
「田中さんはどこにいますか?」と聞くと
「3階の経理部です」と答えてくれるサービス

🏢 日常生活の例

社内電話帳


👆 「田中さんの内線番号は?」
📞 「内線1234番です」


👆 「サーバー室はどこ?」
🏢 「地下1階です」

☁️ AWSの世界

Route 53 プライベートホストゾーン


👆 「api.company.local のIPは?」
🌐 「10.0.1.100です」


👆 「db.company.local のIPは?」
💾 「10.0.2.50です」

📞 4つの重要な要素を電話帳で理解

📖

プライベートホストゾーン
= 社内電話帳

会社内部だけ で使える住所録です。
社外の人は見ることができません。
社内のサーバーやサービス の場所を記録しています。

例: company.internal
記録: api.company.internal → 10.0.1.100
🏢

AWSアカウント
= 会社・部署

独立した組織 です。
それぞれの会社が独自の電話帳を持っていて、
通常は 他の会社からは見えません

A社: アカウント 123456789012
B社: アカウント 210987654321
🔗

VPC関連付け
= 電話帳の利用権限

電話帳を使える範囲 を決めます。
A社の電話帳をB社のオフィス(VPC)でも
使えるようにする設定 です。

関連付け: VPC-B社 ⟷ 電話帳-A社
🤝

クロスアカウント関連付け
= 会社間の電話帳共有

他の会社と電話帳を共有 することです。
A社の電話帳をB社でも使えるように
特別な許可 を与えます。

手順: 申請 → 承認 → 利用開始

🗺️ クロスアカウント関連付けの全体像

📞

共有申請・承認

VPC関連付け

A社がB社のVPCに
電話帳の利用許可を与える

💡 実際の動作

B社の社員が「api.company.internal はどこ?」と聞く → A社の電話帳が「10.0.1.100です」と答える

📋 設定手順を分かりやすく

1

A社:電話帳を作成

プライベートホストゾーンを作成
→ 社内専用の電話帳を作成
→ ドメイン名: company.internal
→ 最初はA社のVPCのみに関連付け

ドメイン名: company.internal タイプ: プライベートホストゾーン 関連付けVPC: vpc-A社 (vpc-0123456789abcdef0)
2

A社:DNSレコードを登録

電話帳に連絡先を追加
→ 各サーバーの住所を登録
→ 例: api.company.internal → 10.0.1.100

api.company.internal A 10.0.1.100 db.company.internal A 10.0.2.50 web.company.internal A 10.0.1.200
3

A社:B社への共有申請を作成

他の会社に電話帳の利用許可を申請
→ Route 53コンソールで「VPC関連付けの作成」
→ B社のアカウントIDとVPC IDを指定

アカウントID: 210987654321 (B社) VPC ID: vpc-0abcdef123456789 (B社のVPC) リージョン: ap-northeast-1
⚠️ 注意: この時点ではまだ使えません。B社の承認が必要です。
4

B社:共有申請を承認

A社からの電話帳共有申請を承認
→ Route 53コンソールで「VPC関連付け」を確認
→ 「Pending」状態の申請を「Accept」

状態: Pending → Accepted ホストゾーンID: Z1234567890ABC (A社の電話帳) VPC: vpc-0abcdef123456789 (自社のVPC)
✅ 成功: 承認完了!B社でA社の電話帳が利用可能になります。
5

動作確認

B社のVPCから電話帳を使ってみる
→ B社のEC2インスタンスから名前解決をテスト
→ A社の電話帳が正しく答えることを確認

# B社のEC2インスタンスで実行 $ nslookup api.company.internal Server: 10.0.0.2 Address: 10.0.0.2#53 Name: api.company.internal Address: 10.0.1.100
🎉 完了: B社からA社の電話帳を正常に利用できています!

🔧 具体的な設定例

📊 実際の設定内容

🏢 A社(ホストゾーン所有者)

  • アカウントID: 123456789012
  • プライベートホストゾーン: company.internal
  • 自社VPC: vpc-0123456789abcdef0

🏢 B社(利用者)

  • アカウントID: 210987654321
  • 利用VPC: vpc-0abcdef123456789
  • リージョン: ap-northeast-1

⚙️ AWS CLI/API での設定例

📖

A社:ホストゾーン作成

aws route53 create-hosted-zone \ --name company.internal \ --vpc VPCRegion=ap-northeast-1,VPCId=vpc-0123456789abcdef0 \ --caller-reference "company-internal-$(date +%s)"
📝

A社:DNSレコード作成

aws route53 change-resource-record-sets \ --hosted-zone-id Z1234567890ABC \ --change-batch '{ "Changes": [{ "Action": "CREATE", "ResourceRecordSet": { "Name": "api.company.internal", "Type": "A", "TTL": 300, "ResourceRecords": [{"Value": "10.0.1.100"}] } }] }'
🤝

A社:クロスアカウント関連付け作成

aws route53 create-vpc-association-authorization \ --hosted-zone-id Z1234567890ABC \ --vpc VPCRegion=ap-northeast-1,VPCId=vpc-0abcdef123456789

B社:関連付け承認

aws route53 associate-vpc-with-hosted-zone \ --hosted-zone-id Z1234567890ABC \ --vpc VPCRegion=ap-northeast-1,VPCId=vpc-0abcdef123456789

❓ よくある質問

🤔 なぜクロスアカウント関連付けが必要なの?
💰 料金はどのくらいかかるの?
🔒 セキュリティは大丈夫?
⚠️ 設定で失敗しやすいポイントは?
🔄 関連付けを解除したい場合は?

✨ クロスアカウント関連付けのメリット

🎯

一元管理

1つの電話帳を複数のアカウントで共有。管理が楽になります

💰

コスト削減

重複したホストゾーンを作成不要。料金も1つ分だけ

🔒

セキュリティ

プライベート環境での名前解決。外部からは一切見えません

運用効率

IPアドレス変更時も電話帳の更新だけでOK。各アカウントでの作業不要

🏗️

スケーラビリティ

新しいアカウントが増えても簡単に電話帳を共有可能

🎮

使いやすさ

覚えやすい名前でサーバーにアクセス。IPアドレス不要

🎯 実際の利用シーン

💼 企業でのよくある使い方

🏢

本社と支社の連携

本社のシステムを支社から利用
→ 本社:プライベートホストゾーン所有
→ 支社:本社の電話帳を利用して社内システムにアクセス
→ 例:支社から「hr.company.internal」で人事システムにアクセス

🔄

開発・本番環境の分離

環境ごとに異なるアカウント
→ 本番アカウント:プライベートホストゾーン管理
→ 開発アカウント:本番の電話帳を参照
→ 例:「api.company.internal」が開発・本番で同じ名前、異なるIP

🤝

グループ会社との連携

親会社のシステムを子会社が利用
→ 親会社:共通システムのホストゾーン管理
→ 子会社A, B, C:親会社の電話帳を利用
→ 例:「accounting.group.internal」で経理システム共有

⚙️

マイクロサービス間通信

サービスごとに異なるアカウント
→ 各マイクロサービスが独立したアカウント
→ 共通のサービスディスカバリとして電話帳を利用
→ 例:「user-service.microservice.internal」でユーザーAPIにアクセス

🎯 まとめ

📖 プライベートホストゾーン = 社内専用の電話帳(IPアドレスの住所録)

🏢 AWSアカウント = 会社・部署(独立した組織)

🔗 VPC関連付け = 電話帳を使える範囲の設定

🤝 クロスアカウント関連付け = 他の会社との電話帳共有


📞 設定の流れ:

  1. A社: 電話帳作成 → レコード登録 → B社への共有申請
  2. B社: 共有申請を承認
  3. 完了: B社からA社の電話帳を利用可能

🎯 初心者へのアドバイス:

  • 最初は小さなテスト環境で練習
  • VPC IDやアカウントIDは必ず確認
  • 設定後は nslookup で動作確認
  • 失敗しても関連付けは簡単に解除可能

💡 キーポイント:
「電話帳の共有」という身近な概念で理解すれば、
Route 53のクロスアカウント関連付けは決して難しくありません!

Created by SSuzuki1063

AWS SAP Learning Resources