Automating SSL/TLS Certificate Management with AWS Certificate Manager - From Issuance to Rotation
Learn how ACM handles free public certificate issuance, DNS validation, automatic renewal, and deployment to ALB and CloudFront.
Overview of ACM
ACM is a service that automates the issuance, management, and deployment of SSL/TLS certificates. Public certificates can be issued for free and deployed to ALB, NLB, CloudFront, API Gateway, and Elastic Beanstalk with just a few clicks. Unlike Let's Encrypt, certificate renewal is fully automated, eliminating the need to manage cron jobs or certbot. Note that you cannot install certificates directly on EC2 instances, so if you need to terminate HTTPS on EC2, place an ALB in front of it or use Let's Encrypt.
DNS Validation and Automatic Renewal
There are two certificate validation methods: DNS validation and email validation. With DNS validation, you add a CNAME record specified by ACM to Route 53 (or an external DNS provider). If you use Route 53, you can add it with a single click from the console. Email validation sends a confirmation email to the domain administrator's email address, but since manual approval is required for each renewal, DNS validation is strongly recommended. Once added, DNS validation records remain valid unless deleted and continue to be used for automatic certificate renewal. Automatic renewal begins 60 days before the certificate expiration date and proceeds automatically as long as the DNS validation record exists and the certificate is associated with an AWS resource. Certificates have a 13-month validity period, and renewed certificates are automatically applied to ALB and CloudFront.
Private Certificates and Certificate Transparency
Integration with ACM Private CA allows you to issue private certificates for internal service-to-service communication. Since public certificates are recorded in Certificate Transparency (CT) logs, use private certificates when you don't want to expose internal service hostnames. ACM's import feature also lets you manage certificates issued by external CAs, though automatic renewal only works with ACM-issued certificates. As certificate expiration approaches, CloudWatch metrics and EventBridge events provide notifications to prevent renewal oversights. Certificates must be issued per region, so in multi-region configurations, you manage certificates in each region. For a comprehensive look at ACM best practices, refer to technical books on Amazon.
ACM Pricing
ACM public certificates are free to issue and renew. There are no additional charges for deploying to ALB, CloudFront, or API Gateway. ACM Private CA costs approximately $400/month per CA, with additional charges based on the number of certificates issued ($0.75 per certificate for the first 1,000). Short-lived certificate mode (validity of 7 days or less) reduces the monthly CA fee to approximately $50. Use ACM's free certificates for use cases that public certificates can handle, and limit Private CA to cases where it's needed, such as mTLS or internal service authentication, to manage costs.
Summary
ACM is a service that automates the entire lifecycle of public SSL/TLS certificates, from issuance to renewal, at no cost. Once DNS validation is configured, certificates are maintained without manual intervention, and deployment to ALB and CloudFront is seamless. Integration with Private CA also supports mTLS authentication for internal services, centralizing certificate management across the organization.