カスタムドメイン
カスタムドメインとは?
AppService上で「utdapp0524」という名前のリソースを作成すると「utdapp0524.azurewebsites.net」というドメインが発行されます。Azureが無料で発行してくれるデフォルトのドメインなので、これはカスタムドメインではありません。
Azure側としては、無料でドメイン発行する代わりに「azure」という名前が入ったドメインにさせてもらいますよ。(もしURLをそのまま使ってアプリケーションが有名になったらURLにazureの名前が入ったURLが世の中の人の目に触れることでAzureの宣伝にもなるから、多少の金額はAzureがもちます。といった考え方です。)
この考え方は、ブログサービスで無料ブログを作成するとURLのドメイン部分に「hatena」「ameblo」とかが入るのと同じ考え方です。
このデフォルト状態に対して、有料プランに切り替えてくれれば、自分で決めたドメイン名(カスタムドメイン)を設定して良いですよ!というのはよくある話で、Azureもそれと同じです。
AppService/Functionsにカスタムドメインを設定する場合、Azure上でレンタルできるAppServiceドメインと、お名前.com・ムームードメインのような外部ドメインサービスのどちらかを使用する選択肢があるので、それらについて説明していきます。
お名前.com
ムームードメイン
AppServiceドメインと外部ドメインサービスの違い
自動更新
[AppServiceドメインでは自動更新可能]: 自動更新オンにできるので、1年後も勝手に自動更新されるように設定できます。
[外部ドメインサービスでは自動更新設定なし]: 更新時期がきたら、該当の外部サービス側で更新処理をした上で、Azure側(AppService側)も更新処理が必要です。これが決まった時期・タイミングでやらないといけないので、面倒に感じる人が多いです。
DNS設定
[AppServiceドメインではDNS設定不要]: Azureが自動でやってくれます。
[外部ドメインサービスではDNS設定が必要]: お名前.comなどの外部ドメインサービス側でレコード設定が必要なので、その辺りを理解して間違いのないように設定しないとうまく動いてくれません。
SSL証明書
SSL証明書とは?
無料と有料のものが用意されています。公式ドキュメントでは「セキュリティを確保する目的」であれば「マネージド証明書 (無料) で問題ない」旨が書かれていますので、この記事ではそちらを紹介します。
マネージド証明書 (無料)
メリット
[セキュリティ性は問題なし]: 先述しましたが、公式ドキュメントでは「セキュリティを確保する目的」であれば、マネージド証明書で十分であることが記載されています。
[DegiCert社が発行している]: Microsoftが採用したDegiCertという米企業が発行している証明書を使用しているので、信用もあります。
デメリット
[エクスポートできない]: Azureプラットフォーム上で管理されているものなのでAppService上でしか使えず、エクスポートして他で使うことはできません。
[ワイルドカード証明書は使えない]: 複数のサブドメインごとにSSLを発行すると発行の準備や、管理の手間がかかります。ワイルドカード証明書にすることで、サブドメインごとで買うより価格が抑えられまた管理コストも下がりますが、使えません。
[プライベートDNSでは使えない]: 仮想ネットワーク・プライベートエンドポイントを使用して構築している場合は、使えません。
[アクセス制限が設定できない]: AppService/Functionsにアクセス制限を設定していると、マネージド証明書の作成・追加ができなくなります。この制限事項の回避方法としては、マネージド証明書の作成・追加する際に一時的にアクセス制限を解除・許可設定する。マネージド証明書の作成・追加ができたら、再度アクセス制限を設定する。しかし、それだとマネージド証明書の自動更新の時にまたエラーが発生してしまいます。なので、理想の代替案としては、アクセス制限の影響を受けないAppService証明書 (有料) を使用することを推奨します。
AppService証明書 (有料)
外部で購入する証明書と同様のものが、Azure上でも購入できます。Azureから購入したAppService証明書は、GoDaddyによって発行されます。
メリットとしては、マネージド証明書 (無料) のデメリットが解消されるということになります。当然、自動更新ができたり、設定が簡単などのメリットもあります。
外部SSL証明書
カスタムドメインと同様に、外部サービスで購入してきて、AppServiceに設定することもできます。
メリット・デメリットに関しては、カスタムドメインと同様です。
以上です。