【问题标题】:Setting up a loadbalancer behind a proxy server on Google Cloud Compute engine在 Google Cloud Compute 引擎上的代理服务器后面设置负载均衡器
【发布时间】:2014-07-04 02:50:36
【问题描述】:

我希望在 Google Cloud Compute Engine 上构建一个可扩展的 REST Web 服务,但有几个要求我不确定如何最好地实施。

目前的结构:

2 运行连接到 MySQL 云数据库的 REST Web 服务的实例。 (未来要扩大的实例数量)

负载均衡器在两个或多个实例之间拆分请求。

这部分很好。

接下来我需要的是流量(从实例到外部 Web 服务的 POST 请求)必须来自单个 IP 地址。我假设这些请求不能通过负载均衡器的公共 IP 路由回来?

我的印象是,解决方案是通过运行 squid 的第三个实例路由来自实例的所有请求。这是最好的方法吗? (附带问题)

现在我的主要问题:

我一直在阅读有关 ApiAxle 的文章,它听起来像是一个不错的 Web 服务代理,提供了一些良好的访问控制、限制和报告功能。

我能否有一个运行 ApiAxle 的实例,后跟一个谷歌云负载均衡器,它将代理的请求共享到后端实例,后端实例执行腿部工作并通过 ApiAxle 代理反馈响应,从而通过单个 IP 获得所有内容对使用 API 的客户端可见? (让我向池中添加新实例以增加容量。)

并且代理会成为瓶颈吗?

提前致谢。

/戴夫

(新手,如果这是一个愚蠢的问题,很抱歉,因为我在网上找不到类似的东西)

【问题讨论】:

  • 我不清楚您的意思“我接下来需要的是流量(从实例到外部 Web 服务的 POST 请求)必须来自单个 IP 地址。”您是说您公开的 REST 服务会进行额外的外部调用吗?它必须来自单个 IP 地址的限制是否是对该外部服务许可的限制?
  • 它确实与安全相关,IP 必须在目标系统中列入白名单,我需要能够通过部署新实例来快速扩展容量,并且不能等待将新 IP 地址添加到第三个的前置时间当事人制度。谢谢。

标签: web-services rest proxy load-balancing google-compute-engine


【解决方案1】:

听起来您需要对出站流量进行 NAT,使其看起来来自一个 IP 地址。您需要通过第三个实例来执行此操作,因为 Google LB 堆栈不提供此功能。 GCLB 仅适用于负载平衡 IP 上的入站连接。

您可以使用advanced routing 设置源NAT,也可以按照您的建议使用代理。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-01-13
    • 1970-01-01
    • 2013-11-23
    • 2020-07-19
    • 2021-06-15
    • 1970-01-01
    • 2016-07-24
    • 2010-09-20
    相关资源
    最近更新 更多