一番短い名前解決 OCI DNS の Alias レコードについて


はじめに

Webサービスを提供するときに、URLは出来るだけ短くしたほうがなんとなく見栄えが良い気がします。
sugi.tokyoというドメインを例にしてみると、以下の2種類を見比べてみて短い方がシュッとしてかっこいい気がします。

所有しているドメインで一番短い名前は、Zone Apex (サブドメインを含まないドメイン名) と呼ばれています。
Zone Apex で名前解決を行うときに、Public IP アドレスが判明している場合は、シンプルにAレコードを作成すればよいです。

しかし、CDNサービスやWAFサービスなどを使用するときには、サービス側で指定される FQDN を経由することになります。このとき、Zone Apex に CNAME を作成することが出来ない仕様のため、CDNやWAFサービスを使用することが出来ません。

これに対応するために、OCI の DNS サービスでは、Alias レコードで解決することが出来ます。Aliasレコードを使用することで、Zone Apex に対してドメインを指定した名前解決用レコードを作成することが出来ます。
なお、Alias レコードは、RFCで定義されているレコードではなく、各DNSサービスで独自実装されているものになります。DNSサービスによっては 名称が違う場合があるので注意してください。

それでは、OCI の DNS サービス で Alias レコードを作成する方法をご紹介します。

前提条件

sugi.tokyo というドメインをOCI DNS サービスで管理していること。管理する具体的な手順は下の記事をご参照ください。

Aliasレコード登録

OCI の DNS サービスに移動し、Add Record を押します

ALIAS レコードを作成します。以下の設定を行うことで、sugi.tokyo で名前解決を行うと、sugi.tokyo.global.prod.fastly.net に解決するレコードが入力されます (まだ確定ではありません)

[Public Changes] を押すと、Alias レコードが作成されます。

Alias レコードが作成されたので、sugi.tokyo で名前解決をすると正常にAレコードが返ってくるのを確認できます

> dig +dnssec @8.8.4.4 sugi.tokyo. A

; <<>> DiG 9.11.3-1ubuntu1.1-Ubuntu <<>> +dnssec @8.8.4.4 sugi.tokyo. A
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 62150
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags: do; udp: 512
;; QUESTION SECTION:
;sugi.tokyo.                    IN      A

;; ANSWER SECTION:
sugi.tokyo.             29      IN      A       151.101.228.249  <======= Aレコードが返ってくる

;; Query time: 15 msec
;; SERVER: 8.8.4.4#53(8.8.4.4)
;; WHEN: Sun May 26 02:21:28 DST 2019
;; MSG SIZE  rcvd: 55

参考URL

Zone Apex (Naked Domain) CDN
https://tech.jstream.jp/blog/cdn/zone_apex_cdn/