【问题标题】:How to properly expose APIs from Fargate tasks?如何从 Fargate 任务中正确公开 API?
【发布时间】:2020-01-27 20:39:33
【问题描述】:

我在 Fargate 中部署了一些微服务。每个微服务将有大约 30 个 API 端点。

我有 AWS ALB,它将基于路径路由到 Fargate。

我创建了 API Gateway API 以对外公开这些 API。 API Gateway 集成方法是 HTTP,它指向 ALB 端点。

这是设置微服务的正确方法吗?如果没有,请提出更好的方法。

而且,我想在 Swagger 定义发生变化时自动将 Swagger 定义导入 API Gateway。 Swagger 定义暴露在每个微服务的 /apidocs 下。如何自动将 swagger 定义导入 API 网关?有没有常用的方法?

【问题讨论】:

    标签: amazon-web-services api aws-api-gateway amazon-ecs


    【解决方案1】:

    请记住,您需要同时更新 API GW 和 ALB 路径。要导入新的 swagger 定义,您需要某种触发事件:

    • 将新的 swagger 定义上传到 S3。
    • 创建 API 网关 deployment
    • 在 ALB 目标组中执行路径编辑。这可以通过触发CLI 或 API 调用(或 sdk)来完成。

    如果您使用 CloudFormation,您也可以触发包含所有这些新更改的 UPDATE。如果是这样,还要留意那些可能需要或不需要替换资源的资源参数。

    希望对你有帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-08-27
      • 2020-10-30
      • 2020-10-10
      • 2021-07-28
      • 2021-05-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多