当前位置: 首页 > 知识库问答 >
问题:

如何启动具有公共DNS的ECS Fargate容器?

容宏逸
2023-03-14

我已经构建了一个AWS CodePipeline来构建容器并将其部署到Fargate托管EC2实例中。参考AWS代码管道

其中一个服务是一个web服务器,我正在尝试从公共访问它,这是可能的,通过一个公共分配的IP地址;但是,这并不是很有用,因为每个部署的容器都会收到一个新的IP地址。

共有1个答案

高云瀚
2023-03-14

虽然它不是免费的,但通常情况下,如果您想为ECS服务(fargate或EC2)提供一个公共DNS名称,您会在它前面安装一个负载均衡器(如果您愿意,它也可以执行SSL终止)。

正因为如此,AWS使得创建负载均衡器或在设置服务时将服务添加到现有的目标组变得很容易。我不认为你可以改变事实之后,所以你可能需要重新创建服务。

最后,当您在ECS服务前面有一个负载均衡器时,您只需要在Route53中设置一个CNAME或一个a别名(如果您正在使用Route53)来将DNS名称定向到该负载均衡器。

还有另一种路径--使用ECS服务发现和AWS CloudMap,您可以使用API网关。您的负载平衡选项比较有限,但API网关是基于使用量而不是小时计费的,因此它可以潜在地节省低容量服务的成本。您还可以在多个ECS服务前面使用单个API网关,这是一些人无论如何都想要做的。这种方法很少被使用,但对于某些用途来说可能是正确的方法。

 类似资料:
  • 一个和我一起工作的人给了我EC2证书,让我登录到他的EC2控制台。不是我设计的。一些实例显示公共dns名称,而另一些实例具有空白的公共dns。我希望能够连接到具有空白公共DNS的实例。我一直无法理解为什么这些显示为空白。

  • 我启动了一个亚马逊网络服务 (AWS) EC2 实例 t2.micro,该实例必须启动到 VPC 中。 VPC 将“自动分配公有 IP”设置为“是”。 域名解析:是 DNS 主机名:是 但是在EC2仪表板上,该实例仍然有一个空白的公共DNS和公共IP。我已经多次尝试重新启动该实例,但它仍然没有被分配一个公共IP。我们的AWS帐户附带的5个弹性IP已经被使用。在不使用弹性IP的情况下,有可能获得分配

  • 我创建了一个类Doctor,它使用户能够创建一个Doctor对象。该类的实例变量之一是:private String Specialism。 我制作了第二个名为Research的类,它使用户能够制作一个研究对象。该类的实例变量之一也是:private String Specialism。

  • 我正在使用spring cloud实现微服务Netflix堆栈。一切都很顺利,但有一个问题。 我的discovery服务器托管在数字海洋水滴上。我所有来自数字海洋的尤里卡客户反应都很好。但是我的一个客户托管在aws ec2 midium实例中。在运行我的客户端后,它成功地与eureka服务器连接。Eureka服务器在仪表板中显示我的实例,但它的状态是显示私有DNS,而不是公共DNS或公共IP。由于

  • 我有一个注册选民的XML文档,一个地址可能有多个人。我想迭代地为每个不同的地址(数字和街道)选择节点。然后,我的目标是能够把一个地址的所有居民的名字集合成一行。例如“Robert and Olga BBBBBB”,或“Jennifer eeeee and James FFFF”,或“Desmond AAAAAA”。 我只是需要有关XPath查询的帮助。如果LINQ是答案,我也想听听。你能帮我解决这