给定AWS无服务器终端节点的别名/多租户

时间:2019-09-02 00:08:40

标签: amazon-web-services networking aws-api-gateway serverless-framework

我目前正在使用API​​ Gateway(使用无服务器框架)为我的无服务器端点提供服务,并且希望给定端点具有多个租户。

部署工作正常,别名tenant0.domain.xyz正常工作,调用时得到响应。

现在,我想为同一部署获取其他租户,例如tenant1.domain.xyztenant2.domain.xyz等。

当我在Route53中添加新的别名时,如下所示:

tenant2.domain.xyz.
AAAA
ALIAS d-ea4i6xxxxx.execute-api.us-east-1.amazonaws.com. (z1ujrxoxxxxx)

我已经完成了从tenant2.domain.xyzd-ea4i6xxxxx.execute-api.us-east-1.amazonaws.com的映射,但是API Gateway返回了:{"message":"Forbidden"}%

有什么办法可以解决此问题?

1 个答案:

答案 0 :(得分:1)

从2019年10月开始,您可以将通配符自定义域添加到API Gateway!

然后,您可以将*.domain.xyz添加为端点的自定义域(也需要来自*.domain.xyz处于活动状态的AWS Certificate Manager(ACM)的证书)。

这使您可以动态地向租户发布子域,而无需对DNS进行任何修改。您可以使用参数event.requestContext.domainPrefix lambda作为示例,将租户路由到他们的服务/或/为每个租户执行自定义逻辑。