如何借助新的AWS Certificate Manager服务将SSL证书添加到AWS EC2

时间:2016-01-22 11:10:23

标签: amazon-web-services ssl amazon-ec2

AWS已推出新服务 AWS Certificate Manager 。我从描述中得到的一点是,如果我们使用这项服务,我们就不用再为证书付费了。

他们为Elastic Load Balancer(ELB)和CloudFront提供证书,但我在任何地方都找不到EC2。

有没有办法将证书用于EC2?

4 个答案:

答案 0 :(得分:79)

  

问:我可以在Amazon EC2实例或我自己的服务器上使用证书吗?

     

没有。目前,ACM提供的证书只能用于特定的AWS服务。

           

问:我可以使用哪些AWS服务使用ACM提供的证书?

     

您可以将ACM与以下AWS服务一起使用:

     

•Elastic Load Balancing

     

•Amazon CloudFront

     

•AWS Elastic Beanstalk

     

•Amazon API网关

     

https://aws.amazon.com/certificate-manager/faqs/

您无法在您具有直接低级别访问权限的资源上安装由Amazon Certificate Manager (ACM)创建的证书,例如EC2或AWS之外的服务器,因为您无法访问私钥。这些证书只能部署在AWS基础架构管理的资源(ELB和CloudFront)上,因为AWS基础架构只保存其生成的证书的私钥副本,并通过可审计的内部访问控制在严格的安全性下维护它们

您必须让您的EC2计算机在后面 CloudFront或ELB(或两者,级联,也可以工作),以便将这些证书用于来自EC2的内容......因为您无法直接在EC2计算机上安装这些证书。

答案 1 :(得分:1)

否,您不能使用aws证书管理器在EC2上部署证书。证书管理器certs仅可针对Cloudfront和Elastic Load Balancer进行部署。要在ec2上使用它,需要将elb放在ec2的顶部,这样客户端到负载均衡器的请求将受到https保护,而从elb到ec2的网络服务器的请求将位于http上。

答案 2 :(得分:0)

如果您仅出于内部目的使用AWS ACM证书,则可能可以使用AWS ACM私有CA颁发证书。(我认为您也可以将其用于公共/外部流量目的,如果您的根CA是公共信任的) CA)。

https://docs.aws.amazon.com/acm-pca/latest/userguide/PcaGetStarted.html

在Application / EC2 / Container启动期间,设置一个步骤以将您的ACM私有CA颁发的证书/私钥导出到目的地,并开始引用它来服务流量。

https://docs.aws.amazon.com/cli/latest/reference/acm/export-certificate.html

一件好事是,您可以控制谁可以使用IAM Role调用导出证书功能,因此并非每个人都可以下载证书的私钥。

这样做的一个缺点是,私有CA是昂贵的AWS服务(每月400美元)。

https://aws.amazon.com/certificate-manager/pricing/

答案 3 :(得分:0)

除了上面的注释之外,您不能为此使用AWS Certificate Manager,但可以在运行IIS的Windows服务器上将加密加密证书添加到ec2中。

  1. 将弹性IP与您的ec2实例相关联。

  2. 确保您已经注册了域。您不能使用实例随附的ec2----------.us-east-1.compute.amazonaws.com类型名称。

  3. 通过域提供商的DNS设置将域指向您的弹性IP。

  4. 连接到您的ec2实例,并将您的域名添加到站点绑定中。

  5. 转到https://github.com/PKISharp/win-acme/releases

  6. 查看资产,然后使用最新版本(例如,win-acme.v2.0.10.444.zip)。这是您唯一需要的资产文件夹。

  7. 解压缩该文件夹,以管理员身份打开终端,然后CD进入解压缩的文件夹。

  8. 运行wacs.exe并按照提示进行操作。

  9. 确保分配给您的实例的安全组允许通过您在IIS中选择的HTTPS端口进行通信(至少使用您自己的IP);默认情况下是端口443。

我发现以下链接对我很有帮助。如果您需要更多帮助,以下是使用早期版本的视频,但这是相同的想法。

https://www.youtube.com/watch?v=fq5OUOjumuM

此外,本文可能会有所帮助:

https://weblog.west-wind.com/posts/2016/feb/22/using-lets-encrypt-with-iis-on-windows