SSL 証明書自動化:OpenResty Edge における ACME プロトコルによる自動発行・更新
SSL 証明書の自動化とは、ACME プロトコル(RFC 8555)を用いて、TLS 証明書の申請・検証・インストール・更新を人手を介さずに行うことです。証明書の最長有効期間が 2026 年の 200 日から 2029 年には 47 日へと短縮される中、手動更新はもはや現実的ではありません。OpenResty Edge は ACME 自動化をゲートウェイに直接組み込んでおり、Let’s Encrypt、ZeroSSL をはじめ、ACME プロトコルに準拠したあらゆる CA(パブリックまたは自社構築)から、ワイルドカードやマルチドメインを含む証明書を自動発行・自動更新できます。追加の ACME クライアントの導入は不要です。
本稿では、ACME プロトコルの仕組み、証明書の自動更新が必須となりつつある理由、そして OpenResty Edge で数クリックで設定を完了する方法を解説します。
ACME プロトコルとは
ACME(Automated Certificate Management Environment:自動証明書管理環境)は、IETF のオープン標準(RFC 8555)です。クライアントと認証局(CA)がどのように通信してドメイン所有権を検証し、TLS 証明書の発行・更新・失効を人手を介さずに行うかを定めています。元々は Let’s Encrypt のために開発されたプロトコルですが、現在ではほとんどのパブリック CA でサポートされています。
OpenResty Edge では、ACME(Automatic Certificate Management Environment)プロトコルの中核機能を実装し、証明書の自動管理と発行をサポートします。これにより、ユーザーは大規模サイトの証明書ライフサイクルを、より柔軟かつ安全な方法で管理できるようになります。
主な機能は以下の通りです。
- 証書申請と自動更新:ACME プロトコルを通じて、申請から検証、更新(再発行)までの一連のプロセスを完全に自動化します。
- ドメイン所有権検証:HTTP-01 と DNS-01 の 2 種類の検証方式に対応しています。
- ACME サーバーとの連携とタスクスケジューリング:証明書発行タスクを一元的に管理し、自動再試行やポーリングによる更新を行います。
- 証書ストレージ、検索、および配布:Edge プラットフォームには証明書のストレージと配布メカニズムが組み込まれており、追加のクライアントは不要です。
証明書の自動管理に ACME が必要な理由
この緊急性は業界全体に及びます。CA/Browser フォーラムは、証明書の最長有効期間を 2026 年の 200 日から 2027 年には 100 日、2029 年には 47 日へと段階的に短縮することを可決しました。このペースでは、各ドメインで年間 8 回以上の更新が必要となり、証明書の自動更新なしには維持できない作業量になります。
これまで、OpenResty Edge のユーザーは、SSL/TLS 証明書を 2 つの方法で設定していました。手動で証明書をアップロードするか、Let’s Encrypt(LE)を使用して自動発行するかのいずれかです。これらの方法には、以下の課題がありました。
- Let’s Encrypt のレート制限:単一アカウントまたは単一ドメインでの発行頻度に制限がありました。
- 証明書の発行元が単一:複数の発行元(issuer)や企業内部 CA のニーズに対応できませんでした。
- 管理の複雑さ:マルチテナントやマルチドメインの環境では、証明書の更新時にエラーが発生しやすくなっていました。
ACME プロトコルを通じて証明書を管理することで、以下のメリットが得られます。
- LE の制限を克服:複数の発行元(issuer)と複数アカウントの設定をサポートし、発行頻度制限に容易に対処できます。
- 柔軟な CA 選択:Let’s Encrypt の他に、ZeroSSL や自社で構築した ACME サービスも選択可能です。
- 一元的な管理:Edge プラットフォーム上で証明書の一元的な表示、配布、更新が可能となり、運用負担を軽減します。
OpenResty Edge で SSL 証明書の自動発行・自動更新を設定する方法
まず、グローバル設定ページの証明書発行者(CA)で、証明書発行者情報を追加します。
次に、アプリケーションの SSL ページで、アプリケーション全体に共通の証明書を適用するか、または「証明書を追加」ボタンをクリックしてアプリケーションに特定の SSL 証明書を追加するかを選択します。
「証明書を追加」ボタンをクリックした後、前の手順で設定した ACME 証明書発行者を選択して証明書を生成します。
証明書を発行する前に、ドメインの DNS が正しく解決され、Edge Node ゲートウェイサーバーを指していることをご確認ください。その後、Edge がドメイン検証と証明書発行を自動的に完了します。
同じドメインに複数の ACME 証明書を設定する方法については、以下をご参照ください:アプリケーション内証明書
証明書の発行が完了したら、301 ページルールで HTTP を HTTPS にリダイレクトすることで、サイト全体で SSL を強制できます。
他の方法で証明書をアップロードしたい場合は、以下をご参照ください:
FAQ:SSL 証明書自動化に関するよくある質問
ACME はワイルドカード証明書に対応していますか?
はい。ワイルドカード証明書には DNS-01 検証方式が必要で、OpenResty Edge は HTTP-01 と DNS-01 の両方に対応しています。設定が完了すれば、Edge は ACME 対応の CA を通じて、ワイルドカードおよびマルチドメイン証明書を自動的に発行・更新します。
OpenResty Edge の証明書自動更新はどのように動作しますか?
Edge は証明書タスクを一元的にスケジューリングします。期限が近づいた証明書をポーリングで検出し、失効前に自動更新し、失敗時には自動で再試行します。更新された証明書は内蔵の仕組みで各ゲートウェイノードに保存・配布されるため、外部の ACME クライアントや cron ジョブは不要です。
自動発行された証明書と手動でアップロードした証明書は共存できますか?
はい。ACME で自動発行された証明書は、手動でアップロードされた証明書と同じ Edge コンソールで併せて管理でき、既存のデプロイメントに影響を与えません。
証明書の更新に失敗した場合はどうなりますか?
Edge は証明書の有効期限が切れる約 30 日前から更新を開始するため、更新に一度失敗してもサービスには影響しません。現在の証明書は引き続き有効なまま、Edge が自動的にリトライします。また、コンソールから手動で再発行をトリガーすることも可能です。
OpenResty Edge について
OpenResty Edge は、マイクロサービスと分散トラフィックアーキテクチャ向けに設計された多機能ゲートウェイソフトウェアで、当社が独自に開発しました。トラフィック管理、プライベート CDN 構築、API ゲートウェイ、セキュリティ保護などの機能を統合し、現代のアプリケーションの構築、管理、保護を容易にします。OpenResty Edge は業界をリードする性能と拡張性を持ち、高同時接続・高負荷シナリオの厳しい要求を満たすことができます。K8s などのコンテナアプリケーショントラフィックのスケジューリングをサポートし、大量のドメイン名を管理できるため、大規模ウェブサイトや複雑なアプリケーションのニーズを容易に満たすことができます。
著者について
章亦春(Zhang Yichun)は、オープンソースの OpenResty® プロジェクトの創始者であり、OpenResty Inc. の CEO および創業者です。
章亦春(GitHub ID: agentzh)は中国江蘇省生まれで、現在は米国ベイエリアに在住しております。彼は中国における初期のオープンソース技術と文化の提唱者およびリーダーの一人であり、Cloudflare、Yahoo!、Alibaba など、国際的に有名なハイテク企業に勤務した経験があります。「エッジコンピューティング」、「動的トレーシング」、「機械プログラミング」 の先駆者であり、22 年以上のプログラミング経験と 16 年以上のオープンソース経験を持っております。世界中で 4000 万以上のドメイン名を持つユーザーを抱えるオープンソースプロジェクトのリーダーとして、彼は OpenResty® オープンソースプロジェクトをベースに、米国シリコンバレーの中心部にハイテク企業 OpenResty Inc. を設立いたしました。同社の主力製品である OpenResty XRay(動的トレーシング技術を利用した非侵襲的な障害分析および排除ツール)と OpenResty Edge(マイクロサービスおよび分散トラフィックに最適化された多機能ゲートウェイソフトウェア)は、世界中の多くの上場企業および大企業から高い評価を得ております。OpenResty 以外にも、章亦春は Linux カーネル、Nginx、LuaJIT、GDB、SystemTap、LLVM、Perl など、複数のオープンソースプロジェクトに累計 100 万行以上のコードを寄与し、60 以上のオープンソースソフトウェアライブラリを執筆しております。
翻訳
英文版 の原文と日本語訳版(本文)をご用意しております。読者の皆様による他の言語への翻訳版も歓迎いたします。全文翻訳で省略がなければ、採用を検討させていただきます。心より感謝申し上げます!





















