Amazon Route 53 とは
Amazon Route 53 (以下 Route 53) は、AWS が提供する DNS サービスのことです。Web コンソールや API から簡単にドメイン情報やゾーン情報を設定したり管理したり可能となります。
Route 53 は、以下の機能を持つ DNS です。
- ドメイン管理機能
- 権威 DNS 機能
権威 DNS なので、自分が保持しているドメイン名以外の名前解決は行いません。また、こういった情報を保持していない DNS を区別して、キャッシュ DNS と呼びます。
また、Route 53 は単にドメイン情報や DNS 情報を管理するだけでなく、ネットワークトラフィックのルーティングや接続先のシステムの状況に応じた接続先の変更も行えます。
Route 53 では、こういったオプションを使って、可用性やレスポンスを高めることができます。
Route 53 の特徴
信頼性
- 高い SLA(100%と言われている)
この高い信頼性の部分ですが、4つのネームサーバーで構成されているため、4台のサーバが同時に障害になることはないということから、100% としているようです。
コスト
- 使った分のみのコストで非常に安価
柔軟性
- 7つのトラフィックルーティングポリシー
ドメインの管理
Route 53 を使って、新規のドメインを取得したり、更新したりの手続きができるため、ドメインの取得からゾーン情報の設定まで、一貫した管理が可能になります。
ドメインの年間利用料は、通常の AWS 利用料の請求に含めることができるため、自動更新機能を使って更新漏れも避けられます。
ホストゾーン
レコード情報の管理単位です。通常はドメイン名となります。
DNS では IP アドレスとドメイン名やホスト名を変換する「アドレス帳」を持っていますが、AWS ではこれをホストゾーンと呼んでいます。
例えば「kkinternal.com」のレコード情報を DNS で管理する場合、「kkinternal.com」がホストゾーンということになる。
レコード情報
「www.kkinternal.com」は「192.168.1.100」という IP アドレスを持つといったような、ドメイン名又はサブドメイン名と IP アドレスを変換するための情報のことです。
一般的な DNS のレコード:
DNS の基本レコードについては、以下のようなものがあります。
- A レコード:ホスト名に対する IPv4 アドレスを定義(Address)
- AAAA レコード:ホスト名に対する IPv6 アドレスを定義
- CAA レコード:ドメインまたはサブドメインの証明書の発行を許可する認証機関 (CA) を定義(Certification Authority Authorization)
- CNAME レコード:ホスト名やドメイン名の別名を定義(Canonical Name)
- MX レコード:ドメイン宛てのメールサーバーのホスト名を定義(Mail Exchange)
- NAPTR レコード: 動的委任発見システム (DDDS: Dynamic Delegation Discovery System) アプリケーションで、1つの値を別の値に変換または置き換えるために使用(The Naming Authority Pointer)
- NS レコード:ゾーンを管理するネームサーバー名を定義(Name Server)
- PTR レコード:アドレスに対するホスト名(逆引き)を定義(Pointer Resource)
- SOA レコード:DNS サーバの動作を決める基本情報を定義(Start Of Authority)
- SPF レコード:送信ドメイン認証を定義(Sender Policy Framework)
- SRV レコード:負荷分散サービスの提供や冗長性の確保、サービスポート番号(Service Location)
- TXT レコード:ホスト名に関連づけるテキスト情報(文字列)を定義 (Text)
Route 53 が使える DNS レコード:
Route 53 で使用できるレコードは、上記の一般的なレコードの他に、Aliasレコードというものがあります。
- Alias レコード:CloudFront(AWS が提供する CDN サービス)や ELB,、S3(AWS が提供するオブジェクトストレージの1つ)などといった AWS のリソースを FQDN 指定できる。
CNAME レコードでも同じようなことが可能であるが、Zone Apex にも登録できるという点が CNAME と異なる。
これ、正直なところ、私にはあまりピンときません。DNS に関する深い知識がありませんので。とりあえず、「CNAME レコードでは制限(Zone Apex には登録ができない)があるが、Alias レコードの方にを使うとその制限がない」くらいで理解しておきます(何事も学ぶことを進めていけば、後から分かるようになります!)。
DNS を深く理解している方は、こちらのサイトに違いについていろいろと記述がありますので、読んでみると理解が深まるかもしれません。
Zone Apex とは
ドメインそのものを指します。つまり、「kkinternational.com」が Zone Apex になります(「www.kkinternal.com」などがサブドメイン)。
「kkinternal.com」を S3 のウェブホスティングサービスにアクセスする独自ドメインとして利用したい場合、Route 53 以外の DNS では CNAME の仕様上、登録ができない。
トラフィックルーティングポリシー
DNS の名前解決の問い合わせに対して、どの様に応答するかを決めるルーティングポリシーが 7つあります。
このポリシーについては、トラフィックルーティングポリシーのAWS のサイトをしっかり読むことをお勧めします。
1. シンプルルーティング
- 標準 DNS のレコードを使用
- 標準的な 1対1 のルーティング(1つのリソースに対してトラフィックをルーティンング)
2. フェールオーバールーティング
- アクティブ/スダンバイ方式
- アクティブ側のシステムへのヘルスチェックが失敗した場合、スダンバイ側システムへルーティング
- Sorry サーバーを登録しておけば、本番機の障害時に Sorry コンテンツを表示させることができる
3. 位置情報ルーティング
- ユーザーの位置情報(DNS リクエストの位置情報)に基づき、トラフィックをルーティング
- 日本からのアクセスは日本語のコンテンツの Web サーバーに接続させることができる
4. 地理的近接性ルーティング
- リソースの場所に基づき、トラフィックをルーティング
- トラフィックの発信元の地理的リージョンのサイズをバイアスという値で定義
- トラフィックをある場所のリソースから別の場所のリソースに移動する際に使用
5. レイテンシールーティング
- 複数箇所にサーバーが分散されて設置されている場合、遅延が最も小さいサーバーにリクエストをルーティング
- 特定サーバーだけ高負荷になった場合にリクエストを分散
6. 複数値回答ルーティング
- 1つのレコードに異なる IP アドレスを複数登録し、ランダムに接続させる
- 複数のリソースへルーティングするため、ヘルスチェックで NGとなったサーバーにはアクセスをさせない
- 正常に稼働しているサーバーに対してのみの負荷分散が可能
7. 加重ルーティング
- 指定した比率で複数のリソースにトラフィックをルーティング(重みを使ってトラフィック負荷を分散)
- 拠点をまたがってリソースの異なるサーバーが設置されている場合、リクエスト比率を調整することが可能
- テストのために新しいサービスをリリースしたサーバーに、一定割合のユーザーを誘導するといった使い方もできる
その他の機能
トラフィックフロー
トラフィックルーティングポリシーを組み合わせると、どうしても複雑になってしまいます。
- ルーティングポリシーを組み合わせることで、さまざまなルーティング環境を構築できる。
- しかし、各レコード間の設定が複雑になる。
これを管理しやすくするためのツールがトラフィックフローになります。ビジュアル的に分かりやすく組み合わせるためのツールで、複雑なルーティングをビジュアルエディターで構成することが可能になります。
- 複雑なルーティングをビジュアルエディターで構成することが可能
- ルールのバージョン管理やロールバックも可能
- 少々価格が高い(ポリシーあたり 50 USD/月)
DNS フェールオーバー
Route 53 が持つフォールトトレランスアーキテクチャーになります。システムに異常が発生した場合でも、被害を最小限に抑える仕組みを提供します。
稼働中のシステムに障害が発生しウェブサイトの閲覧ができなくなった場合、一時的に接続先を Sorry サーバーに切り替えるといった感じで動作させられます。
この教材を使って勉強してます。
「AWS認定資格試験テキスト AWS認定ソリューションアーキテクト-アソシエイト」
AWS認定資格試験テキスト AWS認定 ソリューションアーキテクト-アソシエイト【電子書籍】[ 佐々木 拓郎 ] 価格:2,618円 |