问题描述
已被要求为我的组织研究AWS设置,但这不是我的经验领域,因此这是一个挑战。经过研究后,我希望API Gateway能为我们工作,如果有人可以告诉我我是否正确,我将非常感谢。 该计划是:
- 我们创建一个具有多个专用子网的VPC。子网中的EC2实例将托管基于浏览器的应用程序,例如Apache Guacamole,Splunk等。
- 我们将具有REST API的API网关附加到VPC,该API网关将允许用户仅访问“其”子网上的应用程序
- 用户可以从外部API链接到API网关,该API将提供Oauth2凭据。
- API网关REST API会验证其凭据,并在一个页面上为它们提供服务,该页面具有指向“其”子网中服务的专用IP地址的链接。然后,他们可以单击链接并打开Splunk,鳄梨酱浏览器页面等。
我也将客户端VPN视为一种可能的解决方案,但是我的组织希望用户能够从现有API直接连接到各个子网,而不必下载任何其他工具(这是由于专业知识水平不同)用户以及远程工作的需求)。如果有更好的解决方案可以提供相同的工作流程,那么我很乐意实现。
感谢您的帮助
解决方法
这听起来可能在理论上可行。我主要担心的是,Apache Guacomole或您尝试公开的任何其他服务是否需要长期的HTTP连接。 API网关有一个严格的要求,即所有请求的时间不得超过29秒。
我还建议您考虑通过公共应用程序负载平衡器(而不是具有OIDC authentication support的API网关)公开这些服务。您需要查看要公开的特定服务的要求,以评估API Gateway或ALB是否更合适。
我个人将通过使用“基础结构即代码”配置这些环境中的每一个来解决此问题,这样您就可以通过简单地运行带有一些参数的IaC工具(例如客户端ID和域)来创建新的客户端环境。您要使用的名称或子域。实际上,我将每个人都放在自己的VPC中,因为听起来您希望每个客户端的环境都与其他客户端隔离。