gpt4 book ai didi

aws-api-gateway - 如何连接到 Fargate 上运行的 ECS 服务?

转载 作者:行者123 更新时间:2023-12-04 13:17:53 24 4
gpt4 key购买 nike

我正在构建一个 slack 应用程序,我的应用程序预计会收到来自 slack 的 webhook 调用。所以我需要为 Slack 提供“我的服务的端点 URL”

我不确定我是否了解需要将哪些 AWS 积木放在一起才能完成这项工作。
到目前为止,我已经使用 Fargate 配置了我的服务,并且它在具有 1 个任务的 ECS 上运行。

我不确定如何成功地将互联网(松弛)连接到我的容器实例。如何制作一个可以向 slack 发送请求的“端点”?我相信我需要为此使用 API 网关,但我不确定我应该如何配置 API 网关,以便它将我的 URL 重定向到我的 ECS 服务......?

注意事项:

  • 我现在不打算有多个任务,所以如果我不必设置负载均衡器会更方便
  • 但是,我计划对服务本身进行一些定期更新,并且任务将经常重新启动
  • 最佳答案

    我不确定是否有替代方案,但是在 Fargate 上设置服务时,为了接收流量,您将需要

  • 拥有负载均衡器(ALB 或 NLB 都应该工作)
  • 如果是 ALB,则必须创建以“IP”为目标的目标组
  • 只有在创建服务期间,您才能选择将容器置于目标组或 ALB 后面

  • 例如,要分发来自目标组的流量,您可以使用它来配置服务
    "loadBalancers": [
    {
    "containerName": "your-container-name-app",
    "containerPort": 80,
    "targetGroupArn": "arn:aws:elasticloadbalancing:eu-central-1:account-id:targetgroup/targetgroup-name/RANDOM-ID"
    }
    ],

    像这样创建目标组
    aws elbv2 create-target-group \
    --name targetgroup-name \
    --protocol HTTP \
    --port 80 \
    --vpc-id vpc-YOUR_VPC_ID \
    --health-check-protocol HTTP \
    --health-check-path /healthcheck \
    --target-type ip

    因此,您基本上将使用负载均衡器 DNS 将流量路由到您的实例。使用 ALB,您可以轻松拦截某个路径(例如 /slack/* )以路由到您的特定目标组,因此同一个 ALB 可以用于多个不同的服务。

    但是您需要一个负载均衡器,并且不能根据我的理解直接定位 Fargate 容器。

    关于aws-api-gateway - 如何连接到 Fargate 上运行的 ECS 服务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58290067/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com