はじめに
Webサービスを提供するときに、URLは出来るだけ短くしたほうがなんとなく見栄えが良い気がします。
sugi.tokyo
というドメインを例にしてみると、以下の2種類を見比べてみて短い方がシュッとしてかっこいい気がします。
- http://sugi.tokyo/ (シュッっとしていてカッコいい気がする)
- http://www.sugi.tokyo/ (ちょっと長い気がする)
所有しているドメインで一番短い名前は、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 サービスで管理していること。管理する具体的な手順は下の記事をご参照ください。
https://qiita.com/sugimount/items/7d14ca7185d87c9763ff
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/