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

More than 1 year has passed since last update.

ACMのDNS検証で使用するCNAMEレコードは、特殊な使い方をしている

Posted at

CNAMEレコードとは?

CNAMEレコードとは、DNSで定義されるそのドメインについての情報の種類の一つで、あるドメイン名やホスト名の別名を定義するもの。別名は「エイリアス」(alias)と呼ばれる。
https://e-words.jp/w/CNAME%E3%83%AC%E3%82%B3%E3%83%BC%E3%83%89.html より

例えば、hoge.example.comにアクセスした場合、ドメインのDNS設定でCNAMEレコードにexample.comが設定されている場合、クライアントに対してexample.comを返却する。

この時、通常はhoge.example.comのホストゾーンにはAレコードが存在しない。
なぜなら、Aレコードが示すIPアドレスを返却すべきか、CNAMEレコードが指しているドメイン(example.com)を返却すべきか、わからなくなるからだ。

ACMのDNS検証

ところが、ACMのDNS検証ではhoge.example.comに対してAレコードもCNAMEレコードもどちらも設定する。
ただし、この場合通常のクライアントに対してはAレコードが示すIPアドレスが返却される。
CNAMEはいつ使われるのかというと、AWSが所有権検証を行う際に使用されるのである。

検証方法

ACMでDNS検証を選択した場合、AWSから当該のドメインのCNAMEレコードに対して、設定すべきCNAME NAMEとCNAME VALUEが送られる。
これを当該のドメインで設定することでAWSはドメインの所有権を検証し、ACMを発行することになる。
CNAMEレコードにマッピングされているCNAME NAMEとCNAME VALUEの組み合わせが、想定されているものかどうかを判断する、という方法で検証を行う。
IDとパスワードの関係に近い気がする。(というかそれそのもの?)
これがきちんと設定されていないと、ACMの自動更新が行えない。

感想

DNSもちゃんと理解できてないのに、特殊なCNAMEの使いかたをしていて混乱した。
DNS難しいからもっとちゃんと理解したい。

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