【发布时间】:2018-04-28 03:36:04
【问题描述】:
我拥有的是一个平台堆栈,可能还有多个 Web 应用程序堆栈(每个代表一个 Web 应用程序)。平台堆栈部署了一个允许托管多个 Web 应用程序的 ECS 平台,但实际上并没有任何 Web 应用程序。这只是一个平台。然后,每个 Web 应用程序堆栈代表一个 Web 应用程序。
我的平台堆栈模板中的 HTTPS 侦听器之一就是这个。基本上我在端口 443 上有一个 HTTPS 监听器,并且会携带一个默认证书(根据要求,您需要至少一个证书来创建 https 监听器):
"BsAlbListenerHttps": {
"Type": "AWS::ElasticLoadBalancingV2::Listener",
"Properties": {
"Certificates": [{
"CertificateArn": {
"Ref": "BsCertificate1"
}
}],
...
"Port": "443",
"Protocol": "HTTPS"
}
},
...
现在,假设我想创建一个新的 Web 应用程序(例如 www.example.com),我部署 Web 应用程序堆栈,指定一些参数,显然,我必须创建一堆新的资源。但与此同时,我将不得不修改当前的“BsAlbListenerHttps”。
我能够将当前侦听器(使用 Imports 和 Exports)导入我的 Web 应用程序堆栈。但我想做的也是为监听器添加一个 www.example.com 的新证书。
我试过环顾四周,但没有找到任何答案。
有人知道怎么做吗?感谢您的帮助。谢谢!
【问题讨论】:
-
您想只有一个证书,但有多个域可以使用它吗?因此,不是添加新证书,而是拥有一个证书,然后向其中添加域?这行得通吗?
-
不,我实际上想要多个证书。这由 AWS 最近提供,用于将多个证书绑定到 ALB。由于上面的问题,我可以手动完成,但不能通过 CloudFormation。
-
啊,好吧,只需将新证书添加到证书堆栈,然后使用额外的证书 ID 更新您的侦听器堆栈?
-
因为会有一些“不那么技术性的东西”这样做,我想让它尽可能自动化。
-
当然。好吧,把它包装在詹金斯的工作中。有人需要在某处输入 arns 列表。 Jenkins 会对非技术用户隐藏血腥细节。该作业将输出 json 并通过 cli 更新堆栈
标签: amazon-web-services ssl-certificate listener amazon-cloudformation amazon-elb