Azure App Service 証明書 をApplication Gatewayで使ってみる

気にはなっていたものの手を出していなかったApp Service 証明書を使ってみるというものです。

名前の通りAzure App Serviceで利用するには簡単に設置できます。

が、今回は他のサービスで利用したいと思ったのでその検証を行いました。

 

SSL証明書発行

まずはSSL証明書を発行します。

Azure Portalより操作していきます。

  1. App Service 証明書を検索し、作成。  f:id:tsukatoh:20180207115256p:plain f:id:tsukatoh:20180207120004p:plain
  2. App Service 証明書の新規作成。

    SKUはStandardとWildcardが選べます。

    f:id:tsukatoh:20180207120245p:plainf:id:tsukatoh:20180207134132p:plain
  3. 証明書をAzure Key Vaultに保存する。
    状態から格納をクリックします。f:id:tsukatoh:20180207133426p:plain
  4. Key Vaultに証明書を格納する。
    必要事項を入力し、Key Vaultキーコンテナーを作成・格納します。
    f:id:tsukatoh:20180207140254p:plain

    格納されると以下のようにチェックが入ります。

    f:id:tsukatoh:20180207134922p:plain
  5. ドメインの検証。
    手順2:確認をクリックした後、確認方法を「手動による確認」に変更してドメイン確認トークンに表示されているものをTXTレコードとしてDNSに登録します。f:id:tsukatoh:20180207141700p:plain
    ステータスが変わるまで更新し、利用準備ができたら以下のようになります。

    f:id:tsukatoh:20180207154532p:plain

SSL証明書ファイルエクスポート

次は証明書ファイルのエクスポートですが、ポータル上は「証明書のエクスポート」とありますがPowerShellでやってね!ということなのでPowerShellでエクスポートします。
AzurePowerShellのインストール手順は以下を参照。
インストール時やスクリプト実行時にエラーとなるようであれば以下を実行します。

Powershell –ExecutionPolicy Bypass

[Windows]

docs.microsoft.com


[Mac/Linux]

docs.microsoft.com

docs.microsoft.com

 

  1. 証明書ファイル(pfx形式)のエクスポート・インポート
    Azure App Service Team Blogで公開されているスクリプトを利用します。

    copyasc.ps1として公開されているスクリプトをコピーし、ローカルに保存します。

    次にパラメータを編集します。
    $appServiceCertificateName = "ascdemo"
     ➔App Service 証明書のリソース名
    $resourceGroupName = "ascdemorg"
     ➔App Service 証明書が所属しているリソースグループ名
    $azureLoginEmailId = "user@microsoft.com"
     ➔Azureのログイン用Emailアドレス
    $subscriptionId = "fb2c25dc-6bab-45c4-8cc9-cece7c42a95a"
     サブスクリプションID
    出来上がったら実行します。

    .¥copyasc.ps1
    メールアドレス・パスワードを入力し、サインインします。
    f:id:tsukatoh:20180207163804p:plain
    実行結果が以下となります。
    出力ファイルパス、エクスポートパスワードが出力されます。

    f:id:tsukatoh:20180207164311p:plain

  2. Application Gatewayへ設定。
    出来上がったpxfファイルをApplication Gatewayへインポートします。
    詳細な手順はこちら

    f:id:tsukatoh:20180207172213p:plain

    以上でApplication GatewaySSL証明書を利用可能になります。

    [Chromeでの表示]

    f:id:tsukatoh:20180207174038p:plain
    [証明書情報]

    f:id:tsukatoh:20180207174124p:plain

     

提供される証明書は「Go Daddy」のものとなります。
ちなみにIISでもApacheでも利用できることは確認していますので、Azure以外のサイトでも利用可能です。