使用 AWS Certificate Manager 自动化 SSL/TLS 证书管理 - 从签发到轮换

详解 ACM 免费签发公共证书、DNS 验证、自动续期,以及部署到 ALB 和 CloudFront 的完整流程。

ACM 概述

ACM 是一项自动化 SSL/TLS 证书签发、管理和部署的服务。公共证书可免费签发,只需几次点击即可部署到 ALB、NLB、CloudFrontAPI GatewayElastic Beanstalk。与 Let's Encrypt 不同,证书续期完全自动化,无需管理 cron 任务或 certbot。由于无法将证书直接安装到 EC2 实例,如需在 EC2 上终止 HTTPS,需在前端部署 ALB 或使用 Let's Encrypt。

DNS 验证与自动续期

证书验证方式有 DNS 验证和邮件验证两种。DNS 验证需要将 ACM 指定的 CNAME 记录添加到 Route 53(或外部 DNS)。如果使用 Route 53,可在控制台一键添加。邮件验证会向域名管理员邮箱发送确认邮件,但每次续期都需要手动批准,因此强烈推荐使用 DNS 验证。DNS 验证记录一旦添加,只要不删除就会持续有效,用于证书的自动续期。自动续期在证书到期前 60 天开始,只要 DNS 验证记录存在且证书已关联到 AWS 资源,就会自动完成续期。证书有效期为 13 个月,续期后的证书会自动应用到 ALB 和 CloudFront

私有证书与证书透明度

与 ACM Private CA 集成后,可为组织内部服务间通信签发私有证书。公共证书会记录在 Certificate Transparency (CT) 日志中,如果不希望公开内部服务的主机名,应使用私有证书。ACM 的导入功能也支持管理外部 CA 签发的证书,但自动续期仅适用于 ACM 签发的证书。证书临近到期时,会通过 CloudWatch 指标和 EventBridge 事件发送通知,防止续期遗漏。由于需要按区域签发证书,多区域架构中需在各区域分别管理证书。 如需全面学习 ACM 最佳实践,请参考技术书籍 (Amazon)

ACM 定价

ACM 公共证书可免费签发和续期。部署到 ALB、CloudFront、API Gateway 也不产生额外费用。ACM Private CA 每个 CA 月费约 400 美元,并根据签发的证书数量收取额外费用(前 1,000 张每张 0.75 美元)。短期证书模式(有效期 7 天以下)CA 月费可降至约 50 美元。对于公共证书能满足的场景,应充分利用 ACM 的免费证书;Private CA 仅在需要 mTLS 或内部服务认证等场景下使用,以控制成本。

总结

ACM 是一项从公共 SSL/TLS 证书签发到续期全程免费自动化的服务。配置 DNS 验证后,无需人工干预即可维护证书,部署到 ALB 和 CloudFront 也无缝衔接。与 Private CA 集成后还可支持内部服务的 mTLS 认证,实现组织级证书管理的统一化。