amazon-web-services - 一台EC2主机中的两个ECS任务连接

标签 amazon-web-services docker amazon-ecs service-discovery

我有2个以EC2启动类型和桥接网络模式运行的ECS服务。每个服务有1个任务,两个任务都在同一EC2容器主机上运行。
在同一ECS主机上,第一个任务中的API容器正尝试通过主机名和端口号(例如:http:// abc-def:5000)与第二个任务中的DB容器进行通信。有什么方法可以做到这一点?

最佳答案

您的选择是:

  • 将所有内容放在单个任务定义中。然后,您可以使用link属性来使容器A像B:port这样与容器B通信。请注意,link不支持循环关系,这意味着如果A可以与B对话,那么B也将无法做到这一点。
  • 切换到网络模式host。这样,您就可以与localhost进行通信。
  • 使用Consul或AWS ECS Service Discovery之类的工具进行正确的服务发现。我没有后者的经验。参见here
  • 将您的任务放在ALB后面,并使用此负载平衡器在任务之间进行通信。
  • 关于amazon-web-services - 一台EC2主机中的两个ECS任务连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63563887/

    相关文章:

    c# - Amazon S3 API .Net C# - 访问外部存储桶

    python - 我的 awscli 在 lambda 函数中不起作用

    amazon-web-services - 如何只授予特定的 AWS "iam : putUserPolicy"权限?

    amazon-web-services - 我将如何检索 AWS ECS 任务定义的 Vault key ?

    amazon-web-services - 使用 AWS CodeBuild 和 EB CLI 部署到 AWS Elastic Beanstalk

    docker - 有什么方法可以从Docker容器运行 “pkexec”吗?

    node.js - docker swarm模式下服务副本之间网络请求的负载均衡

    c# - 在 Docker 镜像中使用 ASP.Net Core 时应用 Entity Framework 迁移

    amazon-web-services - 如何在 AWS 上的 Application Load Balancer(容器服务)上使用唯一的健康检查端口?

    docker - 在 AWS Fargate 上的 docker 内部运行 docker