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

在AWS中部署Jenkins代理节点是否需要配置公网IP?

Jenkins控制器连接AWS代理节点无需依赖公网IP的实现方案

Jenkins控制器和代理节点完全不需要依赖公网IP就能建立连接,以下是几种低成本、贴合AWS场景的实用方案:

  • 同VPC内网通信(最推荐)
    把Jenkins控制器和代理节点部署在AWS同一个VPC下,直接用内网IP或内网DNS名称建立连接,全程不走公网:

    • 创建代理实例时,不要勾选「自动分配公网IP」;如果是已有的实例,手动解绑公网IP,关机后IP会自动释放,不会产生额外费用。
    • Jenkins配置代理时,直接填写代理节点的内网IP(比如10.0.1.10)或者内网DNS(比如ip-10-0-1-10.us-east-1.compute.internal)即可。
  • 代理主动连接控制器(跨网络场景)
    如果控制器不在AWS VPC内(比如本地机房、其他云服务商),可以采用反向连接模式,让代理节点主动发起连接到控制器,这种模式下代理节点不需要公网IP,只要能访问到控制器的网络就行:

    • 在Jenkins控制器上开启「JNLP代理」配置,或者使用SSH代理的反向连接功能;
    • 代理节点通过AWS VPN、专线或其他内网通道访问控制器,完成连接后就能接收构建任务。
  • 临时公网IP初始化后释放
    如果必须用公网IP完成代理节点的初始化(比如下载Jenkins代理客户端),可以在实例启动脚本中添加自动释放逻辑:

    # 初始化完成后解绑公网IP
    ASSOCIATION_ID=$(aws ec2 describe-addresses --filters "Name=instance-id,Values=$(curl -s http://169.254.169.254/latest/meta-data/instance-id)" --query 'Addresses[0].AssociationId' --output text)
    aws ec2 disassociate-address --association-id $ASSOCIATION_ID
    

    这样初始化完成后就会释放公网IP,关机后也不会产生费用。

注意事项

  • 配置VPC安全组规则,允许控制器和代理节点之间的必要端口通信(比如Jenkins JNLP默认的50000端口、SSH的22端口);
  • 采用反向连接时,确保控制器的防火墙/安全组允许代理节点的内网IP访问。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 13:30:43