0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Route53を活用したDNS完全ガイド:レコードタイプの違いと使い分け

Posted at

このブログはこんな人向け

  • Route53やDNSの基本を理解したい方
  • AレコードとCNAMEレコードの違いが分からず迷っている方
  • DNSレコードの種類と使い分けを知りたい方
  • Route53を使ったDNS設定を実施したい方

この記事で得られること

  • Route53とDNSの基本概念が分かる
  • 各種DNSレコードタイプ(A、AAAA、CNAME、MX、TXT等)の違いと使い分けが分かる
  • Route53特有の機能(エイリアスレコード、ルーティングポリシー)が理解できる
  • 実際のユースケースに応じたDNS設定の判断材料が得られる

前提知識

  • AWSマネジメントコンソールの基本操作ができる
  • ドメイン名の基本概念(example.comなど)を理解している
  • IPアドレスの基本を知っている

Route53を活用したDNS完全ガイド:レコードタイプの違いと使い分け

はじめに

Amazon Route 53は、AWSが提供する可用性と拡張性に優れたDNS(Domain Name System)ウェブサービスです。本記事では、DNSの基本からRoute53の特徴、そして各種レコードタイプの違いと実践的な使い分けまでを解説します。

DNSとは?

DNS(Domain Name System)は、人間が読みやすいドメイン名(例:www.example.com)を、コンピュータが理解できるIPアドレス(例:192.0.2.1)に変換する仕組みです。

DNSの動作フロー

  1. ユーザーがブラウザに「www.example.com」を入力
  2. DNSリゾルバがDNSサーバーに問い合わせ
  3. DNSサーバーが該当するIPアドレスを返答
  4. ブラウザがそのIPアドレスのサーバーに接続

Route53の特徴

主な機能

機能 説明
ドメイン登録 新規ドメインの購入・管理
DNSルーティング トラフィックのルーティング制御
ヘルスチェック エンドポイントの正常性監視
トラフィック管理 複数のルーティングポリシーによる高度な制御

Route53のメリット

  • 高可用性: 複数のネームサーバーによる冗長化
  • スケーラビリティ: 自動スケーリングで大量のクエリにも対応
  • AWSサービス統合: ELB、CloudFront、S3等とのシームレスな連携
  • 低レイテンシ: グローバルに分散されたDNSサーバー

主要なDNSレコードタイプ

1. Aレコード(Address Record)

概要

ドメイン名をIPv4アドレス(32ビット)にマッピングするレコード。最も基本的で頻繁に使用されるレコードタイプです。

設定例

example.com        A    192.0.2.1
www.example.com    A    192.0.2.1

メリット

  • シンプルで分かりやすい
  • 直接IPアドレスを指定できる
  • DNSクエリが1回で完結(高速)

デメリット

  • IPアドレス変更時に手動更新が必要
  • ルートドメイン(example.com)にも設定可能

ユースケース

  • Webサーバーの静的IPアドレスへのマッピング
  • EC2インスタンス(Elastic IP付き)への直接マッピング
  • オンプレミスサーバーとの統合

2. AAAAレコード(IPv6 Address Record)

概要

ドメイン名をIPv6アドレス(128ビット)にマッピングするレコード。AレコードのIPv6版です。

設定例

example.com        AAAA    2001:0db8:85a3:0000:0000:8a2e:0370:7334
www.example.com    AAAA    2001:0db8:85a3::8a2e:0370:7334

メリット

  • IPv6対応に必須
  • 将来的な拡張性

ユースケース

  • IPv6対応サイトの構築
  • デュアルスタック構成(IPv4とIPv6の両対応)

3. CNAMEレコード(Canonical Name Record)

概要

ドメイン名を別のドメイン名にマッピングする(エイリアスを作成する)レコード。

設定例

www.example.com    CNAME    example.com
blog.example.com   CNAME    server.hosting.com

メリット

  • 複数のドメイン名を1つのホストにマッピング可能
  • 参照先の変更が容易(CNAMEの参照先を変更すれば全て反映)

デメリット

  • ルートドメイン(example.com)には設定不可
  • DNSクエリが複数回必要(パフォーマンス低下の可能性)
  • 他のレコードタイプと共存不可(同一名でMXやTXTと併用できない)

重要な制約

# ❌ 不可: ルートドメインにCNAMEは設定できない
example.com    CNAME    lb.example.com

# ✅ 可能: サブドメインにはCNAME設定可能
www.example.com    CNAME    lb.example.com

ユースケース

  • CDN(CloudFront等)のディストリビューション名へのマッピング
  • ELB(Elastic Load Balancer)のDNS名へのマッピング
  • サブドメインの管理を簡素化

4. エイリアスレコード(Route53特有機能)

概要

Route53独自の機能で、CNAMEと似ていますが、ルートドメインにも設定可能かつ、追加料金不要でAWSリソースにマッピングできます。

設定例

# ルートドメインをALBにマッピング(CNAMEでは不可能)
example.com    ALIAS    A    my-alb-123456789.ap-northeast-1.elb.amazonaws.com

# CloudFrontディストリビューションへのマッピング
www.example.com    ALIAS    A    d123456abcdef8.cloudfront.net

メリット

  • ルートドメインに設定可能(CNAMEとの最大の違い)
  • DNSクエリが無料(Route53内のリソースへのクエリは課金対象外)
  • AWSリソースのIPアドレス変更に自動追随
  • ヘルスチェック統合が可能

デメリット

  • Route53およびAWSリソース専用(外部サービスには使用不可)

対応するAWSリソース

  • CloudFront ディストリビューション
  • Elastic Load Balancing(ALB/NLB/CLB)
  • S3 Webサイトエンドポイント
  • 別のRoute53レコード
  • API Gateway
  • VPC エンドポイント

CNAMEとの比較表

項目 CNAME Aliasレコード
ルートドメイン設定 ❌ 不可 ✅ 可能
DNSクエリ課金 課金対象 無料(AWS内)
DNS解決速度 遅い(複数クエリ) 速い(1回)
参照先 任意のドメイン AWSリソースのみ
他レコードとの共存 不可 可(一部)
TTL設定 可能 AWS管理

ユースケース

  • ルートドメインをALB/CloudFrontに向ける
  • S3静的Webサイトホスティングへのマッピング
  • AWSサービス間の統合

5. MXレコード(Mail Exchange Record)

概要

ドメイン宛のメールを受信するメールサーバーを指定するレコード。

設定例

example.com    MX    10    mail1.example.com
example.com    MX    20    mail2.example.com

優先度

  • 数値が小さいほど優先度が高い
  • プライマリ/セカンダリのメールサーバー構成が可能

ユースケース

  • 独自ドメインのメール受信設定
  • Google Workspace、Microsoft 365等の外部メールサービス統合
  • SPFやDKIM設定と組み合わせたメール認証(別途設定が必要)

6. NSレコード(Name Server Record)

概要

ドメインのDNSサーバー(ネームサーバー)を指定するレコード。

設定例

example.com    NS    ns-123.awsdns-12.com
example.com    NS    ns-456.awsdns-34.net
example.com    NS    ns-789.awsdns-56.org
example.com    NS    ns-012.awsdns-78.co.uk

ユースケース

  • サブドメインの委任
  • DNSサーバーの変更

Route53のルーティングポリシー

Route53では、単純なDNS解決だけでなく、高度なトラフィック管理が可能です。

1. シンプルルーティング

  • 単一リソースへの基本的なルーティング
  • 複数のIPアドレスをランダムに返すことも可能

2. 加重ルーティング(Weighted Routing)

  • トラフィックを指定した割合で分散
  • カナリアリリースやA/Bテストに最適

3. レイテンシーベースルーティング

  • ユーザーに最も低レイテンシのリソースを自動選択
  • グローバル展開アプリケーションに最適

4. フェイルオーバールーティング

  • プライマリリソース障害時にセカンダリへ自動切り替え
  • ヘルスチェックと組み合わせて使用

5. 地理的位置情報ルーティング

  • ユーザーの地理的位置に基づいてルーティング
  • 地域別コンテンツ配信やコンプライアンス対応

6. 地理的近接性ルーティング

  • リソースとユーザーの地理的距離に基づいてルーティング
  • バイアス値で調整可能

7. 複数値回答ルーティング

  • 複数の正常なリソースをランダムに最大8つ返す
  • シンプルな負荷分散

実践的なユースケース別推奨設定

ケース1: 静的Webサイト(EC2 + Elastic IP)

# ルートドメイン
example.com    A    203.0.113.10

# wwwサブドメイン
www.example.com    CNAME    example.com

ケース2: ALB配下の高可用性Webアプリ

# ルートドメイン(Aliasレコード使用)
example.com    ALIAS A    my-alb-123.ap-northeast-1.elb.amazonaws.com

# wwwサブドメイン
www.example.com    ALIAS A    my-alb-123.ap-northeast-1.elb.amazonaws.com

ポイント: CNAMEではなくAliasレコードを使用することで、ルートドメインにも設定可能。


ケース3: CloudFront + S3 静的サイトホスティング

# CloudFrontディストリビューション
example.com    ALIAS A    d123abc.cloudfront.net
www.example.com    ALIAS A    d123abc.cloudfront.net

ケース4: 外部メールサービス(Google Workspace)統合

# MXレコード
example.com    MX    1    aspmx.l.google.com
example.com    MX    5    alt1.aspmx.l.google.com
example.com    MX    5    alt2.aspmx.l.google.com

ケース5: マルチリージョン構成(フェイルオーバー)

# プライマリ(東京リージョン)
example.com    A    Primary    203.0.113.10    (ヘルスチェックID: hc-tokyo)

# セカンダリ(大阪リージョン)
example.com    A    Secondary    203.0.113.20    (ヘルスチェックID: hc-osaka)

ルーティングポリシー: フェイルオーバー


コスト最適化のポイント

1. Aliasレコードの活用

  • Route53内のAWSリソースへのクエリは無料
  • CNAMEの代わりにAliasレコードを使用

2. TTLの適切な設定

  • 安定した環境では長めのTTLでクエリ数を削減

3. ヘルスチェックの最適化

  • 必要最小限のヘルスチェック間隔
  • 複数リージョンでのチェックは本当に必要か検討

まとめ

レコードタイプの選択フローチャート

1. マッピング先は?
   ├─ IPv4アドレス → Aレコード
   ├─ IPv6アドレス → AAAAレコード
   └─ ドメイン名
      ├─ AWSリソース
      │  └─ ルートドメイン?
      │     ├─ YES → Aliasレコード
      │     └─ NO  → Aliasレコード or CNAME
      └─ 外部リソース
         └─ サブドメイン?
            ├─ YES → CNAMEレコード
            └─ NO  → Aレコード(外部IPアドレス)

重要ポイント

  1. ルートドメイン設定: CNAMEは不可、Aliasレコードを使用
  2. AWSリソース統合: 可能な限りAliasレコードを活用(無料クエリ)
  3. TTL管理: 環境に応じた適切な設定
  4. ルーティングポリシー: 要件に応じた高度なトラフィック制御
  5. ヘルスチェック: フェイルオーバー構成時は必須

一般的な推奨構成

シナリオ 推奨レコードタイプ
静的IP(EC2) Aレコード
ルートドメイン + ALB/NLB Aliasレコード
ルートドメイン + CloudFront Aliasレコード
ルートドメイン + S3 静的サイト Aliasレコード
サブドメイン + 外部サービス CNAMEレコード
メール受信 MXレコード

Route53とDNSレコードを正しく理解し、適切に設定することで、高可用性かつコスト効率の良いインフラストラクチャを構築できます。


参考リンク

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?