11
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?

ZOZOAdvent Calendar 2024

Day 19

ネイキッドドメインをCDN化する際に悩んだこと

Last updated at Posted at 2024-12-18

はじめに

これまでの社会人人生でなんと2度ネイキッドドメインに対してCDN化をするということを経験したりしてちょっと大変だったり悩ましいシーンなどがあったためここでアウトプットして成仏させていく。

ネイキッドドメインの悩み

ネイキッドドメインとは

  • ネイキッドドメイン(Zone Apexとも呼ぶ)
    • 例: example.com
  • サブドメイン
    • 例: www.example.com

厳密にはサブドメインのように見えてもZone Apexであることもある。
例えばexample.comゾーン内で1.example.comというレコードに対してNS委任を行い、委任された環境で1.example.comゾーンを作った場合は1.example.comがZone Apex。
つまり権威DNSの設定情報(Zone)と同じレコードがApex(頂点)という扱いになる。

ネイキッドドメインの良さ(個人的感覚)

分かりやすくそのサービスを象徴しているので、かっこいい!

  • 長らくネイキッドドメインのサービスを運用しているが本当にこれ以外に思いつかなかったりする

ネイキッドドメインのCDN化が結構大変

  • サイトのCDN化の方法として一般的なのが対象サイトのレコードをCDN環境のFQDNにCNAMEすること
  • しかしCNAMEには制約が存在しておりCNAMEレコードは他のレコードと同居ができない(RFC 1912
  • Zone Apexにはその他NSレコードやSOAレコードが存在しており、モロにこの制約に引っかかってしまう
  • この問題を回避するために各CDN提供社が手法を用意している、いくつか参考例を記載する
ベンダー 製品 手法 考慮ポイント
AWS Route53 Aliasレコード ・AWSの特定サービスに対してのみネイキッドドメインだったとしてもエイリアスレコードで対応可能(参考
Akamai Edge DNS Zone Apex Mapping(ZAM) ・AkamaiのEdge CDN環境に対してのみネイキッドドメインだったとしてもZAMで対応可能
色々 色々 IP AnyCast ・Aレコードとして払い出されたIP AnyCastを設定する
EDNS Client Subnet(ECS)に対応していないDNSサーバーだと挙動がおかしかったりする
・非対応な場合にクライアントの所在地ではなくDNS問い合わせを行ってきた端末に最も近い環境を応答してしまい遅延に繋がる可能性がある
・プライバシーの観点からECSを有効化していないパブリックDNSサーバーも多々存在する
  • IP AnyCastは一見便利そうだがECSの観点など考慮ポイントが多々ある、それ以外の手法は基本的に使いたいCDNサービスを提供するベンダーの権威DNSへの移行もセットで考えなくてはいけなくなるため導入ハードルが一気に上がる
  • DNSのサービスは可用性が高いものが多いためそこまで意識する必要がないかもしれないが各社の独自ロジックを使ってしまうと異なるサービスへのZONE転送などができなくなり冗長構成を取りづらかったりする

まとめ

  • ドメイン設計は将来を見越して計画的にやろう
11
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
11
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?