はじめに
無料のApp Serviceマネージド証明書を実際に発行して実装してみたのでその手順をメモする。この機能はカスタムドメインに対して無料の証明書を発行し、その証明書はApp Serviceで管理され、さらに自動で更新されるというもので、いつも悩ましい証明書の運用から解放される可能性のあるサービスである。現在この機能はプレビュー公開されている。
公式ドキュメントの手順は下記の通り。
https://docs.microsoft.com/ja-jp/azure/app-service/configure-ssl-certificate#create-a-free-certificate-preview
制限事項など
- ワイルドカード証明書はサポートされない
- ネイキッド ドメインはサポートされない
- エクスポート不可
- Aレコードはサポートされない (CNAMEを使う必要がある)
事前にDNSレコードを設定しておく必要がある。以下のURLのチュートリアルはAzure DNSでの設定方法だが、こちらを参考に設定すると良い。
https://docs.microsoft.com/ja-jp/azure/dns/dns-web-sites-custom-domain
App Services は、TXTレコードを、カスタム ドメインの所有者であることを検証するために構成時に参照するので、TXTレコードも忘れずに設定しておくことが重要。
手順のメモ
プレビュー機能なので今後GAに向けて設定画面や手順等は変わっていく可能性がある事に注意
カスタムドメインをApp Serviceに適用
Azure PortalのApp Serviceの画面から[Custom domains]メニューを選択し[Add custom domain]を選択する。
Custom domain欄にカスタムドメインのCNAMEレコードを入力し[Validate]を押して有効性をチェックする。チェック項目が両方ともグリーンのステータスになったら[Add custom domain]をクリックする。
設定に成功すると以下のような画面になる。カスタムドメインはアサインされているが、SSL証明書が設定されていない状態になっている。
App Serviceマネージド証明書の作成
App Serviceにカスタムドメインをアサイン完了したら、マネージド証明書を作成する。[TLS/SSL setting]メニューに入り、[Private Key Certificates (.pfx)]を選択し、[+ Create App Service Managed Certificate]を選択する。
設定済みのCNAMEレコードを選択できるようになっているので、選択して[Create]を押す。
このように証明書がApp Serviceで管理される。これは楽かもしれない。
証明書の適用
証明書が発行されたので、これをカスタムドメインに適用する。[Custom domains]メニューに入り、ドメインのステータス欄のカスタムドメインの行が"Not Secure"となっていることを確認し、右の[Add binding]をクリックする。
カスタムドメインと発行した証明書をドロップダウンから選択し、SNIベースかIPベースかを選択する。ここではSNIを選択。設定完了したら下部の[Add Binding]を押す。
ブラウザからアクセスして確認。証明書はDigiCertから発行されている。