Azure Application Gateway 上でLet’s Encryptの証明書ファイルを更新する。

はじめに

くどうです。

証明書の更新は簡単です。ついでにLet’s Encryptの証明書ファイルを更新してみます。 Let’s Encryptの作成については前回の記事に書かれています。

Let’s Encryptの証明書を再作成

今回の証明書の再作成は運用しているサーバー上で行うことを前提としています。 Azure Application Gateway上でLet’s Encryptの証明書を再発行する場合、以下の条件があります。 ・対象ドメインで正引きが行え、サーバーと80ポートで通信が行えること。

これを実現するため、Azure上では以下の手順を踏み必要があります。 ・Application Gatewayでフロントポート80を追加(参考) ・バックエンドサーバーにLet’s Encrypt クライアントがインストールされている(参考) ・バックエンドサーバーにはHttpdが80ポートで動作している

80ポートを必要とする理由は、Let’s Encryptのプラグイン機能webrootではhttpdを利用します。 ドキュメントルートに認証用ファイルが作成され、認証サーバーから確認されることで発行されます。

では実際に作成していきます。

Let’s Encryptクライアントを起動します

webrootを選択します

更新するドメインを入力します

[Renew & replace the cert]を設定します

OKをクリック

webrootを入力します。 ここでは、Apacheのドキュメントルート「/var/www/html」を入力します。

問題なく完了すると以下のメッセージが表示されます。

以下のコマンドでも発行可能です。

Application Gatewayの証明書はpfx形式である必要があります。 そこでopensslで変換します。Exportパスワードを入力します。

[…]

Azure Application Gateway で Let’s Encrypt も使えます。Let’s Try !

はじめに

くどうです

4/12にLet’s EncryptがGAしました。 https://letsencrypt.org/2016/04/12/leaving-beta-new-sponsors.html

Let’s Encrypt は Azure Application Gateway でも利用可能です。 つまり無料で利用できる証明書をApplication Gatewayで使ってオフロードさせればいいじゃん! AWSでいうELBと同じですね。少々面倒ですが・・・ ということで、一通りの手順を書いていきたいと思います。 手順はここを参考にしています。 https://azure.microsoft.com/ja-jp/documentation/articles/application-gateway-ssl-arm/

手順

以下の流れで進めていきます。 出来上がるのは下の図

仮想ネットワークの作成

最初に仮想マシン、Application Gateway を作成する仮想ネットワークを作成します。 リソースグループ「appgw-rg」が作成され、仮想ネットワーク「appgwvnet(10.0.0.0/16)」とサブネット「subnet01(10.0.0.0/24)」「subnet02(10.0.1.0/24)」が出来上がります。 注意事項として、Application Gatewayと同じサブネットに仮想マシンは立てることができません。正確にはNICを設置することができませんでした。

仮想マシンの作成

仮想マシンは・・・ポータルから作った方が早いかも。 目的は、Let’s Encryptの証明書の発行およびsubnet02に配置しています。 IPアドレスは10.0.1.100にしています。

証明書の発行には443が開いている必要があります。セキュリティグループでルールを追加して作成します。

事前にLet’s Encryptの証明書をpfx形式で作成する必要があります。 既に持っているは「Application Gatewayの作成」まですっとぱして下さい。

Let’s Encrypt の証明書を発行

Let’s Encryptの証明書を発行するには、サーバーにクライアントソフトをインストールする必要があります。 下記を参考に進めます。 https://letsencrypt.org/getting-started/

Let’s EncryptはサーバーとFQDNで443通信が行えることで発行されます。 そのため、DNSの設定を事前に行う必要があります。 仮想マシンのIPをFQDNでAレコードとしてDNSへ追加します(設定は利用しているDNSをご確認ください)。 今回はAzureで完結するためAzure DNSで設定しています。 […]