Durch die Nutzung von AWS re:Post stimmt du den AWS re:Post Nutzungsbedingungen

NLB、目标组、Fargate服务和任务,以及具有多个端口的容器

0

【以下的问题经过翻译处理】 我刚接触AWS,试图将一些本地服务转移到Fargate上。我首先从一个简单的Nginx虚拟机开始,它只是将一个域名重定向到Sharepoint中的一个网址。容器中的SSL已经终止(我们使用Nginx中的301将端口80重定向到443),因此需要打开两个端口。

从我阅读的一些文档中得知,我需要:https://repost.aws/zh-Hans/knowledge-center/ecs-fargate-static-elastic-ip-address

1.为80端口和443端口定义两个目标组(使用TCP协议,而不是HTTP/S)。 2.定义一个网络负载平衡器,并将弹性IP地址分配给每个TG(TCP端口80和端口443)。 3.将本地DNS指向NLB IP地址(使用A记录或CNAME别名指向NLB DNS名称),使用RRDNS。 4.为每个目标组(80和443)定义一个Fargate服务(不能将多个TG分配给一个服务)。 5.在fg1-80-servicefg1-443-service(下面)中启动所需数量的任务来提供请求。

设置完毕后,我意识到只能连接其中一个EIP上的80端口,另一个只能连接443端口。我回头检查了NLB配置,意识到正是我告诉它要做的事情,因为监听器获取了EIP,而不是NLB界面。

我看不到完成这个任务的方法,所以我一定忽略了什么。是否有一种方法在目标组中定义多个端口,使用相同的EIP,我没看到吗?也许有一些更详细的文档来设置所有这些内容?

profile picture
EXPERTE
gefragt vor einem Jahr42 Aufrufe
1 Antwort
0

【以下的回答经过翻译处理】 除非有特定原因使用NLB,否则可以使用ALB并创建一个规则,来处理重定向。这样就少了一件事要考虑。此外,你还可以将TLS终止的任务交给ALB去完成,这样对于你的NGINX来说就又少了一件要考虑的事情,除非你需要/想要将ALB转发到NGINX的流量用SSL加密(专业提示,你可以使用自签名证书来做这件事)。

至于你的问题,对于NLB,请不要忘记这些没有安全组,因此需要更新的安全组是ECS服务的安全组。此外,默认情况下,NLB不进行交叉AZ流量,因此您必须"在顶部"启用它并在route53中实施更好的健康检查,以便如果区域不起作用,则不会在DNS响应中显示。

否则,对于你要做的事情,我建议你参照这个示例:它使用Traefik,但你可以轻松地用NGINX/你的应用程序来替换。这将自动为你处理所有事情:安全组、入口、任务和服务定义、IAM策略等等。你可以通过使用Lookup来使用现有的基础架构(VPC)。它还可以为你处理route53和ACM。

profile picture
EXPERTE
beantwortet vor einem Jahr

Du bist nicht angemeldet. Anmelden um eine Antwort zu veröffentlichen.

Eine gute Antwort beantwortet die Frage klar, gibt konstruktives Feedback und fördert die berufliche Weiterentwicklung des Fragenstellers.

Richtlinien für die Beantwortung von Fragen