AWS使用Load balancers + Certificate Manager 实现SSL证书

462 阅读5分钟

AWS证书服务

AWS的证书服务与管理与国内证书服务有所不同,它不需要完整的向证书服务商申请购买,通过自家签名授权,和Load balancers负载均衡服务相结合,其按需收费和证书申请的方便性。但是其收费模式与使用场景来说,具体如何选择还需结合具体业务,究竟是年包证书合适还是按需按量合适

配置 AWS Certificate Manager 服务

1. 打开 AWS Certificate Manager

登录到 AWS 控制台,然后在 "Services" 菜单中找到并点击 "Certificate Manager"。

2. 请求新证书

在 ACM 控制台中,点击 "Get started"(如果这是你第一次使用 ACM)或者 "Request a certificate"。

3. 选择证书类型

在 "Request a certificate" 页面中,选择 "Request a public certificate" 或 "Request a private certificate",然后点击 "Request a certificate"。大多数情况下,你应该选择 "Request a public certificate"。

image.png

4. 添加域名

在 "Add domain names" 页面中,输入你想要为其获取证书的域名。你可以添加单个域名(例如,example.com),也可以添加带有通配符的域名(例如,*.example.com),然后点击 "Next"。

5. 选择验证方法

在 "Select validation method" 页面中,选择 "DNS validation" 或 "Email validation"。DNS 验证是推荐的方法,因为它可以让 ACM 自动续订你的证书。

如果你选择了 DNS 验证,ACM 会为你的域名生成一个 CNAME 记录,你需要将这个记录添加到你的 DNS 配置中。

如果你选择了 Email 验证,ACM 会向域名注册者、技术联系人和管理联系人发送验证邮件,你需要按照邮件中的指示来验证你的域名所有权。

6. 添加标签(可选)

在 "Add tags" 页面中,你可以为你的证书添加标签,然后点击 "Review"。

7. 检查并确认

在 "Review" 页面中,检查你的设置,确认没有错误,然后点击 "Confirm and request"。

8. 验证你的域名所有权

按照你选择的验证方法(DNS 或 Email)进行域名所有权验证。

当你的域名所有权验证完成后,ACM 就会为你的域名颁发证书。在 ACM 控制台中,证书的状态会从 "Pending validation" 变为 "Issued"。

image.png

配置 AWS Load Balancer 服务

AWS证书服务一般是要结合EC2服务器搭配使用的

这里的配置思路大致就是将外部的HTTPS请求转发的内部服务器中,比如我将外部443端口流量 -->> 内部80服务端口

现在ec2控制台列表点开Load Balancer服务列表

1. 创建负载均衡器

在 AWS 控制台的 "EC2 Dashboard" 中选择 "Load Balancers",然后点击 "Create Load Balancer"。选择你要创建的负载均衡器类型(例如,"Application Load Balancer"),然后提供以下信息:

  • Name: 负载均衡器的名称。
  • Scheme: 选择 internet-facinginternal,取决于你的负载均衡器应该面向互联网还是仅在你的 VPC 内部。
  • IP address type: 选择 ipv4dualstack,取决于你的负载均衡器应支持 IPv4、IPv6 还是两者都支持。
  • Listeners: 指定监听器的协议和端口。例如,如果你想要 HTTP 请求在端口 80 上接收,你应该添加一个使用 HTTP 协议和端口 80 的监听器。
  • Availability Zones: 选择你的负载均衡器应该在哪些可用区和子网中操作。

点击 "Next: Configure Security Settings" 来进行下一步。

这里我们以https服务为例,首先选择Application类型负载均衡

image.png

2. 配置安全设置

在这个步骤,你可以为你的负载均衡器配置 SSL 证书,这样它就能处理 HTTPS 请求。你可以选择一个已存在的 ACM 证书,也可以上传一个新的 SSL 证书。

选择我们刚才创建出来的SSL证书

3. 配置安全组

创建或选择一个安全组,以确定哪些类型的流量可以到达你的负载均衡器,这里我们以https服务为例,开放所有443入站规则

image.png

4. 配置路由和注册目标

在这个步骤,你需要创建一个目标组,负载均衡器会将流量路由到这个目标组中的目标(例如,EC2 实例)。你需要提供目标组的名称、目标类型(实例、IP 或 Lambda)、协议和端口。

然后,你可以选择将哪些目标注册到你的目标组。如果你选择了 "实例" 或 "IP" 作为目标类型,你需要提供目标的实例 ID 或 IP 地址。

image.png

5. 完成创建

检查你的设置,确认没有错误,然后点击 "Create" 来创建你的负载均衡器。创建成功后,你会看到一个包含你的负载均衡器信息的页面,例如,DNS 名称。

6. 配置监听器

在负载均衡器详情页面,选择 "Listeners" 标签,然后点击 "Add listener"。为监听器提供协议和端口,然后选择一个默认的目标组。你也可以添加规则来根据请求的特定属性(例如,URL 路径或请求头部)将流量路由到不同的目标组。

在监听中监听端口填写443,转发目标选择生成出来的target目标组

监听组配置完成以后,一定要去检查下Target Groups下的监听状态是否为成功,如果发现Targets列表下没有出现刚才新建的监听,要点击注册将监听加到组列表中

image.png