AWS Certificate Manager が、パブリック証明書のエクスポートを提供開始したので試してみる

AWS

2025.6.18

Topics

はじめに

こんにちは。YUJIです。

AWS Certificate Manager にパブリック証明書のエクスポート機能が実装されたとの事で
早速試してみました。

ユースケースとしては、例えば外部のWAF/CDNを通す構成や、同じドメインでオンプレミスを組み合わせて運用している場合などAWS外で証明書を利用したい場合、従来は個別に証明書を調達する必要がありましたが
今回のアップデートにより、AWS外も含めてACMによる証明書管理・購買に一本化出来るようになりましたので、事務手続きの観点で運用負荷の軽減が狙えるかなと思っています。

アップデート概要

AWS公式 whats-new(日本語訳)

AWS Certificate Manager introduces public certificates you can use anywhere
https://aws.amazon.com/jp/about-aws/whats-new/2025/06/aws-certificate-manager-public-certificates-use-anywhere/

AWS Certificate Managerはどこでも使えるパブリック証明書を導入
ACMのお客様は、AWS、ハイブリッド、またはマルチクラウドのワークロードで使用するパブリック証明書を、低コストで発行、管理、自動化できるようになりました。これまで、ACM が発行するパブリック証明書は、Amazon CloudFront などの統合 AWS サービスでのみ使用できました。今後は、証明書のリクエスト時に、統合サービス外でも使用できるように証明書をエクスポート可能としてマークできます。証明書の受信権限があることを証明するために必要なドメイン検証を完了すると、数秒以内にこれらの証明書を入手できます。

エクスポート可能なパブリック証明書の有効期間は 395 日間で、FQDN ごとに 15 ドル、ワイルドカード名ごとに 149 ドルの費用がかかります。一括発行契約を締結する必要はなく、証明書の有効期間中は一度だけお支払いいただくだけで済みます。ネットワーク管理者とセキュリティ管理者は、ACM の証明書ライフサイクル CloudWatch イベントを通じて、これらの証明書の使用状況を監視および自動化できます。

エンドユーザーはこのリリース以前に発行されたパブリック証明書をエクスポートできません。AWS 管理者は、エクスポート可能なパブリック証明書をリクエストできるロールとユーザーを承認するための IAM ポリシーを設定できます。この機能は、AWS GovCloud (米国) および中国リージョンを含む、ACM が利用可能なすべてのリージョンでご利用いただけます。

AWS公式ドキュメント

AWS Certificate Manager exportable public certificates
https://docs.aws.amazon.com/acm/latest/userguide/acm-exportable-certificates.html

試してみる

1. エクスポート機能を有効化したAWS Certificate Manager(以下、ACM)で証明書を作成
2. パブリックサブネットにEC2を立てる
3. EC2内部の設定のみで、ACMで発行した証明書の証明書を介したHTTPS接続を実装してみる
という順番でやっていきます。

まずは、ACMで証明書を作成します。

……今までの画面と変化がないですね。

どうやら筆者のアカウントでは、検証段階(2025/06/18 02:30ごろ)ではまだ東京リージョンには実装されていないようです。
きっとアカウントごとに徐々にローリングアップデートされて、いずれ使えるようになるのだと思います。

気を取り直して、米国東部(バージニア北部)リージョンで実施してみます。


新しく項目が増えてますね。

通常のACMと違い、エクスポートを有効にしたACMはこの作成段階で料金(395日間の有効期間で一度だけFQDN毎で15ドル、ワイルドカード名ごとに149ドル)が発生するかと思いますので、安易に作成しすぎないよう注意が必要です。
(余談:筆者はAWS Community Builderの特典のクレジットから費用を捻出しているので、実質無傷です。)

自前ドメインでDNS検証を通して、無事に作成できました。
早速エクスポートを試してみましょう。

後で復号に使うパスフレーズをここで設定します。

ここからダウンロードします。

マネジメントコンソールを日本語にしているからか、ファイル名は日本語の状態でダウンロードされました。
分かりやすくていいですね。

では、EC2を立てて証明書なしでApacheを設定して通信を試みます。
(※EC2内部で叩くコマンド内容は、本記事では割愛します。)

アクセスしてみましょう。
当然https接続にはまだ対応していないためこのような表示が出ます。

EC2側で証明書・中間証明書を設置して
秘密鍵も先程のパスフレーズで復号してからssl.confを修正して、Apacheを再起動してみます。

再度アクセスしてみると、無事にHTTPS接続することができました。

これで検証は完了です。

おわりに

AWS上のリソースだけで、前段にALBやCloudFrontを立てることなくHTTPS接続の設定を終えることができました。

注意点として
ACMで通常提供されている証明書とは違い、エクスポート機能のオプションをつけて有効化した証明書の発行は料金がかかってしまう(ビジネスモデル上、当然といえば当然なのですが)という点と
いくらACM管理といえど、今回のような使い方では、期限が近づいたら再度新しい証明書等をEC2に設定し直す作業は必要になります。
(Whats-newでも書かれていた通り、有効期限の監視も必要ですね。)

今後の動向として、SSL/TLSサーバー証明書については有効期限の短縮がCA/Browser Forumで決議され既にスケジューリングされていることからも
ここは自動化を検討しても良いポイントですが、結局は前段にALBやCloudFrontを立てる場合と比べてしまうと、運用コストはかかってしまいそうです。

ですが、[はじめに]でも書いた通り
前段にAWS外のWAF/CDNを通すアーキテクチャや、同じドメインをオンプレ運用したいという場合などには刺さるアップデートかなと思いますので
今回の記事が誰かの参考になれば幸いです。

最後まで読んでいただき、ありがとうございました。

テックブログ新着情報のほか、AWSやGoogle Cloudに関するお役立ち情報を配信中!

YUJI

2025 AWS Community Builder / 2024 Japan AWS All Certifications Engineer

Recommends

こちらもおすすめ

Special Topics

注目記事はこちら