当ブログをWordpressからheadlessCMS化/Next.jsに移行した際、インフラ周りでだいぶ苦戦したので復習がてら調べたことを残す。
ちなみに今回のドメインは新たに取得したものではなくXserverのドメインサービスですでに所有していたドメインのサブドメインを使用し、AWSのRoute53でドメインの管理ができる様にした。
参考:Amplify にデプロイしたアプリケーションをサブドメインで運用する
Route53
AWSが提供するDNSウェブサービス
Route53は国道53号線。53はTCP/IP通信でDNSが使用するポート番号のこと。
DNSとは
Domain Name System
ドメイン名とIPアドレスの関係を管理する電話帳のようなシステム(DNSサーバー)のこと。
DNSサーバーに対象のドメインのIPアドレスを問い合わせることを名前解決という。
1つのドメインに対して複数のIPアドレスを対応づけることも可能。
インターネットの DNS システムはいわば電話帳のようなもので、名前と番号のマッピングが管理されています。DNS サーバーはドメイン名を IP アドレスに変換することで、エンドユーザーがウェブブラウザにドメイン名を入力した際、どのサーバーにつながるかを管理します。このリクエストは、クエリと呼ばれます。
https://aws.amazon.com/jp/route53/what-is-dns/
キャッシュDNSサーバー
聞かれたドメイン名のIPアドレスを該当する権威サーバーに問い合わせ応答するサーバー。
また問い合わせた結果を一定期間キャッシュするサーバー。Route53ではリゾルバーと呼んでいる。フルサービスリゾルバと呼ばれることもある。
キャッシュする期間はTTL(Time To Live)で設定できる。Amazon Route 53 DNS のベストプラクティスではTTL 値の推奨範囲は 60 ~ 172,800 秒と記載があった。
TTLが短いとより頻繁にクエリを実行する必要がありコストが増大する。またTTLを長くするとキャッシュから応答されるため高速。場合によってはセキュアになる。
新しくレコードを追加した場合などは一時的にTTLを短くすることも可能。
権威DNSサーバー
ドメインとIPアドレスの紐付け(ゾーン)が情報として保持されていて、自身が管理する情報のみを応答するサーバー。Route53ではホストゾーンと呼んでいる。ネームサーバーと呼ばれるケースもある。
ドメインは階層を持つ。各ゾーンを管理しているのが権威サーバー。
DNSレコード
ドメインに関連付くIPアドレスやドメインに対するリクエストを処理する方法などが書かれた台帳(ゾーンファイル)の一行一行をDNSレコードという。TTLもここに記載されている。
権威サーバーの管轄ゾーン内で管理している。以下使用したレコードについてまとめておく。
Aレコード
ドメイン名に対応するIPアドレス(IPv4)が書かれたレコード。
CNAME
ドメイン名に別名を定義するレコード。
MXレコード
対象のドメイン宛のメール配送先(メールサーバー)を定義するレコード。
定義方法について
MXレコードを登録する際には優先度をつける必要があるので注意。
それを知らず、MXRRDATANotTwoFields (MX record doesn't have 2 fields) encountered with ‘*.com*'')
と怒られて地味に詰まった。
レコードの作成画面にも丁寧に記載があった
NSレコード
ゾーン情報を管理するネームサーバー(権威DNSサーバー)のサーバー名を定義するレコード。そのドメインのことなら◯◯サーバーに聞いて!っていう時に必要な情報。
Route53でパブリックホストゾーンを作成すると自動的に作成してくれる
SOA
Start of Authority (SOA)。ドメインに関する管理情報を定義するレコード。
Route53でパブリックホストゾーンを作成すると自動的に作成してくれる
TXT
ドメインに関する追加情報や任意の情報をテキスト形式で含めることができるレコード。
Amazon Route 53 がパブリックホストゾーンに作成する NS レコードと SOA レコード
レジストリ
レジストリとは、世界中で使われている「.com」や「.net」「.jp」などのトップレベルドメイン毎に1つのみ存在する一番上位の機関をいいます。
https://www.nadukete.net/domain-guide/setting/registry-registrar.html
ドメインのデータベースを管理している。
レジストラ
ドメインを登録すること。レジストリに対して新たにドメインを登録する権限をもつ事業者。
Route53では独自ドメインを取得、管理する機能をもつ(=レジストラ)
詰まったこと
Cromeからアクセスするとこの接続ではプライバシーが保護されません
とでる問題が発生。
=> 原因はMXレコードの登録がされていなかったからだった。
ドメインが E メールを受信するように設定されていることを確認します。ACM のメールサーバーが ドメイン検証 E メールの送信先を特定できるように、ドメインのネームサーバーにメールエクスチェンジャレコード (MX) を保持していることが必要です。
証明書のリクエストの失敗 – AWS Certificate Manager
またMXレコードを追加後も、暫く反映されずで詰まった。結果、TTLが3600になっていたからだった。
コメント