我正在尝试在 AWS 上部署支持 SSL 的独立、可执行 Spring Boot JAR。
我尝试使用 Elastic Beanstalk,它创建了一个 EC 实例。它使用 Route 53 和 Elastic Load Balancer 来获取 SSL。我将其部署在一个无人知晓的 URL 上,并且成功了。
但价格高得离谱!仅上个月,仅负载平衡器就花了我 16 美元——白白浪费了!甚至没人知道这个网站。我甚至一度忘记我有这个网站。随机黑客访问该网站的次数比我多。
为了进行比较,我有一个静态网站,它由 S3 提供服务,并使用 CloudFront 通过 SSL 部署到世界各地,每月只需花费几美分。真的。我记得上个月的费用是 0.50 美元。
我可以手动将 JAR 部署到单个 EC 实例上。但随后我必须设置 Apache 和 LetsEncrypt,并使 EC 实例保持最新状态,等等。或者我可以使用 Docker 路由,但我仍然必须维护机器,而且我不清楚如何通过部署 Docker 映像来自动获得 SSL 支持。
我意识到 Elastic Beanstalk 能够根据需要启动其他 EC 实例,并保持对这两个实例的透明 SSL 支持,这非常有益。但肯定有一种更便宜的方法来获取 SSL。(如果我为一个未使用的站点花费这么多,想象一下当我有几个用户时会怎样。)
那么让我们从简单的开始。有没有一种简单的方法可以使用 SSL 在 AWS 上的可执行 JAR 中部署 Spring Boot 应用程序,而无需配置和维护机器并手动设置 SSL,但成本合理?目前的情况似乎与我二十年前部署 Java 网站时没有太大不同。我以为现在我只需将 JAR 放在某个地方,就可以使用 SSL 进行廉价的云部署。(如果除了 AWS 之外的其他服务可以为我做得更好,也请告诉我。)