AWS ACMのDNS検証をお名前.com, Xserver等のDNS管理サービスで行う方法

DNSって難しい。。。
最近DNSの難しさに頭を痛めている筆者です。。

AWSを使っていると、サービスのSSL証明書はACMで取得するケースが多い。
ACMの証明書取得のための検証方法は、ちょっと前まではEmail検証しかなかったが、今ではDNS検証が使えるため、
自動更新の面などから、そちらを使用する人も多いと思う。

Route53を使っているとDNS検証はとても簡単。
ボタンを押すだけで、Route53上に検証用レコードを追加してくれる。

でも、お名前.comやXserverなどの別のDNSサーバ・サービスで管理していると
ちょっとめんどくさい。

概要

広告

AWS ACMのDNS検証は「_」が色々足かせに

なぜなら、作成するDNSレコードはCNAMEであるだけでなく
CNAMEパラメータ、CNAME値の両方とも、先頭文字が「_」(アンダースコア)だからだ。

お名前.comでもXserverでも
cname値、「内容」の方のレコードに「_」(アンダースコア)は利用できない。

XserverはCNAME値に「_」アンダースコアは利用できないからACM検証できない?

その場合、ACMのDNS検証が使えないのかというとそんなことはない。という話。

公式ドキュメントではCNAME値(内容)の「_」(アンダースコア)は省略してもDNS検証できると書いてあります。
CNAME 値 _x2.acm-validations.aws を検証目的で x2.acm-validations.aws に変更できるとあります。

For example, the CNAME value _x2.acm-validations.aws can be changed to x2.acm-validations.aws for validation purposes. However, the CNAME name parameter must always begin with a leading underscore.

cnameパラメータの方には先頭の「_」は省略できないので注意です。
ドキュメント内の図をを和訳すると下記のような感じなので
CNAME値の「_」は外しても検証可能。

名前 タイプ
_<random value>.example.com. CNAME _<random value>.acm-validations.aws.
_<random value>.example.com. CNAME <random value>.acm-validations.aws.

AWS ACMのDNS検証をお名前.comとXServerで行う

ドキュメントだけだとちょっと心配なので
実際にXserverとお名前.comでACMのDNS検証ができるかどうか
CNAMEの設定してみたところ、問題なくACMのステータスが「使用可能」になった。

なのでドキュメント通り、ACMのDNS検証ができます。

XserverでAWS ACMのDNS検証の結果

Xserverだとこんな感じ。

AWS ACM DNS検証をXserverのDNS設定で行う方
ACMで確認すると、
ちゃんと「利用可能」になっている。おっけーおっけー。

AWS ACMのDNS検証を別のネームサーバーで行う方法

お名前.com でAWS ACMのDNS検証の結果

お名前.comでもやってみたところ、
AWSコンソールで「成功」が表示されたし、digでCNAMEの確認ができた。

こりゃよい。
AWSに全部移せないケースも多いしね。

詳しくは公式どうぞ

https://docs.aws.amazon.com/acm/latest/userguide/troubleshooting-DNS-validation.html



じゃあね〜〜〜〜。