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

如何将ALB作为NLB目标组以实现Bitbucket的SSH克隆?

关于Bitbucket数据中心SSH克隆的负载均衡配置方案

架构可行性判断

你提到的「将ALB配置为NLB的目标组」方案不可行。NLB是四层(TCP/UDP)负载均衡器,其目标组仅支持直接指向后端实例、IP地址或Lambda函数,无法将七层负载均衡器(ALB)作为目标。这种嵌套负载均衡的架构不符合AWS负载均衡器的设计逻辑,无法正常转发流量。

正确的Bitbucket SSH克隆实现方式

结合你已完成的ALB配置,推荐采用「ALB处理HTTP/HTTPS流量 + NLB单独处理SSH流量」的分离架构,具体步骤如下:

1. 创建并配置NLB处理SSH流量

  • 新建NLB,协议选择TCP,端口设置为Bitbucket SSH服务的监听端口(默认22,也可自定义)。
  • 配置目标组:
    • 目标类型选择「实例」或「IP地址」,添加所有Bitbucket数据中心节点。
    • 目标端口设置为Bitbucket节点上SSH服务的实际监听端口(默认22)。
    • 健康检查选择TCP协议,检查端口22的可达性,确保仅正常运行的节点会被分配流量。

2. 配置Bitbucket集群与安全组

  • 确保所有Bitbucket节点的SSH服务正常运行,集群内的SSH密钥配置保持一致(Bitbucket数据中心会共享SSH认证信息)。
  • 在Bitbucket管理后台的「服务器设置」中,确认SSH端口配置正确,可将plugin.bitbucket-git.hostname设置为NLB的域名,这样系统生成的SSH克隆链接会自动使用NLB地址。
  • 安全组配置:
    • NLB的安全组允许外部客户端访问SSH端口(22或自定义端口)。
    • Bitbucket节点的安全组允许NLB的安全组访问自身的22端口。

3. DNS与客户端使用

  • 为NLB分配独立的域名(如ssh.your-bitbucket-domain.com),与ALB使用的Web域名(如your-bitbucket-domain.com)区分开。
  • 用户克隆仓库时,使用NLB域名的SSH链接,例如:
    git clone ssh://git@ssh.your-bitbucket-domain.com/project/repo.git
    
    若使用默认22端口,可省略端口号。

关键注意事项

  • 不要尝试在NLB后挂载ALB,两者层级不同,无法兼容。
  • 保持Bitbucket集群内所有节点的SSH配置同步,避免部分节点无法响应SSH请求。
  • 定期检查NLB的目标组健康状态,确保流量仅转发到正常节点。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 19:12:18