はじめに
「ACM の証明書はエクスポート(秘密鍵の取り出し)ができない」と理解されている方は多いと思います。半分正しいのですが、実際には、ACM で扱う証明書は種別によってエクスポートの可否が分かれます。この記事では、その部分を整理します。
対象読者
- ACM 証明書をAWS外のオンプレサーバ等でも使いたい方
- 「ACM=エクスポートできない」と認識してしまっている方
- どの種別の証明書を選べばいいか判断したい方
結論
| 証明書の種別 | エクスポート可否 | 補足 |
|---|---|---|
| パブリック証明書(2025/6/17 より前に発行) | 不可 | 後からエクスポート可能にはできない |
| エクスポート可能なパブリック証明書(2025/6/17〜) | 可 | 発行時に「Enable export」を選択。追加料金あり |
| AWS Private CA 発行の証明書 | 可 | Private CAを別途構築する必要あり |
| インポートした証明書(サードパーティ製) | 不可 | ACM から再エクスポートはできない |
ざっくり言うと、「Private CA 発行」か「エクスポートを有効にして発行したパブリック証明書」だけがエクスポートできる、と覚えておけば良いと思う。
なぜ可否が分かれるのか
もともと ACM の設計思想は「秘密鍵を人が触らせない」ことにありました。ALB・CloudFront・API Gateway といった統合サービスに ARN で紐づけるだけなら、秘密鍵を取り出す必要がなく、鍵の漏洩リスクを構造的に排除できます。これが「パブリック証明書はエクスポート不可」だった理由です。
一方で、EC2 上のミドルウェアやオンプレサーバなど、ACM 統合外のワークロードでは、どうしても実体(cert / key)が必要になります。この需要に応えるのが次の2つです。
- AWS Private CA 発行の証明書(内部向け・自前の信頼チェーン)
- エクスポート可能なパブリック証明書(2025年に追加された、外部にも通用する公的証明書)
つまり「統合サービスで完結するなら鍵を触らせない、実体が要るケースには専用の道を用意する」という住み分けになっている、と理解すると腑に落ちます。
種別ごとの詳細
1. パブリック証明書(従来型・エクスポート不可)
ALB や CloudFront に ARN で紐づけて使う、いわゆる普通の ACM パブリック証明書です。統合サービスでは無料で使えます。
- 秘密鍵は取り出せない(
export-certificateは失敗する) - 統合サービスなら証明書更新も ACM が自動でやってくれる
- 2025/6/17 より前に発行したものは、どうやってもエクスポートできない
「統合サービスだけで完結する」なら、これが最もシンプルで安全な選択肢です。
2. エクスポート可能なパブリック証明書(2025/6/17〜)
2025年に追加された新機能です。発行時に「Enable export」を選ぶことで、後から cert / key を取り出せる公的証明書を発行できます。
- Amazon Trust Services が発行元で、主要ブラウザ・OS に広く信頼される
- EC2・コンテナ・オンプレなど統合外のワークロードでも使える
- 追加料金がかかる(発行時と更新時に課金)
- 有効期間は通常より短く、ACM が失効前に自動更新する
【注意点】
発行時に 「Disable export」を選ぶと、その証明書は以後エクスポート不可に固定されます。発行後にこの設定は変更できません。 「あとでオンプレにも使うかも」が少しでもあるなら、発行時点で Enable export を選ぶ必要があります。また、この機能追加より前に発行済みのパブリック証明書は、後からエクスポート可能にはできません。 新規発行が必要です。
3. AWS Private CA 発行の証明書(エクスポート可)
自前の Private CA を発行元にした証明書です。以前から一貫してエクスポート可能で、内部システム向けの定番です。
- 内部ドメイン向けに、自分たちの信頼チェーンを管理できる
- パブリックには信頼されない(クライアントへルートCA証明書の配布が必要)
- エクスポートした実体を、オンプレや EC2 上のミドルウェアに自由に配置できる
「社内向け・独自 CA でよい」ならこれを用いれば良いです。
4. インポートした証明書(エクスポート不可)
サードパーティの CA で取得した証明書を ACM にインポートしたものです。ACM から再エクスポートはできません。手元に元の cert / key があるはずなので、それを直接使ってください、という考え方です。
料金・有効期間の違い
| 項目 | 料金 | 用途 | 信頼 | 更新 |
|---|---|---|---|---|
| 統合サービス用パブリック証明書 | 無料 | ALB / CloudFront 等の統合サービス | 公的に信頼される | ACM が自動(統合サービスに自動反映) |
| エクスポート可能なパブリック証明書 | 有料(発行時・更新時に課金) | どこでも(統合外含む) | 公的に信頼される | ACM が自動更新(配布は自分で実装) |
| Private CA 発行 | Private CA の料金体系に従う | 内部 PKI 環境 | 自前 CA(要ルート配布) | ACM が自動更新(配布は自分で実装) |
エクスポートした証明書は、統合サービスのように更新が自動反映されない点が最大の運用上の落とし穴です。ACM 側は自動更新されても、オンプレ等に配布済みの実体は古いままなので、再エクスポート・再配布の仕組みを別途用意する必要があります(この自動化は別記事で扱います)。
まとめ
- ACM 証明書のエクスポート可否は証明書の種別で決まる
- エクスポートできるのは、Private CA 発行の証明書と、エクスポートを有効にして発行したパブリック証明書の2種類
- パブリック証明書は、発行時に Enable / Disable export を選ぶ必要があり、後から変更できない
- インポート証明書と、旧来の(あるいは export 無効で発行した)パブリック証明書はエクスポート不可
- エクスポートした証明書は更新が自動反映されないため、配布・更新の運用を自分で設計する必要がある
次の記事では、この「エクスポート可能な証明書」を実際に ALB とオンプレサーバの両方へ、同一の証明書として適用した構成を紹介します。