如何设置具有静态外向IP和自定义域的REST API?

0

【以下的问题经过翻译处理】 您好,

我试图使用API Gateway作为Lambda函数的触发器。我需要从函数中进行外部API调用,并且需要将我的IP地址添加到服务提供商的白名单中,因此它应该是静态的。我还需要向他们提供API调用的来源主机名,因此API网关将使用自定义域。我在Godaddy上注册了域名,并且希望在此API Gateway上使用子域名。

目前,我所做的是:

  1. 创建了一个具有该地区所有可用区子网的VPC端点。
  2. 创建了一个私有的Rest API,并将以上VPCE分配给它。
  3. 创建了与可用区相同数量的弹性IP。
  4. 从ACM请求了子域的新证书,将CNAME记录放在Godaddy上,并获得了证书。
  5. 创建了一个目标组,目标类型为IP,协议为TLS,健康检查协议为HTTPS,并注册了每个可用区的默认子网IP。我将403用作健康检查状态,因为这将是在使用NLB的DNS进行健康检查时调用API时的状态。健康检查结果为正。
  6. 创建了一个面向Internet的IPv4网络负载均衡器。侦听器使用TLS协议进行设置。我将上述创建的EIP分配给此负载均衡器,同时也分配了上述生成的证书。

这样,我就能够成功地使用NLB域调用私有API网关。但是,我收到了一个安全警告,因为为其颁发证书的域没有用于调用API。我为API创建了一个自定义域,并为其分配了相同的证书。但是,客户那里得到了同样的警告。如果我试图用自定义域名调用API,我根本没有得到响应,因为名称没有得到解析。

如果我在AWS Route 53上注册了我的域,我就可以创建一个指向NLB的Alias记录。我用外部域名注册商能实现么?

1 回答
0

【以下的回答经过翻译处理】 1、对于函数中进行外部API调用,并且需要将我的IP地址添加到服务提供商的白名单中,建议件lambda设置为vpc内服务,然后使用私有subnet,并将私有subnet的出网设置为NAT网关,向您的供应商提供私有NAT网关的地址。 2、对于在APIgateway中使用自己的域名,建议参考这个文档

profile picture
专家
已回答 5 个月前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则