MOOBON
Incident Report · AWS / ACM

How “one checkbox” in ACM
cost us $430The price of issuing 10 certificates with Exportable Public Certificate enabled

Published May 8, 20267 min readMOOBON Tech Blog

On the ACM (AWS Certificate Manager) public certificate request screen, we unintentionally left "Enable export" selected and issued 10 certificates. At Tokyo region rates, USD 430 (= 5 FQDN × $7 + 5 wildcard × $79) was booked in an instant. The root cause was that I, the person who assigned the task, hadn't told anyone the Exportable option existed.

Based on our actual support case, this article covers why a single checkbox is enough to fall into this trap, how we noticed, what happened when we asked AWS Support for a refund (spoiler: a full refund as credits), and what you should do to avoid the same trap.

Introduction ─ One checkbox, a $430 bill

For years, AWS Certificate Manager (ACM) public certificates have been treated as a service that is "free as long as you attach them to ALB / CloudFront". We had been requesting them routinely across multiple systems, and it was supposed to be a practically risk-free, everyday operation.

Recently, as part of some domain cleanup work, I asked a team member to request certificates. A few days later I checked Cost Explorer and saw USD 430 on the Certificate Manager line. I had no idea where it came from. Thinking "isn't this supposed to be free?", I opened the billing breakdown, and only then did I realize that the certificates had been issued with the Exportable option turned on.

Let me give you the conclusion up front.
After we explained the situation to AWS Support and requested a refund, they refunded the full USD 430 as credits (3 business days from opening the case to the decision). I'm publishing this as a heads-up for anyone who might hit the same problem, and as a reference if you already have. That said, I want to stress that refunds are at AWS's discretion, and a full refund is by no means promised in every case.

1. What happened ─ 10 certificates and the $430 breakdown

Usage TypeUnit price (at the time)CountSubtotal
APN1-IssueExportablePublicCertificateDomain
1 FQDN (Exportable ON)
$7.005$35.00
APN1-IssueExportablePublicCertificateWildcardDomain
1 wildcard (Exportable ON)
$79.005$395.00
Total (only the certificates unintentionally issued as Exportable)$430.00

The wildcard price of $79 hurts the most. Because we assumed certificates were free, we had casually created several *. domains.

* The prices in this article are the published Tokyo region prices at the time of the incident (April 2026). AWS pricing can change without notice, so always check theofficial AWS pricing page for current rates before you use it.

2. What is an ACM Exportable Public Certificate?

ACM was originally designed around the idea that "public certificates cost nothing extra as long as you use them with AWS services". As long as a certificate was integrated with ALB / CloudFront / API Gateway and the like, the private key stayed entirely under AWS's control, and the service was free.

Exportable Public Certificate is a relatively new option, added on June 17, 2025. It offers, as a "paid" feature, the ability to "export the certificate itself, including the private key, so you can use it on on-premises or EC2-hosted web servers, other clouds outside AWS, and so on".

TypeRegular (Exportable OFF)Exportable ON
FQDN (e.g. api.example.com)$0$7
Wildcard (*.example.com)$0$79

Note that the prices at the time of writing (May 2026), $7 per FQDN / $79 per wildcard, are roughly half of the launch prices in June 2025, which were $15 per FQDN / $149 per wildcard. The cut came in February 2026, when AWS shortened the maximum validity of public certificates from 395 days to 198 days, and prices were lowered roughly in proportion. The backdrop is the CA/Browser Forum policy (a maximum of 200 days from March 2026, shrinking in stages to a maximum of 47 days by 2029). Since shorter validity means more reissues per year, I read the design as keeping the annual cost roughly flat when you look at "unit price × reissues per year". Prices may drop again as validity periods are shortened further.

The nastiest part: Exportable Public Certificates use a billing model where "the full per-certificate fee is locked in at issuance"

Most other AWS services are billed hourly (EC2 / NAT Gateway / RDS / ALB, etc.), so if you stop or delete the resource as soon as you notice an abnormal charge, the damage is limited to minutes or hours. It's a world where "notice → stop → limit the damage" actually works.

Exportable Public Certificates, by contrast, are charged upon issuance in AWS's own wording ── the per-certificate fee ($7 / $79) is locked in the moment the certificate passes DNS validation (or email validation) and reaches the "ISSUED" state. Note that the charge is triggered not when you submit the request, but when validation completes and the certificate is issued.

In theory, you can avoid the charge by "submitting the request → deleting it before validation completes". However, DNS validation completes automatically within minutes to tens of minutes after the CNAME propagates, and email validation within tens of seconds to a few minutes, so unless you're sitting in front of the screen waiting for it, you won't make it in time. Once a certificate reaches ISSUED, deleting it immediately afterward won't reverse the charge already incurred.

In our case, we deleted all 10 certificates as soon as we found out, but the $430 remained on the bill (the fact that AWS Support later granted us a full refund as credits is a separate matter, and it is not guaranteed every time). "A paid, charged-on-issuance option slipped into a service everyone assumes is free" ── this double structure was the biggest factor that made the damage so severe.

3. Anatomy of the incident ─ The UI and the "it's free" assumption

Reason 1. The UI (no confirmation dialog)

First, some context: at the time of the incident, the default for "Allow export" in the ACM console was "Disable export", and the user had to explicitly select the "Enable export" option to turn it on. In other words, it wasn't "switched on by default without anyone noticing" ── in our case, the user selected it, turning it ON, and the certificates were issued that way.

Default state of the ACM Request public certificate screen (Japanese console). In the Allow export section, Disable export is selected by default
Figure 1: Default state of the ACM "Request public certificate" screen (Japanese console). "Disable export" is selected by default, and if you issue a certificate in this state, no additional fee is charged, just as before.

The problem is that when you select "Enable export" and issue the certificate, there is no pricing confirmation dialog or inline warning along the lines of "If you continue, you will be charged $XX per certificate". The description under "Enable export" only says, in small print, "ACM charges your account based on the requested domains when the certificate is first issued and each time it is renewed". With no specific amount ($7 / $79) and no warning color, it's easy to miss that this is a paid option unless you read carefully.

ACM Request public certificate screen (Japanese console) with Enable export selected and multiple domains, including wildcards, entered
Figure 2: A reproduction of the state that led to this incident. "Enable export" is selected, and the domain names include multiple wildcards (*.example.com). The moment you press "Request" on this screen, you are on the hook for $79 per wildcard.

The pricing page and the official AWS documentation do describe the billing conditions, but the console does little to make you notice at the moment you're actually clicking. After you submit the request, the moment DNS validation (or email validation) completes and the certificate reaches ISSUED, the "Enable export" choice the user made quietly turns into a charge.

Reason 2. Assuming it was free, my instructions were too loose

ACM had long been used as a service where "everything is free, from requesting a certificate to attaching it to an ALB", so we simply had no habit of pausing to think about cost. I, as the requester, hadn't even noticed that a new "Allow export" section had been added to the request screen.

As a result, when I delegated the task, I just said "please issue certificates in ACM", without mentioning that the Exportable option existed or that turning it on triggers an immediate charge. The team member ended up facing the ACM request screen without the background information they needed.

The heart of the issue

Loose instructions from a requester who never questioned "ACM = free" put the team member in front of a UI trap without the information they needed ── that is the heart of this incident.

I see it not so much as the team member's mistake, but as a failure of oversight on my part as the requester.

4. Timeline from discovery to refund

Early April 2026

Asked a team member to issue certificates for domain cleanup (no heads-up about Exportable)

As part of the domain cleanup work, I asked a team member to issue ACM certificates. All I said was "please issue FQDN and wildcard certificates in ACM"; I didn't explain beforehand that the Exportable option existed, what ON / OFF meant, or how it was priced. On the ACM console request screen, the team member issued 10 certificates (5 FQDN + 5 wildcard) with the Exportable option left ON. Five regular public certificates issued on a separate occasion had been issued for free with the option OFF, and the task was reported to me as successfully completed.

April 13, 2026

Spotted "Certificate Manager $430" in Cost Explorer ─ deleted the certificates and opened a support case the same day

While reviewing the monthly cost trend, I found an unfamiliar APN1-IssueExportablePublicCertificate* line and USD 430. The billing breakdown pointed to the Exportable option as the cause. I immediately deleted all 10 certificates and, the same day, opened a refund request with AWS Support under the "Billing / request a correction to charges" category.

April 16, 2026

AWS notified us that "the full USD 430 will be issued as credits"

Three business days after opening the case, we received the reply: "After careful review by the responsible team, a credit for the full $430 has been approved." Since the month's bill hadn't been finalized yet, it was a simple matter of offsetting it with credits. The reply also noted that the credits could be viewed under AWS Billing Console > Credits.

April 17, 2026

Closed the support case

After confirming the refund, I replied with a thank-you and closed the case. It took 5 business days from opening to closing, and the case was filed with the severity "General guidance".

5. Preventing a recurrence ─ What we do at MOOBON

Because ACM Exportable Public Certificates use a billing model where the full fee is locked in at issuance, after-the-fact detection tools like Cost Anomaly Detection and AWS Budgets can't contain the damage.

The cleanest countermeasure would be to deny requests with the Exportable option enabled using an IAM / SCP condition key, but within the scope of our research we couldn't find a condition key that makes this possible. So at MOOBON, our main way of stopping it before issuance is operational: "make sure everyone on the team knows, and include a warning whenever we delegate the task".

Always include a warning when sharing or delegating the task internally

If the person doing the work has no prior knowledge of Exportable, they have "no way of noticing" the UI trap, so it has to be closed off as part of the requester's oversight responsibility. Whenever we share or delegate ACM certificate issuance internally, our rule is to always include a note about the Exportable option.

  • Always include the line "Issue the certificate with Exportable left OFF" in the request
  • Keep the whole team aware that the Exportable option exists and that "the full fee is locked in at issuance"
  • Make it a habit to cross-check via screen sharing or screenshots before and after the operation
Endnote

Afterword

In contrast to MOOBON's AWS cost optimization article, this is a record of a blunder from the "paid without noticing" side. As long as AWS keeps adding features, I think we'll keep seeing paid options slipped into services everyone assumes are free. I published this article in the hope that "it prevents even one more incident like ours".

For day-to-day cost management, what really works is a monthly habit of looking through Cost Explorer's view by usage type. Since charged-on-issuance traps can't be contained by after-the-fact detection, what makes the difference is whether you regularly look at what's on your bill and catch sudden anomalies early.

And if you do fall into the trap, don't give up right away ── try contacting AWS Support. If you have AI organize the facts for you, the case description comes together quickly, so it's less work than you might think. There's no guarantee of a full refund like ours, but they will at least hear you out.

If you want to take a serious look at your AWS cost structure itself, check out MOOBON's AWS cost analysis tool and our companion article, How we cut $310/month in AWS fixed costs. For cost assessments or architecture reviews, feel free to reach out at info@moobon.jp.

FAQ

Frequently Asked Questions

QWhat is the difference between an ACM Exportable Public Certificate and a regular public certificate?
A

Regular public certificates, which ACM has always offered, cost nothing extra as long as you attach them to AWS services such as ALB or CloudFront. An Exportable Public Certificate, on the other hand, is a paid option that lets you export the certificate along with its private key so you can use it outside AWS. At the time of this incident, the issuance fee in the Tokyo region was USD 7 per FQDN and USD 79 per wildcard (AWS may revise these prices, so check the official AWS pricing page for current rates).

QDoes the ACM console warn you about charges before you enable the Exportable option?
A

At the time of this incident, the request screen showed no clear pop-up or inline warning that enabling Exportable would incur an additional fee. The pricing page and the official AWS documentation do mention it, but the console itself does little to make you realize, right before you click, that issuing the certificate this way will cost money. Anyone operating under the assumption that ACM is free can easily issue certificates with the option left on without noticing. AWS may have changed the UI since then, so please verify on the actual screen.

QIf I accidentally issued certificates with Exportable enabled, will deleting them stop the charges?
A

Unfortunately, no. Exportable Public Certificates are billed per certificate, and the fee is locked in the moment the certificate is issued; deleting it right afterward won't reverse a charge that has already been incurred. With hourly-billed services like EC2 or NAT Gateway, you can usually limit the damage to minutes or hours by stopping the resource once you notice. ACM Exportable is unusual in that by the time you notice, the full amount has already been booked. Ideally you would deny requests with the Exportable option enabled via an IAM / SCP condition key, but within the scope of our research we couldn't find a suitable one. That's why, at MOOBON, our primary safeguard is operational: whenever we share or delegate this task internally, we always include a warning about the Exportable option. In the case described in this article, we explained the situation to AWS Support and received a full refund as credits (whether a refund is granted is at AWS's discretion and is never guaranteed).

QWhich AWS Support plan do I need to request a refund?
A

Billing inquiries (billing cases) can be opened free of charge on any support plan: Basic, Developer, Business, or Enterprise. Technical questions require a paid plan, but a billing question or correction request like ours worked fine on the Basic plan. Whether a refund is granted is AWS's call and the outcome is not guaranteed, so don't build your operations around the assumption that asking will always get your money back.

QWhat is the minimum you would recommend to prevent this from happening again?
A

Because ACM Exportable locks in the full fee at issuance, after-the-fact detection tools like Cost Anomaly Detection and AWS Budgets can't contain the damage. Ideally you would deny requests with the Exportable option enabled via an IAM / SCP condition key, but within the scope of our research we couldn't find a suitable one. So at MOOBON, our way of stopping it before issuance is a strict rule: whenever we share or delegate this task internally, we always include a warning about the Exportable option. Concretely, we've built three practices into our operations: always add the line "Issue the certificate with Exportable left OFF" to the request; keep the whole team aware that the option exists and that its full fee is locked in at issuance; and make it a habit to cross-check via screen sharing before and after the operation.

MOOBONISO/IEC 27001 CertificationIT Introduction Subsidy Support ProviderAWS Partner Select Tier Services
Copyright © 2026 MOOBON, Inc. All Rights Reserved.
Standard: ISO/IEC 27001:2022
Scope: Web system design support / Development, operation, and maintenance of in-house cloud services / Contract system development, operation, and maintenance / Server construction, operation, and maintenance