【问题标题】:How to deploy spring boot rest project to private AWS API GATEWAY?如何将 Spring Boot Rest 项目部署到私有 AWS API GATEWAY?
【发布时间】:2019-03-16 06:21:19
【问题描述】:
我有一个成功运行的 Spring Boot Rest 项目,我在 http://localhost:8080/students 上收到了成功响应。如何将此SpringBoot REST API 公开到私有 AWS API GATEWAY?我必须公开 REST API 服务,并且必须将端点提供给客户端,才能访问该服务。我不知道如何在 AWS API GATEWAY 中呈现和创建端点!
【问题讨论】:
标签:
amazon-web-services
spring-boot
【解决方案1】:
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 Gateway 中创建 API
创建资源,即路径 /user 将是用户资源
- 为每个资源创建一个方法,即 GET、POST 等。为您的方法选择集成类型 HTTP 并设置它将使用的端点
- 将 API 部署到暂存