type
status
date
slug
summary
tags
category
icon
password
理論
1. Amazon Route 53 の基本知識
Route 53 は、AWS が提供するDNSサービスで、パブリックおよびプライベートなドメイン名解決をサポートします。
- Private Hosted Zone
- VPC 内のリソースに対するドメイン名解決を提供します。
- 特定の VPC に関連付けることで、その VPC 内でのみ利用可能になります。
- インターネットからはアクセスできず、プライベート環境での使用を目的としています。
- 例:
- Private Hosted Zone を
cloud.example.com
というドメインで作成。 db.cloud.example.com
という名前を VPC 内の EC2 インスタンスのプライベートIP(例:10.0.0.12
)に関連付けます。
- Inbound Resolver と Outbound Resolver
- Inbound Resolver:オンプレミスから AWS 内部の DNS サービス(Private Hosted Zoneなど)にクエリを送るために使用します。
- Outbound Resolver:VPC 内部から外部(オンプレミスやインターネット)の DNS サービスにクエリを送るために使用します。
- 使用例:
- Inbound Resolver はオンプレミスのシステムが AWS 内のプライベートリソースにアクセスするために必要です。
- Outbound Resolver は AWS リソースがオンプレミスのリソースやインターネット上のドメインを解決する際に使用します。
2. AWS ネットワーキングの基本知識
AWS のネットワーク構成やハイブリッドクラウドでの接続方法について理解しておく必要があります。
- VPC(Virtual Private Cloud)
- AWS 内で定義される仮想ネットワークで、独立したネットワーク空間を提供します。
- リソース(例:EC2やRDS)は VPC 内でプライベートIPを使用して通信します。
- Transit Gateway
- 複数の VPC やオンプレミスネットワークを接続するための中央ハブとなるサービスです。
- 高性能かつ低レイテンシーでネットワーク間通信を可能にします。
- ルーティングテーブルを使用してトラフィックの管理を行います。
- 使用例:
- VPC-A、VPC-B、オンプレミスネットワークを Transit Gateway 経由で接続し、DNS サービスを共有可能にします。
- Direct Connect
- オンプレミスのデータセンターと AWS を専用線で接続するサービスです。
- 高帯域幅かつ低レイテンシーで通信可能です。
3. DNS の基本知識
DNS の仕組みやハイブリッドクラウドにおける応用を理解する必要があります。
- DNS 解決の種類
- 正引き(Forward Resolution):ドメイン名 → IPアドレス(例:
cloud.example.com
→10.0.0.12
)。 - 逆引き(Reverse Resolution):IPアドレス → ドメイン名(例:
10.0.0.12
→db.cloud.example.com
)。
- 条件付きフォワーディング(Conditional Forwarding)
- オンプレミスの DNS サーバーに特定のドメイン(例:
cloud.example.com
)のクエリを特定の DNS サーバー(例:Route 53 Inbound Resolver)に転送するルールを設定します。
4. アーキテクチャ設計のベストプラクティス
ハイブリッドDNSソリューションの要件を満たすため、最適なアーキテクチャを選ぶための知識。
- 要件分析:
- オンプレミスシステムが AWS 内部のドメインを解決できること(Inbound Resolver が必要)。
- VPC 全体で DNS 解決を共有できること(Private Hosted Zone の正しい関連付け)。
- 高性能で管理が簡単なアーキテクチャを選択すること。
- 効率的なソリューションの特徴:
- Private Hosted Zone は全ての必要な VPC に関連付けられるべき。
- Inbound Resolver を使用してオンプレミスネットワークからアクセス可能にする。
- Transit Gateway を使用して、複数の VPC 間およびオンプレミスネットワークとの通信を簡素化する。
必要な知識の要約
- Route 53:Private Hosted Zone の用途、Inbound Resolver の役割。
- AWS ネットワーク:VPC、Transit Gateway、Direct Connect の役割と接続方法。
- DNS:正引き、条件付きフォワーディングの概念と設定方法。
- アーキテクチャ設計の原則:パフォーマンスが高く、管理しやすい構成を選択するスキル。
これらを理解していると、効率的に最適解を選べるようになります。
実践
以下は、Amazon Route 53 Private Hosted Zone の基本的なハンズオン演習の設計です。このハンズオンは、Route 53 Private Hosted Zone の作成、設定、検証を通じて、DNS解決の仕組みを理解し、オンプレミス環境との統合を体験することを目的としています。
目標
- Route 53 Private Hosted Zone を作成し、VPC に関連付ける。
- EC2 インスタンスに対するプライベートドメイン名を設定し、DNS 解決を検証する。
- 条件付きフォワーディングを設定し、オンプレミスシステムからアクセス可能にする。
ハンズオンの前提条件
- AWS アカウントを持っている。
- AWS マネジメントコンソールにアクセス可能。
- 基本的な VPC や EC2 インスタンスの知識がある。
- オンプレミスの代替として使用できるクライアント環境(例:ローカルPC、または別のVPCからアクセス可能なEC2インスタンス)を準備。
演習の構成
ステップ 1: 基本設定
- VPC の作成
- AWS マネジメントコンソールで VPC を作成。
- CIDR ブロック例:
10.0.0.0/16
- 1つのパブリックサブネット(例:
10.0.1.0/24
)とプライベートサブネット(例:10.0.2.0/24
)を作成。

- EC2 インスタンスの起動
- パブリックサブネットに 1 台の EC2 インスタンスを起動(Bastion ホストとして利用)。
- プライベートサブネットに 1 台の EC2 インスタンスを起動(テスト用)。
- 各インスタンスに適切なセキュリティグループ(SSH, DNS)を設定。

ステップ 2: Private Hosted Zone の作成
- Route 53 で Hosted Zone を作成
- ドメイン名例:
cloud.example.com
- Hosted Zone のタイプ:Private Hosted Zone
- VPC をこの Hosted Zone に関連付ける。

- DNS レコードの作成
app.cloud.example.com
をプライベートサブネット内の EC2 インスタンスのプライベートIP(例:10.0.2.10
)に関連付ける。

- Hosted Zone の確認
- プライベートサブネットの EC2 インスタンスで
dig app.cloud.example.com
を実行し、正しいIPアドレスが返されることを確認。

以下は、条件付きフォワーディングの設定手順を分かりやすく整理したものです。
ステップ 4: Inbound Resolver
1: オンプレミス環境の設定
- オンプレミス環境を準備
- 別の VPC またはローカルPCを「オンプレミスシステム」として使用します。
- Route 53 Inbound Resolver の作成
- VPC 内に Inbound Resolver Endpoint を作成し、DNS クエリを受け付けるエンドポイントを構成します。

2: EC2 上での DNS フォワーディング設定
- DNS サービスのインストール(例: BIND)
- EC2の送信元/送信先チェックを変更をオフ

- Amazon Linux 2023 上に、BIND9 または Unbound をインストールして、DNS フォワーディングを行います。
- DNS フォワーディングの設定
- BIND を使用して、DNS リクエストを Route 53 Inbound Resolver のプライベート IP アドレスに転送する設定を行います。
- 設定ファイル
/etc/named.conf
を開き、options
セクションに forwarders 設定を追加します。 - 以下のように forwarders 設定を追加します(
<Inbound Resolver IP アドレス>
は実際の IP アドレスに置き換えてください):
- BIND サービスの起動と再起動
- 設定後、BIND サービスを起動して設定を反映させます。
- サービスの状態を確認するには、以下のコマンドを使用します:
3: ローカルクライアントの設定
- ローカルクライアントに DNS 設定を適用
- 自宅のコンピューターで、EC2 インスタンスを DNS サーバーとして設定します。
- DNS クエリの検証
nslookup
またはdig
を使用して、DNS クエリが EC2 インスタンスを経由して Route 53 Inbound Resolver に転送されるかを確認します。- 設定が正しく行われていれば、
app.cloud.example.com
の DNS クエリに対して正しい結果が返されます。
これで、条件付きフォワーディングの設定が完了します。
ステップ 4: 拡張オプション
1. 複数VPCの統合
- Transit Gatewayの作成と接続
- Transit Gatewayを作成し、各VPCをTransit Gatewayにアタッチ。


- ルーティングの設定
- 外部VPCのパブリックサブネットのEC2から、共有サービスVPCのプライベートサブネットのEC2にSSHアクセスを実現するため、下記を設定
- ルートテーブルの更新
- VPC1とVPC2のそれぞれのルートテーブルに、対向VPCへのルートを追加し、Transit Gatewayをターゲットとする。
- VPC1のCIDR:
10.0.0.0/16
- VPC2のCIDR:
10.1.0.0/16
- Transit Gateway ID:
tgw-xxxxxxxx
- Destination:
10.1.0.0/16
- Target:
tgw-xxxxxxxx
- Destination:
10.0.0.0/16
- Target:
tgw-xxxxxxxx
例:
VPC1のルートテーブル:
VPC2のルートテーブル:

- Private Hosted Zoneの共有
- Private Hosted Zoneを使用して、二つのVPC間でDNSゾーンを共有。

2. Outbound Resolverの設定、テスト
- Outbound Resolver Endpointの作成
- AWS内からインターネット上のドメインを解決するために、Outbound Resolver Endpointを共有サービスVPCのプライベートサブネットに作成。
- 外部VPCパブリックサブネットEC2から、SSHで、共有サービスVPCのプライベートサブネットEC2にログイン
- www.example.comで、インタネットDNS解決したかをテスト


4. ログとモニタリング
- クエリログの有効化
- Route 53のクエリログをCloudWatch Logsに記録し、クエリの動作をモニタリング。
まとめ
このガイドを通じて学べる内容:
- Route 53 Private Hosted Zone の設定と動作確認。
- Inbound Resolver の設定によるAWSとオンプレミスのDNS統合。
- Outbound Resolver の設定。
- Transit Gateway 経由での複数VPC間の接続およびDNSゾーンの共有。
- ルートテーブルの設定 によるVPC間通信の実現。
これにより、Route 53を活用したハイブリッドDNSソリューションの設計と構築スキルを習得できます。
一門道場
AWS ハイブリッドDNSソリューション設計に関する問題
目的はオンプレミスのシステムとAWSのVPC間で cloud.example.com ドメインを解決可能にすること。
前提条件
- Private Hosted Zone を使用して、VPC内リソースのための cloud.example.com ドメインを設定する。
- オンプレミスのシステムが cloud.example.com を解決・接続できる必要がある。
- すべてのVPCが cloud.example.com を解決可能である必要がある。
- AWS Direct Connect を介してオンプレミスとAWS Transit Gatewayが接続されている。
選択肢
- A:
- Private Hosted Zone をすべてのVPCに関連付ける。
- 共有サービスVPCに Route 53 Inbound Resolver を作成する。
- すべてのVPCを Transit Gateway に接続し、オンプレミスのDNSサーバーで転送ルールを設定して Inbound Resolver に向ける。
- B:
- Private Hosted Zone をすべてのVPCに関連付ける。
- 共有サービスVPCに Amazon EC2 Conditional Forwarder をデプロイする。
- すべてのVPCを Transit Gateway に接続し、オンプレミスのDNSサーバーで転送ルールを設定して Conditional Forwarder に向ける。
- C:
- Private Hosted Zone を共有サービスVPCに関連付ける。
- 共有サービスVPCに Route 53 Outbound Resolver を作成する。
- すべてのVPCを Transit Gateway に接続し、オンプレミスのDNSサーバーで転送ルールを設定して Outbound Resolver に向ける。
- D:
- Private Hosted Zone を共有サービスVPCに関連付ける。
- 共有サービスVPCに Route 53 Inbound Resolver を作成する。
- 共有サービスVPCを Transit Gateway に接続し、オンプレミスのDNSサーバーで転送ルールを設定して Inbound Resolver に向ける。
選択肢の解説
Option A: 最適解
- 設計意図:
- Private Hosted Zone をすべてのVPCに関連付けることで、全VPCが
cloud.example.com
のDNSレコードを解決可能。 - Route 53 Inbound Resolver を使用して、オンプレミスのDNSサーバーからのクエリをPrivate Hosted Zoneへ転送。
- Transit Gateway を利用し、すべてのVPCとオンプレミスのネットワーク間の通信を一元化。
- オンプレミスのDNSサーバーに、
cloud.example.com
を Inbound Resolver に転送するルールを設定。
- メリット:
- 高パフォーマンス: Inbound Resolver は、専用設計されており、スケーラブルかつ効率的にクエリを処理可能。
- 管理の簡素化: Transit Gatewayを使うことで、すべてのVPCとオンプレミス間の接続を一元的に管理。
- コスト効率: 他の選択肢と比較して、専用のEC2インスタンスを必要とせず運用負荷が低い。
- 想定される利用フロー:
- オンプレミス → DNSクエリ → Inbound Resolver (共有サービスVPC) → Private Hosted Zone。
- VPC内のリソース → Private Hosted Zone → クエリ解決。
Option B: Conditional Forwarder 使用
- 設計意図:
- Private Hosted Zone をすべてのVPCに関連付け。
- 共有サービスVPC内に Amazon EC2 Conditional Forwarder を展開。
- オンプレミスのDNSサーバーに
cloud.example.com
を Conditional Forwarder に転送するルールを設定。
- メリット:
- ある程度のパフォーマンスを確保可能。
- AWS内に直接 Conditional Forwarder を設置できるため、オンプレミスからAWSリソースへのクエリは可能。
- デメリット:
- Conditional ForwarderはEC2インスタンス上で稼働するため、スケーラビリティや耐障害性がRoute 53 Resolverに劣る。
- 運用負荷: EC2インスタンスの管理が必要。
- コスト: EC2インスタンスにかかる追加費用。
Option C: Outbound Resolver 使用
- 設計意図:
- Private Hosted Zone を共有サービスVPCに関連付け。
- 共有サービスVPC内に Route 53 Outbound Resolver を作成。
- オンプレミスのDNSサーバーに、
cloud.example.com
を Outbound Resolver に転送するルールを設定。
- メリット:
- VPC内リソースから外部DNSサーバー(オンプレミスなど)へのリクエストは可能。
- デメリット:
- Outbound Resolver は外部へのクエリ転送が目的であり、オンプレミスからAWSのPrivate Hosted Zoneへのクエリ解決には適さない。
- 要件を満たさない設計であるため、選択肢として不適。
Option D: Inbound Resolver + 共有サービスVPC接続
- 設計意図:
- Private Hosted Zone を共有サービスVPCに関連付け。
- 共有サービスVPC内に Route 53 Inbound Resolver を作成。
- 共有サービスVPCのみを Transit Gateway に接続し、オンプレミスDNSサーバーに Inbound Resolver への転送ルールを設定。
- メリット:
- Option Aと似た構成であり、要件の大部分を満たす。
- デメリット:
- Private Hosted Zoneを共有サービスVPCに限定するため、他のVPCが
cloud.example.com
を直接解決できない。 - 各VPCから共有サービスVPCへのDNSクエリの中継が必要となり、パフォーマンスが低下する可能性がある。
結論: なぜOption Aが最適なのか
- 設計の完全性:
- 全VPCが直接 Private Hosted Zone を解決可能。
- オンプレミスからのリクエストも Inbound Resolver により効率的に処理。
- パフォーマンス:
- Inbound Resolver は高いスケーラビリティを持ち、EC2ベースのConditional Forwarderに比べてDNSクエリの処理が迅速。
- 運用効率:
- EC2管理が不要で、Route 53サービス内でクエリが完結する。
- Transit Gatewayにより、オンプレミスとすべてのVPC間の接続が一元化。
- コスト:
- EC2インスタンスを利用しないため、Option Bよりコスト効率が良い。
このため、Option AがこのハイブリッドDNSソリューションで最もパフォーマンスが高く、運用負荷の少ない解決策となります。
- 作者:みなみ
- 链接:https://tangly1024.com/資格勉強/152d7ae8-88e2-80e1-9aae-cd97ab13c4e0
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。
相关文章