1. ホーム
  2. 記事一覧
  3. AWS Route 53とは?DNSの基本も解説

2023.12.26

AWS Route 53とは?DNSの基本も解説

この記事では、インターネット上で不可欠な役割を果たす「DNS(Domain Name System)」と、Amazon Web Services(AWS)が提供するDNSサービス「Route 53」について解説します。ウェブサイトやオンラインサービスの可用性と効率性を高めるためには、DNSの理解と適切なDNSサービスの選択が重要です。

DNSとは何か

DNSは、インターネット上でコンピュータやサービスが識別されるためのシステムです。人間が覚えやすいドメイン名(例えば www.example.com)を、コンピュータが理解しやすいIPアドレス(例えば 192.0.2.1)に変換する役割を果たします。この仕組みにより、ユーザーは複雑なIPアドレスを覚えることなく、インターネット上のリソースにアクセスできます。

DNSの仕組み

DNSは、階層的な構造を持ち、複数のサーバーが連携して動作します。ユーザーがウェブブラウザにドメイン名を入力すると、DNSサーバーはそのドメイン名に対応するIPアドレスを検索し、ブラウザに返します。このプロセスは、通常、数ミリ秒以内に完了し、ユーザーはほとんど待つことなくウェブページにアクセスできます。

DNSについてはエンベーダーで詳しく解説していますので、お時間があれば参照してください。

https://envader.plus/course/12/scenario/1023

Route 53とは何か

Route 53は、AWSが提供するクラウドベースのDNSサービスです。ウェブサイトやアプリケーションのドメイン名を管理し、高い可用性と信頼性を提供します。また、トラフィックフローの制御、ヘルスチェック、ドメイン登録など、DNS管理に関連する多様な機能を備えています。次のような機能を持ちます。

  • ホストゾーンの作成
  • レコードの作成
  • ルーティングポリシーの設定
  • ヘルスチェックの設定
  • ドメインの登録

Route 53の特徴

可用性と拡張性が高い

Route 53は、AWSのグローバルインフラストラクチャを利用しているため、高い可用性と拡張性を提供します。これにより、大規模なトラフィックがあっても安定してサービスを提供できます。

柔軟なルーティングポリシーを設定できる

ユーザーの地理的な位置やヘルスチェックの結果に基づいてトラフィックをルーティングするなど、柔軟なルーティングポリシーを設定できます。これにより、効率的なトラフィック管理と改善されたユーザーエクスペリエンスが実現します。

ルーティングポリシーの種類役割
シンプルレコードセットに定義された順序でトラフィックをルーティングする
加重レコードセットの重み付けに基づいてトラフィックをルーティングする
レイテンシーユーザーの位置に基づいて、最も低いレイテンシーのサーバーにトラフィックをルーティングする
フェイルオーバーメインのサーバーがダウンした場合、セカンダリのサーバーにトラフィックをルーティングする
ジオロケーションユーザーの位置に基づいて、特定の地域のサーバーにトラフィックをルーティングする

セキュリティ機能が充実している

Route 53は、DNS攻撃への耐性を高めるセキュリティ機能を備えており、安全なドメイン管理が可能です。

Route 53の使い方

AWS Route 53は、その直感的な管理コンソールと豊富な機能で、DNS管理をシンプルかつ効率的に行うことができます。以下では、マネジメントコンソールでのRoute 53の基本的な使い方について解説します。

ホストゾーンの作成

ホストゾーンは、特定のドメインとそのサブドメインに対するDNSレコードを管理するためのコンテナです。ホストゾーンを作成するには次を参考にしてください。

  1. AWS管理コンソールにログインし、Route 53のダッシュボードにアクセスします。
  2. 左メニューから「ホストゾーン」を選択し、右画面の「ホストゾーンの作成」ボタンをクリックし、新しいホストゾーンの詳細を入力します。ここにはドメイン名とコメント(任意)を含めます。
  3. 設定を確認し、「ホストゾーンの作成」をクリックしてホストゾーンを作成します。

※今回「タイプ」はパブリックホストゾーンを想定しています。

レコードの作成

DNSレコードは、ドメイン名をIPアドレスや他のドメイン名にマッピングするために使用されます。レコードを作成するには次を参考にしてください。

  1. 作成したホストゾーンを選択し、「レコードを作成」ボタンをクリックします。
  2. レコード名、レコードの種類(例:A、CNAME、MXなど)、値(例:IPアドレス)、TTL(生存時間)などの詳細を入力します。
  3. 「レコードを作成」ボタンをクリックしてレコードを保存します。

ルーティングポリシーの設定

ルーティングポリシーを使用して、トラフィックの流れを制御し、より効果的なトラフィック管理を行うことができます。ルーティングポリシーの種類には、シンプル・加重・レイテンシー・フェイルオーバー・ジオロケーションなどがあります。

  1. レコードの作成または編集画面で、ルーティングポリシーのタイプを選択します。
  2. ポリシーに応じた追加の設定(例:地域、重み付けの値など)を入力します。
  3. 設定を保存して、ルーティングポリシーを適用します。

TerraformによるRoute 53の管理

Terraformは、インフラストラクチャをコードとして管理するためのツールです。AWS Route 53のリソースをTerraformを使って管理することで、より一貫性があり再現性の高いDNS設定が可能になります。

Terraformとは何か

Terraformは、インフラストラクチャをコードとして管理するためのツールです。コードでインフラストラクチャを定義することで、インフラストラクチャの構築、変更、削除を自動化することができます。

Terraformについては次の記事で詳しく解説しています。

https://envader.plus/article/136

ホストゾーンの作成

Terraformを使ってホストゾーンを作成するには、以下のHCLコードを記述します。

resource "aws_route53_zone" "example" {
  name = "example.com"
}

このコードは、example.comという名前のホストゾーンを作成します。

Aレコードの作成

Terraformを使ってAレコードを作成するには、以下のHCLコードを記述します。

resource "aws_route53_record" "www" {
  zone_id = aws_route53_zone.example.zone_id
  name    = "www.example.com"
  type    = "A"
  ttl     = "300"
  records = ["192.0.2.1"]
}

このコードは、example.comホストゾーン内にwww.example.comというAレコードを作成します。このレコードはIPアドレス192.0.2.1を指します。

ルーティングポリシーの設定

Terraformを使ってルーティングポリシーを設定するには、以下のHCLコードを記述します。

resource "aws_route53_record" "www" {
  zone_id = aws_route53_zone.example.zone_id
  name    = "www.example.com"
  type    = "A"
  ttl     = "300"
  records = ["192.0.2.1"]
  routing_policy = "simple"
}

このコードは、example.comホストゾーン内にwww.example.comというAレコードを作成します。このレコードはIPアドレス192.0.2.1を指し、シンプルルーティングポリシーが設定されます。

Terraformの適用

Terraformのコードが記述できたら、以下のコマンドを実行して変更を適用します。

terraform plan
terraform apply

これらのコマンドは、Terraformの初期化、計画の確認、および変更の適用を行います。

まとめ

AWS Route 53は、安定性と高い可用性を提供するクラウドベースのDNSサービスです。柔軟なルーティングポリシーにより、ユーザーの地理的位置やシステムの状態に基づく効率的なトラフィック管理を実現。ドメインの登録と管理がシンプルで、大規模なウェブサイトやアプリケーションにも対応可能。また、高度なセキュリティ機能によりDNS攻撃から保護します。

Route 53は、ウェブサイトやアプリケーションのトラフィックを効率的に管理するのに役立ちます。例えば、複数のサーバーに負荷を分散したり、異なるリージョンに分散して災害対策をしたりできます。また、ビジネスの成長に合わせて、トラフィックを拡大したり縮小したりすることも容易です。

参考資料

Amazon Route 53 とは?

Resource: aws_route53_zone

エンベーダー編集部

エンベーダーは、ITスクールRareTECHのインフラ学習教材として誕生しました。 「遊びながらインフラエンジニアへ」をコンセプトに、インフラへの学習ハードルを下げるツールとして運営されています。

RareTECH 無料体験授業開催中! オンラインにて実施中! Top10%のエンジニアになる秘訣を伝授します! RareTECH講師への質疑応答可

関連記事