如何通过CloudFormation为ALB自动挂载SSL证书并获取AWS账号ID
实现方案
完全可以在CloudFormation栈内闭环完成SSL证书的全生命周期管理,不需要硬编码AWS账号ID、证书ARN,也不需要依赖栈外手动创建证书的流程。
无需硬编码获取账号/区域信息
CloudFormation 内置了原生伪参数,部署时会自动从当前运行上下文拉取对应值,完全不需要手动配置:
AWS::AccountId:自动解析为当前栈所属的AWS账号IDAWS::Region:自动解析为当前栈的部署区域
常规资源引用场景下甚至不需要主动调用这些伪参数,直接通过资源引用就能拿到合法的ARN,从根源上避免硬编码。
栈内自动创建并验证SSL证书
首先删除模板中原有带硬编码默认值的Certificate参数,替换为域名、托管区相关的入参,再通过ACM资源自动完成证书申请和DNS验证:
Parameters: VPC: Type: AWS::EC2::VPC::Id SubnetA: Type: AWS::EC2::Subnet::Id SubnetB: Type: AWS::EC2::Subnet::Id DomainName: Type: String Description: 服务对应的主域名,例如 mydomain.com SubDomainPrefix: Type: String Default: staging-api Description: 服务子域名前缀,最终访问地址为 <SubDomainPrefix>.<DomainName> Route53HostedZoneId: Type: AWS::Route53::HostedZone::Id Description: 对应域名在Route53的托管区ID
在Resources块中定义ACM证书资源,配置DNS验证后,CloudFormation会自动在对应Route53托管区写入验证CNAME记录,等待ACM完成域名所有权校验后才会继续后续资源创建,不会出现证书不存在的部署错误:
Resources: # 自动申请并验证SSL证书 ServiceSSLCertificate: Type: AWS::CertificateManager::Certificate Properties: DomainName: !Sub "${SubDomainPrefix}.${DomainName}" ValidationMethod: DNS DomainValidationOptions: - DomainName: !Sub "${SubDomainPrefix}.${DomainName}" HostedZoneId: !Ref Route53HostedZoneId Tags: - Key: Name Value: !Sub "${SubDomainPrefix}-${DomainName}-ssl-cert"
证书签发后,ACM会自动在到期前完成续期,只要验证CNAME记录存在,全程不需要人工操作。
负载均衡器自动关联证书
配置ALB的HTTPS监听器时,直接引用刚才创建的证书资源即可,不需要手动拼接证书ARN:
# ALB HTTPS监听器配置示例 ServiceALBHttpsListener: Type: AWS::ElasticLoadBalancingV2::Listener Properties: LoadBalancerArn: !Ref ServiceALB # 替换为你模板中已定义的ALB资源名 Port: 443 Protocol: HTTPS SslPolicy: ELBSecurityPolicy-TLS13-1-2-2021-06 DefaultActions: - Type: forward TargetGroupArn: !Ref FargateServiceTargetGroup # 替换为你模板中已定义的Fargate目标组 Certificates: - CertificateArn: !Ref ServiceSSLCertificate
特殊场景说明
- 如果你的Route53托管区属于其他AWS账号,只需要提前给当前部署账号授予托管区的记录编辑权限即可,验证流程和同账号场景一致。
- 如果你需要为CloudFront分配us-east-1区域的证书,可以把证书资源单独部署在us-east-1区域的嵌套栈/独立栈中,通过CloudFormation跨栈导出引用证书ARN,同样不需要硬编码任何固定值。
- 后续需要更换服务域名时,只需要修改对应域名参数重新部署,CloudFormation会自动完成新证书申请、监听器绑定切换、旧证书清理的全流程。
内容的提问来源于stack exchange,提问作者Igor Shmukler
相关产品推荐
相关产品推荐

