Azure App Serviceのカスタムドメイン追加からマネージド証明書使ったHTTPS化

2020-08-29App Service,Azure

Azure App Serviceのカスタムドメイン追加からマネージド証明書発行、HTTPS化までの手順をまとめてみました。

    • App Serviceのリソース作成
    • カスタムドメイン追加
    • カスタムドメインのマネージド証明書発行
    • カスタムドメインのHTTPS化(バインディングの追加)

※DNSにはAzure DNSを利用しています。

スポンサーリンク

App Serviceのリソースを作成

Azure App Serviceとは

Azure App ServiceはWebアプリケーションなどをホストするためのHTTPベースのサービスです。
OSやパッチなどがマネージドのサービスとして提供されます。

App Service の概要

複数の開発言語がサポートされOSはWindowsベースとLinuxベースで提供されます。
コンテナーをホストする事も出来ます。

独自ドメインが利用できる

Azure App Serviceは独自ドメインを利用する事も出来ます。

既存のカスタム DNS 名を Azure App Service にマップする

今回はApp Serviceで独自ドメインを利用する為の設定手順をまとめています。

設定値

今回利用したApp Serviceの設定値です。
カスタムドメインの設定確認の為に必要な最低限の設定のみとしています。

タブ名 項目名 設定値
基本 App Service名 app-example
公開 コード
ランタイムスタック .NET 8(TLS)
※何を選択してもカスタムドメインの設定は同じです
オペレーティングシステム Linux
価格プラン Free F1(新規作成)
※デプロイ後にBasic B1に変更
データベース データベースの作成 チェックを入れない
デプロイ 継続的デプロイ 無効化
ネットワーク パブリックアクセスを有効にする オン
ネットワークインジェクションを有効にする オフ
監視 Application Insightsを有効にする いいえ

※App Service プランも一緒に新規作成しています。
※ネットワークは環境に合わせて必要最低限のアクセスとなるように設定して下さい。
※価格プランによって設定出来る内容が異なります。

App Serviceのリソース作成

App Serviceのリソースを作成します。

App Serviceをデプロイ

App Serviceの画面で作成を選択します。
Web アプリを選択します。

Webアプリの作成画面です。
インスタンスの詳細や価格プランを設定します。

※今回はカスタムドメイン設定が使えない事を確認する為、あえてFreeプランを選択しています。

データベース、デプロイ、ネットワーク、監視設定します。
今回は最低限の設定としています。
確認画面です。
設定内容を確認したのちに、作成を選択します。

既定のドメインへアクセス確認

Azure App Serviceでは既定のドメインが払い出しされます。
既定のドメインへのアクセスして確認します。

既定のドメインへアクセス確認
Azure Portalで規定のドメインを確認します。
ブラウザでアクセスすると、HTTPSで接続できる事が確認出来ます。

App Serviceにカスタムドメインを追加

App Service プランをアップグレード

Freeプランではカスタムドメインは利用出来ません。

前提条件(既存のカスタム DNS 名を Azure App Service にマップする)

App Serviceプランをスケールアップ(アップグレード)します。

スケールアップ(アップグレード)
カスタムドメインで今すぐアップグレードかスケールアップアップ(App Serviceのプラン)を選択します。
App Serviceプランのリストが表示されます。
Basic B1以上(Custom domainにチェックが入っている)のプランを選択します。

カスタムドメイン検証用レコード発行

カスタムドメインの追加はDNSによる検証で行われます。

    • カスタムドメインの検証用レコード発行
    • DNSへのレコード(CNAMEとTXT)追加
    • ドメイン検証、追加

カスタム ドメインを構成する

※Aレコードでの検証も出来ます。マネージド証明書発行にはAレコードが必要との注意書きがあります。

カスタムドメインを追加
左側のメニューでカスタムドメインを選択します。
カスタムドメインの追加を選択します。
ドメイン名を入力するとドメインの検証が表示されます。
表示された内容をコピーします。

DNSへレコード追加

ドメイン検証用のレコードを追加します。
DNSにはAzure DNSを利用しています。

レコード追加
先ほどコピーしたCNAMEとTXTレコードの2つを追加します。

カスタムドメイン検証、追加

ドメイン検証してカスタムドメインを追加します。

ドメイン検証、追加
DNSへレコード追加後に検証します。
状態がグリーンになっていればOKです。
最後にカスタムドメインを追加して作業完了です。
追加したドメインが表示されます。

※検証後TXTレコードは削除します。

アクセス確認

追加したカスタムドメインにアクセスして確認します。

カスタムドメインへアクセス
アクセスするとプライバシーエラーの画面が表示されます。
HTTPで接続出来ますがHTTPSでは接続出来ない状態となります。

マネージド証明書を使ってカスタムドメインをHTTPS化

マネージド証明書を追加

マネージド証明書を追加します。
App Serviceのマネージド証明書は無料で利用する事が出来ます。

無料のマネージド証明書を作成する

※注意点としてWebアプリのIPアドレスを指すAレコードが必要ですとの記載があります。

マネージド証明書を追加

カスタムドメインのIPアドレスをAレコードに追加します。

左側のメニューで証明書を選択します。
マネージド証明書のタブで証明書の追加を選択します。
証明書発行するカスタムドメインを選択します。
管理用の証明書の名前を設定します。
検証、追加します。
発行が完了するとマネージド証明書のタブに表示されます。

※Azure DNSで設定時CNAMEレコードが残ったままですとAレコードが追加できません。

バインディングの追加

マネージド証明書は発行しただけでは利用されません。
カスタムドメインへ証明書をバインディングする必要があります。

バインディングを追加する

バインディングの追加
左側のメニューでカスタムドメインを選択します。
対象のカスタムドメインでバインディングの追加を選択します。
証明書を選択し追加します。
状態がセキュリティ保護に変わります。

アクセス確認

追加したカスタムドメインへアクセスして確認します。

アクセス確認
HTTPSで接続してもエラーにならず、発行したマネージド証明書が確認出来ます。

マネージド証明書以外の利用について

マネージド証明書以外の証明書も利用出来ます。
Let’s Encryptの証明書の発行から利用までの手順についてはこちらに纏めています。

最後に

Azure App Serviceでのカスタムドメイン設定手順について纏めてみました。
カスタムドメイン設定からマネージド証明書の発行、バインディングの追加までの一連の流れについて纏めています。
引き続き色々試してみたいと思います。

キーコンテナー(Azure Key Vault)でのSSL証明書管理についてはこちらに纏めています。

スポンサーリンク