You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

部署Spring Boot Docker应用:创建EC2实例前需先建VPC和子网吗?是否为AWS新特性?

关于EC2实例创建与公网访问的问题解答

1. 是否需要手动创建VPC和子网才能创建EC2实例?这是新特性吗?

不需要手动提前创建VPC和子网。AWS在每个区域都会自动为你创建一个默认VPC,以及该VPC下的公有子网(每个可用区一个)。当你创建EC2实例时,如果不手动指定自定义VPC和子网,系统会自动使用默认VPC的子网完成实例部署。

这不是AWS的新特性,默认VPC机制已经存在很久了,目的是简化新用户的资源创建流程,让你无需先配置复杂的网络结构就能快速启动EC2实例。

2. 如何让EC2实例及Docker容器的Spring Boot API通过HTTP/HTTPS公网访问?

实例网络与安全配置

  • 选择公有子网:创建实例时,选择默认VPC下的子网(默认都是公有子网),并确保实例分配到公网IP(创建实例时勾选“自动分配公网IP”选项,默认是开启的)。如果需要固定IP,可以后续绑定弹性IP。
  • 配置安全组入站规则:
    • 添加规则允许0.0.0.0/0(或指定IP范围)访问TCP 80端口(HTTP)
    • 添加规则允许0.0.0.0/0(或指定IP范围)访问TCP 443端口(HTTPS)
    • 如果你的Spring Boot容器直接映射到实例的非标准端口(比如8080),也需要开放对应端口,但更推荐映射到80/443以符合公网访问规范。

Docker容器部署配置

  • 端口映射:运行容器时,将Spring Boot应用的端口(默认8080)映射到EC2实例的80和443端口,示例命令:
    # HTTP映射
    docker run -d -p 80:8080 your-spring-boot-image:latest
    # HTTPS映射(需先给Spring Boot配置SSL证书)
    docker run -d -p 443:8443 -v /path/to/ssl/certs:/certs your-spring-boot-image:latest
    
  • Spring Boot SSL配置:在application.properties中添加SSL相关配置(需将证书文件挂载到容器内):
    server.port=8443
    server.ssl.key-store=/certs/your-keystore.jks
    server.ssl.key-store-password=your-password
    server.ssl.key-alias=your-alias
    
  • 可选:用Nginx反向代理处理HTTPS:如果不想在Spring Boot里配置SSL,可以在EC2实例上安装Nginx,配置HTTPS证书(可通过AWS Certificate Manager免费申请),然后将请求转发到容器的8080端口,这样更易于管理证书和多端口转发。

内容的提问来源于stack exchange,提问作者java12399900

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 14:35:23