如何将 letsencrypt SSL 证书从 EC2 传输到 Fargate?

How to transfer letsencrypt SSL certificates from EC2 to Fargate?

我们在 EC2 中为我们的主机和子域提供了一些带有 NGINX 配置的 SSL 证书。我们渴望为我们的存储库创建单独的容器并使用 ECS 和 Fargate 管理它们。对于如何进行传输以及最佳实践是什么,我真的不太清楚?在此过程中,我们无法承受任何停机时间或 SSL 错误。

作为 best option is to run fargate behind the Load balancer,负载均衡器感知 Fargate 服务或 EC2 类型 ECS 服务的健康状况,并根据负载或服务健康状况分配流量。

LB 支持在发送到目标之前终止的 TLS 终止。

那为什么要在容器级别管理 TLS?

在此 architecture 中,每个集群中的容器都可以通过网络负载均衡器安全地引用其他容器,而无需终止或卸载证书,直到它到达目标容器。

所以您在负载均衡器级别有两个选择。

  • 申请 LB
  • 网络负载均衡 两者的工作方式相同,但 ALB 在应用层工作,网络在网络级别工作,两者都适用于您的情况。

所以我会建议将您的证书导入到 LB。

  1. 导入证书
  2. 创建 ALB
  3. 添加 https 侦听器
  4. Select 已导入证书
  5. 创建 fargate 服务并附加到 LB 端口 443
  6. 检查一些使用 SSL 的测试 DNS
  7. 无需停机即可更新您的 DNS 记录以指向新基础设施。

https://us-west-2.console.aws.amazon.com/acm/home?region=us-west-2#/importwizard/

如果您想要使用,则需要添加到您的 docker 文件中。但以上是根据知识的最佳方法。