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

AWS环境下两个容器能否来回切换共用同一IP:PORT提供服务?

可行实现方案

方案1:单低配ECS运行Nginx四层反向代理(最低改造成本)

你只需要保留当前的最低配备用服务器实例即可,无需额外付费资源:

  • 把备用服务器上的伪造MC服务端口改成非25565的本地端口(比如25566),避免端口冲突
  • 在该实例上安装Nginx并开启stream模块,配置TCP反向代理监听25565端口,默认上游为本地127.0.0.1:25566的备用服务
  • 给Nginx加上TCP端口健康检查规则,定时探测全功能服务器的25565端口状态,当探测到端口可连通时,自动将流量切换到全功能服务器的地址,探测失败时切回备用服务
  • 原有备用服务触发全功能服务器启动的逻辑完全保留,可直接调用AWS CLI启动对应ECS全功能任务,无需修改
  • 所有用户统一连接备用服务器的固定公网IP,全功能服务器不需要暴露公网IP,也不需要用户知晓其地址,流量全部通过该备用实例转发,完美解决共用IP的需求
    该方案每月固定成本仅为最低配ECS的费用,AWS t4g.nano实例包月成本约3美元,完全符合低于5美元的成本要求。

方案2:轻量iptables动态端口转发(资源占用最低)

同样只需要保留最低配备用ECS,资源占用比方案1更低:

  • 备用服务依然监听本地25566端口
  • 写一个简单的shell定时脚本,每隔2~3秒用nc或者mcstatus工具检测全功能服务器的25565端口是否可访问
  • 当检测到全功能服务器离线时,执行iptables规则把入方向25565端口的流量转发到本地25566端口
  • 当检测到全功能服务器在线时,修改iptables规则把25565端口的流量通过DNAT转发到全功能服务器的IP地址
  • 同样使用备用实例的固定公网IP作为用户唯一连接地址,全功能服务器无需暴露公网IP
    该方案对低配实例的资源占用几乎可以忽略,成本和方案1完全一致。

方案3:网页手动触发启动(极致低成本)

如果可以接受用户手动触发启动,该方案成本几乎为0:

  • 直接关停备用服务器,给全功能服务器绑定固定弹性IP,域名直接解析到该弹性IP
  • 做一个简单的静态网页,放一个「启动服务器」按钮,点击后调用Lambda函数启动全功能ECS容器/实例,同时给用户展示启动倒计时提示
  • 静态网页可以直接托管在S3上,Lambda调用成本几乎可以忽略,每月总成本不到1美元,远低于你的成本要求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 16:06:04