おっさん社内SEエンジニアの勉強ブログ

勉強記録のブログとなります。

SAA学習-Route53-Route53の概要

今回のテーマ:Route53の概要

主要サービスの公式資料

Route53: docs.aws.amazon.com

概要

Amazon Route 53は、可用性と拡張性に優れたドメインネームシステム (DNS) ウェブサービスです。
DNSの概要について以下のものが挙げられます。

DNS

  • DNSはインターネット上で名前解決をする仕組み
  • 名前解決とはインターネットにおける人向けのUIRLをシステム向けの住所となるIPアドレスに変換するための仕組み
  • 企業サーバーに一時的なDNS情報を保持するキャッシュDNSサーバーと実際に名前解決機能がある権威DNSサーバーの2種が存在

f:id:In-houseSE:20210616075246p:plain

Route53とは

  • Route53はAWSが提供する権威DNSサーバー
  • Route53はDNSレコードというIPアドレスうとURLを紐づけた表を確認しルーティングを行う
  • ポート53番で動作しルーティング定義するためサービス名の由来となる

f:id:In-houseSE:20210616075854p:plain

Route53の特徴

  • 主要機能はドメイン登録/DNSルーティング/ヘルスチェックの3つ
  • ポリシーによルーティング設定
    設定概要は以下のものが挙げられ様々ルーティングを設定可能
  • AWS側で100%可用性を可能とするSLA
  • マネージドサービスとして提供しており、ユーザー側で冗長性を考慮は不要

Route53の利用方法

Route53の利用を開始後、ドメインを登録するとホストゾーンを自動生成し、そこにルーティングを設定します。
利用ステップとしては以下の4ステップになります。

①Route53にドメインを設定
ドメイン名と同じホストゾーンを自動生成
③ホストゾーンにルーティング方法となるDNSレコードを作成
トラフィックルーティングを設定

ホストゾーン

ドメインとそのサブドメイントラフィックのルーティングをする方法について情報を保持するコンテナとなります。

cf)ドメインの例:example.com
cf)サブドメインの例:sub.example.com

パブリックホストーゾーン

  • インターネット上に公開されたDNSドメインレコードを管理するコンテナ
  • インターネットのDNSドメインに対するとらふぃくのルーティング方法を定義

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

  • VPCに閉じたプライベートネットワーク内のDNSドメインのレコード管理をするコンテナ
  • VPC内のDNSドメインに対し、どのようにトラフィックをルーティングするかを定義
  • 1つのプラベートホストゾーンで複数VPCに対応
  • VPCが相互アクセス可能であれば複数リージョンのVPCでも同じホストゾーンを利用可能

DNSレコード

ルーティング方法を設定するため。DNMSレコードを作成し各種レコードを設定する。
主なレコードタイプは以下となります。

レコードタイプ 概要
SOA ドメインDNSサーバー/ドメイン管理のメールアドレス/知り合う番号等を保持し、ゾーン転送時に情報が更新されているかの判断に利用する
A ホスト名とIPアドレスの関連付けを定義するレコード
MX メール配送先(メールサーバー)のホスト名を定義するレコード
CNAME 正規ホスト名に対する別名を定義するレコード。特定のホスト名を別のドメイン名に転送するときなどに利用する

その他DNSレコードの参考文献: docs.aws.amazon.com

ALIASレコード

Route53固有の仮想リソースレコードになります。

ALIASレコードの概要

DNSクエリにAWSサービスのエンドポイントIPアドレスを返答する機能となります。
設定が可能な項目は以下となります。

  • 静的WEBサイトをして設定されたS3バケット
  • CloudFront
  • ELB
  • ホストゾーン内のリソースレコードセット

ALIASレコードのメリット

  • DNSクエリに対するレスポンスが高速
  • CNAMEにマッピングできないZoneApex(ドメイン名そのもの)を設定可能
  • ALIASレコードに対するクエリが無料でありRoute53と連携したDNSLookupを高速化する
  • CloudFrontでのクエリ回数を削減

トラフィックルーティングのタイプ

ルーティング方式として以下の内容があります。

シンプルルーティング(Simple)

  • レコードセットで事前に設定された値のみに基づいてDNSクエリに応答
  • 静的なマッピングによりルーティングを決定

加重ルーティング(Weighted)

  • 複数のエンドポイント毎の重み設定によりDNSクエリに応答
  • 重みづけの高いエンドポイントに多くルーティング

フェイルオーバールーティング(Failover)

  • ヘルスチェックの結果に基づいて、利用可能なリソースをDNSクエリに応答
  • 利用可能なリソースにのみルーティング

複数値回答ルーティング(Multivalue)

  • ランダムに選ばれた最大8つの別々のレコードを使用しIPアドレスを設定し、複数の値を返答
  • IPアドレス単位でヘルスチェックを実施し、ルーティングすることで、正常なリソース返す
  • ELBに代わるものではないが、正常なことが確認できる複数のIPアドレスを返す機能により、DNSを利用しアベイラビリティとロードバランシングを向上させることが可能

レイテンシールーティング(Latency)

  • リージョンの遅延によりDNSクエリに応答
  • 基本的にはユーザーの際よりのリージョンに返答
  • リージョン間の遅延が少ない方へルーティング

位置情報ルーティング(Geolocation)

  • ユーザーのIPアドレスにより位置情報を特定し、地域ごとに異なるレコードを返す
  • ネットワーク構成に依拠しない制度の高いレコードの区分けが可能

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

  • ユーザーとリソースの場所に基づいて地理的近接性ルールを作成し、トラフィックをルーティング
    • AWSリソースを使用している場合、リソースを作成したAWSリージョン
    • AWS以外のリソースを使用している場合、リソースの緯度と経度
  • 必要に応じてバイアスを設定し、特定のリソースにルーティングするトラフィック量を変更可
  • トラフィックフローを利用する必要

トラフィックフロー

従来はALIASレコードを使用し、複雑なルーティングポリシーを作成する対応が必要でした。
レコードに対しフロー図をエディタで作成するような設定方法となります。

今回のテーマは以上です。