Classic/VPC環境で利用できます。
Automated Certificate Management Environment(ACME)は、証明書発行、検証、更新、廃棄を自動化するために設定された RFC 8555標準プロトコルです。Certificate Managerは、Advanced証明書サービスで ACMEディレクトリを提供し、顧客が各自の運用環境に合わせて証明書更新のパイプラインを直接構築し、管理プロセスを自動化できる機能をサポートします。
ACME導入対象
ACME機能は、証明書を直接インフラにリリースし、更新プロセスを自動化したい顧客に適しています。証明書の有効期限切れによるサービス障害を防ぎ、運用者が手動で対応することなく、証明書のライフサイクルを管理できます。
NAVERクラウドプラットフォームの Load Balancerまたは Global Edgeに証明書を適用して運用する場合は、ACME機能の代わりに Certificate Managerが提供する証明書自動更新機能を使用します。
ACMEの主な機能
従来は、証明書の発行時や更新時に担当者が認証機関(CA)に直接申し込み、発行されたファイルをサーバへ手動でインストールする必要がありました。この過程で、更新時期を逃したり、タスク中にエラーが発生した場合、サービス障害につながることがあります。
ACMEは、このような手動で行っていた一連のタスクを自動化するために設計された標準プロトコルです。クライアントが認証機関と直接通信し、ドメインの所有権検証から証明書の発行・更新までを人の介入なしで処理します。Certbot、acme.sh、win-acme、cert-managerなど、様々なクライアントがこの標準を実装しており、各運用環境に適したクライアントを選択して使用できます。
Certificate Managerの ACMEが提供する主な機能についての説明は、次の通りです。
- ライフサイクル管理自動化環境の提供: 証明書のリクエストから発行、適用、更新までの全過程を、各運用環境のクライアントが自動的に処理できるよう、連携機能を提供します。これにより、運用者の手動介入を最小限に抑えることができます。
- OV証明書のサポート: Domain Validation(DV)のみをサポートする一般的な無料 ACMEサービス(例: Let's Encrypt)とは異なり、信頼性の高い組織検証(OV、Organization Validation)証明書の自動化をサポートします。
- 標準クライアントとの互換性: Certbot、acme.sh、win-acme、cert-managerなど、RFC 8555標準に準拠した様々なクライアントを全てサポートすることで、環境ごとに分散していた管理方法を標準化し、運用プロセスを単純化します。
ACMEの基本的な動作構造
ACMEプロトコルは、アカウント登録(EAB)、ドメインの所有権検証(Challenge)、証明書発行(Order)の3ステップで動作します。顧客側で初回設定やスケジューリング(例: crontab)を構成しておくと、以降は有効期限に合わせてクライアントが自動的に更新処理を行います。
- アカウント登録(EAB): 外部アカウントバインディング(External Account Binding)情報を使用して ACMEサーバにクライアントを登録し、認証を行います。
- ドメインの所有権検証(Challenge): DNSレコードなどを通じて、当該ドメインに対する制御権限を証明します。
- 証明書の発行と更新(Order): 検証が完了すると証明書が発行され、以降は設定された周期に応じてクライアントが更新処理を繰り返します。
ACMEサービスの仕様
ACMEサービスの仕様についての説明は、次の通りです。
| 項目 | 仕様 |
|---|---|
| 証明書タイプ | Advanced DV, Advanced OV |
| 検証方法 | DNS-01チャレンジ(動的方法および事前検証方法) |
| 互換性のあるクライアント | RFC 8555を遵守するクライアント全体 |
| 暗号化アルゴリズム | RSA 2048 |
| ACME Directory URL | https://acme.navercloudtrust.com/acme/directory |
ドメイン検証方法の比較
ACMEがサポートするドメイン検証方法の比較は、次の通りです。
DNS-01動的検証方法
| 項目 | 内容 |
|---|---|
| 説明 | 発行・更新するたびに、ACMEプロトコルによってドメイン検証を動的に実行 |
| 自動化条件 | Ncloud Global DNS APIの連携スクリプトまたは Certbot DNSプラグインが必要 |
| ワイルドカードサポート | サポート |
事前検証方法
| 項目 | 内容 |
|---|---|
| 説明 | Certificate Managerの Domainsメニューで予め完了した DNS TXT検証情報を再利用 |
| 自動化条件 | 別途の DNSレコード操作なしでクライアントで自動的に処理される |
| ワイルドカードサポート | サポート |
適用環境別ガイド
ACMEは主に以下のような環境で活用できます。
- 単独サーバ直接適用: Linuxや Windowsなど、サーバ OSに証明書を直接構成し、管理する必要がある環境
- コンテナ環境: Kubernetes内で cert-managerなどを通じて証明書更新を自動化する環境
- マルチクラウド: AWSなどの他のクラウドインフラを併用して運用し、一貫した証明書の適用・管理が必要な環境
各環境の構成方法についての説明は、次の通りです。
| 環境 | 説明 |
|---|---|
| Linuxサーバ | Certbotと Ncloud Global DNSのフックスクリプトを連携し、単独サーバ環境における証明書の発行と更新を完全自動化 |
| Windowsサーバ | win-acmeを使用して Windowsサーバ環境における証明書の発行と更新を完全自動化 |
| Kubernetes | cert-managerの ClusterIssuerを利用して、Kubernetesクラスタ内の Ingressや Pod証明書のライフサイクルを自動管理 |
| AWS EC2 + ACM | acme.shの deploy hookを利用して、発行した証明書を AWS Certificate Manager(ACM)へ自動的に Importおよび Application Load Balancer(ALB)へ反映 |
各環境の詳細な構成方法は、以下の文書をご参照ください。
- Certbotベース Linuxサーバ証明書の自動化ガイド: Certbotおよび Ncloud Global DNSとの連携による Linuxサーバ証明書の自動化方法のご案内
- win-acmeベース Windows Server証明書の自動化ガイド: win-acmeを利用した Windowsサーバ証明書の自動化方法のご案内
- Kubernetes環境の ACME構成ガイド: cert-manager ClusterIssuerを利用した Kubernetes証明書の自動化方法のご案内