Amazon web services 如何使用ACM为EC2设置SSL?

Amazon web services 如何使用ACM为EC2设置SSL?,amazon-web-services,ssl,amazon-ec2,https,Amazon Web Services,Ssl,Amazon Ec2,Https,(我是AWS新手) 因此,我有一个正在运行的EC2实例,并希望设置SSL,以便它可以服务于HTTPS 我从AWS找到了一个用外部CA设置SSL的方法,或者一个ACM应该能够与EC2一起工作的方法,但是似乎没有找到任何关于这方面的分步指南,我希望AWS只需点击几下就可以完成 即使我的服务器只在一个实例中运行,我是否需要使用ELB?ACM SSL证书不能直接在实例上使用(注释中标记的飞地除外)。它们只能在链接、负载平衡、CloudFront发行版或API网关中使用。因此,如果您想使用ACM,您必须在

(我是AWS新手)

因此,我有一个正在运行的EC2实例,并希望设置SSL,以便它可以服务于HTTPS

我从AWS找到了一个用外部CA设置SSL的方法,或者一个ACM应该能够与EC2一起工作的方法,但是似乎没有找到任何关于这方面的分步指南,我希望AWS只需点击几下就可以完成


即使我的服务器只在一个实例中运行,我是否需要使用ELB?

ACM SSL证书不能直接在实例上使用(注释中标记的飞地除外)。它们只能在链接、负载平衡、CloudFront发行版或API网关中使用。因此,如果您想使用ACM,您必须在EC2实例前面使用这三种服务中的任何一种


但是如果您不想使用它们,那么您需要从第三方获得SSL证书,而不是从ACM。一个流行的选择是提供免费的公共SSL证书。这意味着您必须自己在实例上进行设置,通常通过nginx等反向代理进行设置。

您可以在EC2上进行SSL终止,但这非常棘手(我从未管理过),而且您不能使用ACM。您可以使用ELB,这很简单,但如果您只运行1个EC2实例,它的成本非常高。我的建议是使用CloudFront。它的设置非常简单,将以低廉的成本为您执行SSL终止(使用ACM),并具有DDOS保护和内容缓存等一系列好处。他们去年发布了EC2的ACM支持,但它需要使用Nitro Enclaves,而且看起来它现在只适用于Nginx,仅在Amazon Linux 2上:@MarkB谢谢Mark。我知道飞地的情况,但OP使用飞地的情况似乎不是这样。他们有非常狭窄的用例,因此我在写它时,它对实例不起作用,OP也没有提到它,我的意思是在一般情况下缺乏支持。OP在他的问题中链接到AWS文档,说明enclaves是如何将ACM与EC2集成的,并要求提供如何实现的指南,因此他明确提到了它。Enclave是EC2实例的一部分,所以说“它在实例上不起作用”是不正确的。@MarkB很公平。我更新了答案。