标签: amazon-api-gateway

如何将 Route 53 设置为指向 Api Gateway

我正在编写一个 Cloudformation 配置文件来一次性创建一个网站。这包括创建 lambda 函数、创建 API 网关、设置 S3 存储桶、创建 Route 53 区域和记录。

迄今为止:

  • 创建 Lambda 函数及其角色(有效)
  • 创建 API Gateway 它的部署和它的角色(工作)
  • 创建 S3 存储桶及其策略(有效)
  • 为站点创建 Route 53 区域和 DNS 记录(有效)
  • 为 API Gateway 创建域(不知道我在做什么)

因此,domain.com可以毫无问题地提供 S3 存储桶中的文件。将 AWS URI 用于 API Gateway 可以https://trydsoonjc.execute-api.us-west-2.amazonaws.com/app/path/here毫无问题地工作。

我想要设置的是api.domain.com指向 API 网关以访问服务器的 API。

如何将 Route 53 连接到 API Gateway?

我现在的 Cloudformation 是这样的:

{
  "AWSTemplateFormatVersion": "2010-09-09",
  "Description" : "Website",

  "Parameters": {
    "DomainName": {
      "Type" : "String",
      "Description" : "The DNS name of …
Run Code Online (Sandbox Code Playgroud)

amazon-web-services amazon-cloudformation amazon-api-gateway

13
推荐指数
1
解决办法
7768
查看次数

如何在同一域中同时使用 AWS CloudFront 和 API Gateway?

我将我网站的静态资产放在 S3 上,并设置 CloudFront 来分发它们。这些本质上包含用户在我的站点上的任何 GET 请求所需的内容,即现有路径,即包含错误的包罗万象。

我还有一些 POST 请求需要处理。表单提交、发送电子邮件、通知、与数据库交互。

我如何为同一域与 CloudFront 并排设置 Lambda(或 API 网关),以便 CloudFront 处理 GET 请求,而 API Gateway 处理带有正文或 POST 请求的请求。或者我可以以某种方式通过单个 URL 来完成吗?

amazon-cloudfront amazon-web-services amazon-api-gateway

9
推荐指数
2
解决办法
1万
查看次数

AWS Api 网关 - 没有为方法定义集成

虽然我在尝试部署 api 网关时已经定义了集成,但我不断收到类似于/sf/ask/3226152331/ 的“没有为方法定义集成”错误-a-stage-where-your-api-will-be-deploy?rq=1

他们在这里提到的答复是“设置集成方法”。

但是我已经设置了集成方法。附上截图,那么我的情况到底是什么问题?

在此处输入图片说明

amazon-api-gateway

7
推荐指数
1
解决办法
7781
查看次数

AWS API Gateway Lambda 授权方 + 客户端证书

我正在评估使用客户端证书来提高我正在处理的应用程序的安全性。这一切都在 AWS 上运行,并通过带有附加 Lambda 授权方的 API 网关。

AWS 文档指出 API Gateway 不支持通过客户端证书进行身份验证,但允许您在后端进行身份验证,但文档并未提及使用 Lambda 授权方时会发生什么。

我的第一个赌注是它不会工作,因为 API Gateway 无法看到标头。但是当 API Gateway 处理证书的创建和存储时,它可能至少可以在数据流内部对等以获取允许 Lambda 授权器工作的标头数据。

在我的情况下,我想将客户端证书添加到我已经存在的基于令牌的授权中。

可以实现此设置,或者只能通过将令牌验证移动到后端来完成。

amazon-api-gateway client-certificate

6
推荐指数
1
解决办法
2057
查看次数

AWS API网关作为基于EC2的微服务的代理

我有几个微服务在 EC2 上运行。

我的目的是使用 AWS API 网关允许通过互联网访问 EC2 API。

Incoming Traffic is:
internet -> API Gateway -> EC2-server
Run Code Online (Sandbox Code Playgroud)

我计划在 AWS Gateway 上使用一个 geedy HTTP 代理。但我有两个问题:

A) 如何在方法集成中的“URL Endpoint”中寻址 EC2?我可以以某种方式使用AWS私有IP吗?

B) 如何配置 EC2 安全组以允许 API 网关请求进入 EC2?

amazon-web-services amazon-api-gateway

5
推荐指数
1
解决办法
2万
查看次数

我是否应该在 API/Web 前使用 CloudFront,只是因为我希望它们位于单个域中?

我通常使用 S3 上的前端单页应用程序和服务器上的后端 API 来开发我的应用程序,通常是弹性 beantalk(所以 ELB + EC2)。我对将什么放在我的 ELB 和 S3 前面的好选择感到困惑 - 主要是 CloudFront 或 API 网关。我现在的主要需求是缓存和性能(减少服务器负载)。当然成本也会是奖金。就我而言,流量通常仅限于一个地区/国家(新加坡)。

所以假设我想保留一个域,我想我肯定会需要 CloudFront?因此 CloudFront 将有 2 个来源 S3 和 ELB。S3 源可以配置长缓存 TTL 和 ELB 较短的缓存,只是为了处理峰值。这是一个好主意吗?

但是如果某些 API,尤其是列表 API 不应该被缓存呢?如果我将 TTL 设置为 0,它不会缓存,但我的理解是它更慢?如何最好地处理这些?

也就是说,我什么时候使用 API 网关?假设我不需要所有 SDK 的东西并且我当前的系统仍在 ELB/EC2 上。在我的情况下,它似乎只是一个代理和缓存系统,就像 cloudfront 一样?

amazon-cloudfront amazon-web-services amazon-api-gateway

3
推荐指数
1
解决办法
2229
查看次数

HAProxy 作为 AWS API Gateway 的反向代理

正如标题所暗示的,我有一个 AWS API Gateway 端点,我想将它放在 HAProxy 后面。

这是我当前的 HAProxy 配置

defaults
    mode                    http
    log                     global
    option                  httplog
    option                  dontlognull
    option http-server-close
    option forwardfor       except 127.0.0.0/8
    option                  redispatch
    retries                 3
    timeout http-request    10s
    timeout queue           1m
    timeout connect         10s
    timeout client          1m
    timeout server          1m
    timeout http-keep-alive 10s
    timeout check           10s
    maxconn                 3000

listen  http
        bind 127.0.0.1:8080
        maxconn     18000

        acl api_gateway path_beg /api-gateway
        use_backend api-gateway-backend if api-gateway

backend api-gateway-backend
        http-request set-header Host xxxxx.execute-api.ap-southeast-2.amazonaws.com
        server api-gateway xxxxx.execute-api.ap-southeast-2.amazonaws.com:443
Run Code Online (Sandbox Code Playgroud)

当我点击/api-gatewayHAProxy 上的端点时,我得到400 …

haproxy amazon-web-services amazon-api-gateway

2
推荐指数
1
解决办法
3065
查看次数