amazon-web-services - 如何将 Spring Boot Rest 项目部署到私有 AWS API GATEWAY?
问题描述
我有一个成功运行的 Spring Boot Rest 项目,并且我在http://localhost:8080/students
. 如何将其公开SpringBoot REST API
到私有 AWS API GATEWAY?我必须公开 REST API 服务,并且必须将端点提供给客户端,才能访问该服务。我不知道如何在 AWS API GATEWAY 中呈现和创建端点!
解决方案
API Gateway 将充当客户端和您的应用程序之间的中介。因此,首先应该公开您的应用程序,以便 AWS Gateway 可以调用它。
如果您在本地 PC 上运行应用程序,则需要通过设置静态 IP 并在防火墙中打开相应端口(如果有)将其公开到 Internet。这可能适用于调试/测试目的,但总的来说它很糟糕,因为您会将应用程序暴露给 Internet,并且客户端服务有可能直接连接到它,而不是网关。
我认为其他更合适的方法是在 AWS EC2 实例或 AWS beanstalk 中运行您的应用程序。在这种情况下,您可以为您的应用程序配置私有端点并使其仅通过 API Gateway 可用。在这里您可以找到更多详细信息https://aws.amazon.com/blogs/compute/introducing-amazon-api-gateway-private-endpoints/
因此,让我们假设您的应用程序已启动并运行并可用于 API Gateway。在这种情况下,您将需要执行:
在 API 网关中创建 API
创建资源,即路径 /user 将是用户资源
- 为每个资源创建一个方法,即 GET、POST 等。为您的方法选择集成类型 HTTP 并设置它将使用的端点
- 部署 API 到 staging
推荐阅读
- python-3.x - django-filter 不过滤查询
- php - 谁能找到并帮助我这个错误是关于什么的?
- swift - Swift json 调用返回空括号,nil 无法检查它
- javascript - no-unused-expressions:需要赋值或函数
- python - 如何重新采样直到满足特定日期条件
- javascript - 按钮单击时 Highcharts 刷新工具提示不适用于 boost 模块
- kubernetes - 是否可以在 GKE 的区域集群中创建仅限区域的节点池?
- github - 带有生成文件的 GitHub 版本
- r - 如何从“规范”类的对象中提取组件?
- mongodb - 使用 Mongodump shell 时,如何从副本集中指定数据库和集合?