我想要一个 API 网关作为代理,代表我的 AWS 资源(Lambda、EC2 等)通过附加令牌与外部 API(我们称之为 E-API)进行通信。
但是 E-API 仅接受来自事先约定的某些白名单 IP 的请求。
因此我们得到了一个弹性 IP,但我有点困惑如何将 IP 与我的 API 网关关联起来:这样当它向 E-API 发送 HTTP 时,它会将自己标识为从该弹性 IP 中出现的。
我曾尝试研究 VPC 和 Route53 的设置,但需要帮助以了解如何继续?
答案1
无法将弹性 IP 地址与 API 网关关联。
但是,即使有可能,也无法解决您的问题。这是因为您的执行代码(Lambda 或后台的 EC2 实例)是您的逻辑运行的地方。它来自那里您希望拥有一个可以列入白名单的固定 IP 地址。
这可以使用具有弹性 IP 地址的 NAT 实例或 NAT 网关来实现。
- 设置一个 VPC 来运行您的代码。
- 创建具有 NAT 实例或 NAT 网关的公共子网。为其指定一个弹性 IP 地址。
- 创建一个通过 NAT 网关与互联网通信的私有子网。
- 配置您的 Lambda 函数或 EC2 实例以在私有子网中执行。
如果您这样做,则来自您函数的所有出站连接都将使用固定 IP 地址从 NAT 退出。然后您可以将该弹性 IP 地址列入白名单。
答案2
这地点一步一步地解释了如何实现这一点。希望这对你有帮助