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

web*_*ish 5 amazon-web-services amazon-ecs amazon-route53 amazon-vpc

我已经构建了一个AWS CodePipeline,可以将容器构建并部署到Fargate托管的EC2实例中。引用AWS CodePipeline

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

我知道可以设置弹性IP地址或将域指向容器服务,但是我认为有一种更简单的方法。

可以选择提供公共DNS来启动EC2实例...

是否可以使用静态公共DNS记录启动容器服务?如果是这样,怎么办?

Geo*_*man 7

尽管它不是免费的,但是通常如果您想要ECS服务(代理或EC2)的公共DNS名称,则可以在负载均衡器(如果需要的话,还可以执行SSL终止)的前面放置它。

因此,在设置服务时,AWS可轻松创建负载均衡器或将服务添加到现有目标组。我认为您不能在事后更改它,因此您可能需要重新创建服务。

最后,当您在ECS服务之前有一个负载均衡器时,只需在Route53中设置CNAME或A ALIAS(如果您使用的是Route53),即可将DNS名称定向到该负载均衡器。

AWS 在AWS Compute Blog上有2016年的演练,快速介绍了如何设置ECS服务以及如何使用Application Load Balancer公开ECS服务。