如何访问EC2实例上运行在localhost:4200的Prefect Orion UI
EC2上Prefect Orion UI访问及Flow可见性问题解决
问题场景
在EC2实例部署Prefect Flow脚本后,遇到两个问题:
- 已配置EC2入站安全规则开放4200端口,但通过公网IP+4200无法访问运行在localhost:4200的Prefect Orion UI,实例内
curl localhost:4200可正常返回页面。 - 设置
export PREFECT_ORION_API_HOST=0.0.0.0后能成功访问UI,但无法加载EC2上启动的Flow。
解决方案
1. 修复公网无法访问UI的问题
默认状态下,Prefect Orion API仅绑定localhost,仅允许实例内部访问。执行以下命令让API监听所有网卡:
export PREFECT_ORION_API_HOST=0.0.0.0
重启Prefect Orion服务后,即可通过EC2公网IP:4200访问UI。
2. 修复Flow无法在UI显示的问题
EC2上运行的Flow默认会向localhost:4200/api上报数据,需指定API的公网地址,让Flow与UI指向同一端点:
export PREFECT_API_URL="http://x.xxx.xxx.xx:4200/api"
将x.xxx.xxx.xx替换为你的EC2公网IP,重启Flow脚本和Prefect服务后,UI即可正常显示EC2上启动的Flow。
可选:让配置永久生效
若要避免每次登录都重新设置,可将上述两个export命令添加到EC2实例的~/.bashrc或~/.profile文件中,登录后会自动加载配置。
内容的提问来源于stack exchange,提问作者user15915737
相关产品推荐
相关产品推荐

