AWS部署Spring Boot Docker镜像后,如何获取REST调用IP并确认部署步骤
问题解答
一、当前部署步骤的正确性与补充操作
你已完成的ECR镜像上传、ECS任务定义、服务创建、日志查看这几步核心流程是正确的,针对无源代码的镜像部署场景,还需要补充以下关键操作:
- 配置端口映射:在ECS任务定义的「容器定义」中,必须添加端口映射规则,将Spring Boot应用的容器端口(默认8080)暴露出来(Fargate模式下主机端口可留空,EC2模式需指定主机端口)。
- 配置安全组:为ECS任务/EC2实例绑定的安全组添加入站规则,允许你的本地IP访问应用端口(测试阶段),后续还要允许集群内其他服务的IP访问该端口(服务间调用需求)。
- 网络模式选择:优先使用
awsvpc网络模式(Fargate默认,EC2也支持),该模式下每个任务拥有独立的网络栈,更利于服务间隔离与访问控制。
二、获取可用于Postman调用的访问地址/IP
根据ECS的启动类型(Fargate/EC2),获取方式不同:
1. Fargate启动类型
方式一:使用负载均衡(生产推荐)
- 创建服务时关联Application Load Balancer(ALB),配置ALB的监听端口(如80),将流量转发到对应ECS服务的目标组(目标组端口设置为容器暴露的端口,如8080)。
- 完成配置后,ALB的DNS名称(可在EC2控制台的负载均衡器详情中查看)就是你用来调用的地址,格式为
http://<ALB-DNS>:<监听端口>,无需使用IP(ALB的公网IP可能动态变化)。
方式二:分配公网IP(测试用)
- 在创建任务定义时选择
awsvpc网络模式,创建服务时在「网络」配置中开启「分配公网IP」选项。 - 任务启动后,进入ECS控制台的「任务」详情页面,即可看到任务的公网IP,调用地址为
http://<公网IP>:<容器端口>(如http://1.2.3.4:8080)。
2. EC2启动类型
- 先在ECS控制台的「集群」页面找到对应的EC2实例,获取实例的公网IP。
- 调用地址为
http://<EC2公网IP>:<主机端口>(主机端口为任务定义中设置的端口)。 - 确保EC2实例的安全组允许你的本地IP访问该主机端口。
三、多部署镜像互相调用的配置
- 使用私网访问:同一VPC内的ECS服务,可通过任务的私网IP、服务的私网DNS(若配置了Cloud Map服务发现)互相调用,无需走公网,更安全高效。
- 配置服务发现:在创建ECS服务时开启Cloud Map服务发现,为服务分配一个私网域名,其他服务可直接通过该域名访问(无需记住IP)。
- 安全组配置:调整安全组规则,允许集群内其他服务的安全组ID访问当前服务的应用端口(如允许安全组sg-xxxx访问8080端口)。
内容的提问来源于stack exchange,提问作者wishyouwerehere
相关产品推荐
相关产品推荐

