【发布时间】:2018-04-08 12:41:23
【问题描述】:
根据 AWS 示例,我正在使用带有 https 直通的 ELB,因为我们需要在实例处终止 SSL。根据 AWS 的指南,我有一个现有的 .ebextensions YAML 文件,其中包含 files 密钥。这很好用,直到我想为不同的环境使用不同的证书。
我的问题是我希望能够通过 Cloudformation 上传不同的 SSL 证书,具体取决于我部署到的环境。例如,test 和 dev 获得测试证书,production 获得生产证书。
我知道如何使用映射,所以这不是问题,但我不知道如何从 Cloudformation 将文件上传到 Elastic Beanstalk 环境。
我尝试在 CloudFormation YAML 的各个位置添加以下代码 sn-p,但它没有上传文件。代码 sn-p 有什么问题,还是我遗漏了其他东西?我尝试添加 EC2::Instance 部分,但这会在 Beanstalk 之外创建一个新的 EC2 实例,这是我不想要的。
Metadata:
AWS::CloudFormation::Authentication:
S3Auth:
type: "s3"
buckets: ["s3-bucket"]
roleName: aws-elasticbeanstalk-ec2-role
AWS::Cloudformation:Init:
config:
files:
/etc/pki/tls/certs/server.crt:
mode: "000400"
owner: root
group: root
authentication: "S3Auth"
source: !FindInMap [Certificates, crt-file, !Ref Environment]
/etc/pki/tls/certs/server.key:
mode: "000400"
owner: root
group: root
authentication: "S3Auth"
source: !FindInMap [Certificates, key-file, !Ref Environment]
感谢您的帮助。
【问题讨论】:
标签: amazon-web-services amazon-elastic-beanstalk amazon-cloudformation