さくらのクラウド やってみたシリーズ(17) エンハンスドロードバランサー Let's Encrypt TLS電子証明書の自動設定
今日は前回作成した環境に対して引き続き変更を加えていきます。
Let's Encrypt
さくらのクラウド、エンハンスドロードバランサーではLet's Encryptと連携して証明書の自動発行と更新の機能が提供されています。もちろんそれ以外に外部電子認証局から発行された商用の電子証明を組み込むことも可能です。
Let’s Encrypt はInternet Security Research Group(ISRG:インターネットセキュリティ研究グループ)という 非営利団体(NPO)により運営されておりインターネット全体の HTTPS 化(暗号化)を促進することを目的に活動が行われています。
TLS 用電子証明書の有効期限
電子証明書やブラウザの規格をつかさどる、世界のWebブラウザと認証局(CA)が集まり、TLS証明書のルールを決める組織であるCA/Browser Forum(CA/Browser Forum)が、一般向けの TLS/SSL 証明書の有効期間を段階的に短縮する改正を可決しています。
これを受けさくらのクラウドでも段階的にLet's Encryptを用いて発行される電子証明書の有効期間を47日まで短くしていくことを発表しています。 これは業界全体の流れです。47日ごとの発行を手作業とすることは困難ですので、今後TLS用電子証明書の自動更新は避けられない機能となっていきます。
ACME
ACME プロトコル(Automatic Certificate Management Environment)は、
TLS/SSL 証明書の発行・更新・管理を自動化するための標準プロトコルです。
Let's Encrypt をきっかけに誕生し、現在は IETF の正式標準(RFC 8555) になっています。
エンハンスドロードバランサーではこのプロトコルを用いて電子証明書の自動更新を実現しています。
本来この機能を用いた自動更新では必要なファイルをウェブサーバに配置したり、モジュールを組み込んだりする必要があるのですが、エンハンスドロードバランサーによりそれらが抽象化されます。
さっそくやってみる
1. ドメイン名の設定
まずは以下のエンハンスドロードバランサーのVIPに対してドメイン名(Aレコード)を設定しアクセスを行えることを確認します。

この記事ではCloudflareを使ってweb.harunobukameda.comを設定します。

2. HTTPSの設定
待ち受けポートタブでHTTPとなっているものの鉛筆アイコンをクリックしてHTTPSへ変更させます。


選択できる暗号化スイートは以下の4つが提供されています。

反映をクリックします。
もう一つ待ち受けポートをhttp/80で追加します。これは冒頭で説明したACMEの実行に必要なものです。


3.電子証明書の設定
次にSSL証明書の設定からLet's Encryptの設定をクリックします。

証明書を発行する対象のドメイン名を指定します。

またサブジェクト代替名を用いることで複数のドメイン名を設定することが可能です。
反映をクリックします。
この状態で毎日14時30分頃に電子証明書が発行されますが、以下の更新を選択することで即時発行処理が行われるため選択します。

しばらく待つと以下の様なメールを受信します。

4. テスト
HTTPSでアクセスできれば成功です。

Discussion