【问题标题】:Angular Spring boot on AWS FargateAWS Fargate 上的 Angular Spring 启动
【发布时间】:2022-12-06 20:46:35
【问题描述】:

我想在 AWS fargate 上部署 Angular 和 Spring Boot 应用程序,我为 Angular 和 Spring Boot 应用程序添加了两个容器。我已经为两个容器创建了一个任务但是想知道如何在没有 IP 的情况下从角度与我的后端通信。我知道用 IP 打电话,但我不想那样做,因为 IP 每次都在变化。有什么办法吗?

请帮助

【问题讨论】:

    标签: angular spring-boot amazon-ecs aws-fargate


    【解决方案1】:

    这个答案基于我对 ECS 的高级知识以及 AWS 任务的工作原理,以及以下文档:https://aws.amazon.com/blogs/compute/task-networking-in-aws-fargate/

    在您的例子中,您已经创建了 2 个任务。他们可以通过 IP 进行通信,但是如果您不想使用 IP,则需要注册 DNS,仅在必要时注册负载均衡器。

    您还可以查看作为 ECS 一部分的服务发现:https://aws.amazon.com/blogs/aws/amazon-ecs-service-discovery/


    或者,您可以重新构建解决方案,以便在 1 个 Fargate 任务中将一对(后端 + 前端)作为 2 个容器。然后他们将通过本地主机进行通信。这就是所谓的容器(本地)网络

    在 Fargate 中,当您启动多个容器作为单个容器的一部分时 任务,他们也可以通过本地相互通信 环回接口。 Fargate 使用特殊的容器网络模式 称为 awsvpc,它为任务中的所有容器提供一个共享的 用于通信的弹性网络接口。

    确定您是否应该使用本地任务网络

    本地任务网络非常适合容器之间的通信 紧密耦合并需要最大的网络性能 它们之间。但是,当您部署一个或多个容器作为一部分时 对于相同的任务,它们总是部署在一起,因此它消除了 独立扩展不同类型工作负载的能力 下。

    【讨论】:

      猜你喜欢
      • 2019-12-15
      • 2021-12-30
      • 2019-08-18
      • 1970-01-01
      • 1970-01-01
      • 2022-10-27
      • 2019-05-20
      • 1970-01-01
      • 2020-12-11
      相关资源
      最近更新 更多