【问题标题】:Deploy my REST API's on AWS when the API's aren't supposed to be public API当 API 不应该是公共 API 时,在 AWS 上部署我的 REST API
【发布时间】:2019-06-14 02:49:21
【问题描述】:

我有一个使用 Spring MVC 构建的应用程序,后端是 REST API,也是使用 Spring MVC 框架构建的。

来自浏览器的请求首先到达 springMvc 应用程序,然后调用我的 REST API 获取数据。我不需要公开我的 API。所以我不打算使用任何 API 网关。

为了安全起见,我正在考虑将我的 REST 应用程序托管在私有子网中,并将 springMVC 应用程序托管在 VPC 的公共子网中。

我的问题是,如果一些开发人员想直接测试 API,AWS 中有哪些规定可以在开发环境中进行管理。

我正在使用 AWS cognito 进行身份验证,我只是要在 REST 应用程序中验证令牌以提高安全性。在网络级别,我计划使用 Netwrok ACL 将 REST 应用程序限制为只能由我的 springMVC 应用程序调用。基本上是一个公共子网和一个私有子网。

如果我在这方面的理解是正确的,请提供帮助,并且以后会导致任何设计问题。

如果以后某个阶段,我计划将我的 API 公开给一个移动应用程序,我可能需要进行一些返工。现在考虑未来并进行相应的设计是否值得考虑,如果我在 AWS 上可能不会花费太多时间。

【问题讨论】:

    标签: java amazon-web-services amazon-ec2 amazon-vpc aws-vpc


    【解决方案1】:

    您可以use API Gateway to create private APIs 只有您的 VPC 才能访问。如果可能,您应该考虑使用此选项。当涉及到 API 时,有很多事情难以管理,例如限制、缓存和日志记录。使用 API Gateway,API 的大量脚手架和检测工作已经完成。你也可以connect Cognito user pools to the API Gateway

    This blog post 有一个很好的概述和一个例子。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-07-09
      • 2020-01-13
      • 2018-06-23
      • 2020-07-25
      • 2021-04-02
      • 2023-01-03
      • 1970-01-01
      相关资源
      最近更新 更多