AWS Certificate Manager(ACM)で証明書管理をしていた経験から、Azureにおける証明書発行やドメイン検証の仕組みに興味を持ちました。特にDNSレコードの種類や検証方法に違いがあり、クラウド間の設計の差が垣間見えて興味深いポイントです。
今回は、Azureの App Service 証明書を使って証明書を発行し、ドメインに適用するまでをやってみました。
事前作業に作成しておくリソース
・KeyVault
証明書からKeyVaultへの操作を可能にするため、アクセス許可モデルは「コンテナーのアクセスポリシー」を設定。
・DNSゾーン
testtomi.com
証明書を実際に発行してみる
証明書作成
まずApp Service証明書を作成していきます。
Azureポータルから「App Service 証明書」で検索
ネイキッドドメインのホスト名は、DNSゾーンで作成したドメインを指定します。
証明書名はリソース名のため、ホスト名と合わせる必要はありません。

証明書が作成され、状態は発行の保留中であることが確認できます。

証明書発行
発行のため、証明書の構成を行います。
左ペイン 設定>証明書 の構成 を選択し、手順1:格納をクリックします。

キーコンテナーから選ぶで事前に作成していたKeyVaultを選択してください。

証明書の構成タブに戻ると手順1:格納にチェックが付いてます。次に手順2:確認をクリックします。

ドメインの検証を選択すると、ドメイン確認トークンがTXTレコードに自動で追加されます。

DNSゾーンにTXTレコードが追加された後、ドメインの検証の画面に戻って確認を押下します。
通知でドメイン確認トークンの作成が表示されたら成功です。

証明書の構成タブに戻ると手順2:確認、手順3:割り当てに対して同時にチェックが付いてます。

ここまで完了するとApp Service 証明書が発行済みになりました!

TXTレコードかCNAMEレコードか
気になったのが証明書のドメインをレコードセットに登録する際の種類です。
Azureだとドメインの検証の際に、TXTレコードが自動的に追加されました。
公式ドキュメントも参考にしてみます。

対してAWSでACMを発行した時は、自動でCNAMEレコードに割り当てられました。
公式ドキュメントにも書いてありますし、
私が行った際もCNAMEレコードでした。
AzureではTXTレコード、AWSではCNAMEレコードと、証明書検証のDNSレコード種類に差異がありました。
今回は理由まで調べきれませんでしたが、この差異の背景についてはさらに調査・勉強していきます。







