【问题标题】:AWS API Gateway Serve S3 Content and LambdaAWS API Gateway 提供 S3 内容和 Lambda
【发布时间】:2018-09-18 07:57:38
【问题描述】:

我已使用 ACM 创建了 SSL 证书。我想使用此证书来提供来自 S3 存储桶和我的 lambda 的静态内容。目前,我想避免使用 CloudFront 并通过 API Gateway 代理 S3 和 Lambda,以便从单个 SSL 域提供所有内容(没有 CORS 问题)。

理想情况下,我会调用:

https://my.customdomain.com/ (lambda redirects to /web/index.html)
https://my.customdomain.com/api/* (lambdas)
https://my.customdomain.com/web/* (static content - s3)

上述架构合理/可能吗?

【问题讨论】:

  • 请注意,通过使用单个 CloudFront 分配作为 API 和存储桶的前端,可以实现完全相同的目标,同时提高性能并显着降低成本。 (API Gateway $3.50/MM req to S3 vs CF $1.00/MM req to S3。)
  • 这是一个很好的提示@Michael-sqlbot。这绝对有助于我的决定。谢谢!
  • 对于未来的开发人员,还要注意单个 AWS 账户的软限制为 200 个 CloudFront 分配和 100 个 S3 存储桶!虽然 CloudFront 无疑是少数站点的解决方案,但所请求的策略更适合运行许多不同的站点和子域

标签: amazon-web-services amazon-s3 aws-lambda aws-api-gateway aws-certificate-manager


【解决方案1】:

是的,架构是可能的。

API Gateway 有这个目标。作为不向客户公开的后端服务的网关。与 API Gateway 集成的选项之一是与 Amazon S3。

基本上,您会将对象密钥转发给 S3 并使用 S3 API 调用(由 API 网关执行)请求此对象。您只需向 API Gateway 授予正确的权限,即可使用正确的凭据进行此调用。

您可以找到完成这项工作所需的信息here

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-12-25
    • 2017-08-24
    • 2020-11-12
    • 2018-11-09
    • 1970-01-01
    • 2020-03-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多