如何将 ECS Web 服务任务定义在互联网上公开

如何将 ECS Web 服务任务定义在互联网上公开

我创建了一个 ECS 集群,一个 AWS ECS 服务,其中有 1 个 ECS 任务定义,其中有一个指向这个简单docker 镜像这是仅用于测试的 Nginx hello 图像。

我现在想将其在互联网上公开,并且我想使用cloudfront。

我如何连接cloudfront来提供图像中的内容?

答案1

首先你需要创建一个应用程序负载均衡器(ALB)听众和一个目标组。 然后你在 ALB 目标组中注册您的 ECS 服务。这将通过 ALB 将 Nginx 容器暴露给互联网。

原因如下:

  • ECS 服务中的容器可以终止并重新启动,此时它们会获得新的 IP 地址。服务可以自动将新启动的容器注册到 ALB。

  • 您可以使用 Amazon Certification Manager (ACM) 颁发的证书终止 ALB 上的 SSL(HTTPS),而无需处理容器级别的 SSL 证书。

  • 你可以使用以下命令运行容器私有 IP地址私有子网。只有 ALB 需要位于公共子网中。

一旦你有ALB+ECS设置并工作,您可以添加云锋混合。这篇博文有几个关于如何限制仅从 CloudFront 访问 ALB 的选项,我特别喜欢选项 2- 设置自定义标题在 CF 端并在 ALB 中检查它。

希望有帮助:)

相关内容