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

无公网环境下如何将私有AWS CodeCommit仓库克隆至本地服务器?

问题场景与故障情况

我们的AWS账户无NAT网关或互联网网关,拥有一个私有CodeCommit仓库。本地VPC已通过VPC直连与AWS VPC打通,本地防火墙也已向AWS VPC开放443端口。本地服务器无公网连接,我们已在AWS VPC中创建访问CodeCommit的接口终端节点,且本地服务器配置了包含访问密钥和秘密密钥的AWS配置文件,但在尝试仓库克隆、更新及推送操作时遇到问题。

故障详情

尝试通过Git HTTPS URL克隆仓库时,请求直接指向CodeCommit的公网终端节点,最终因连接超时失败,报错信息如下:

git clone https://git-codecommit.ap-south-1.amazonaws.com/v1/repos/xxx-xxx-projects
Cloning into 'xxx-xxx-projects'...
fatal: unable to access 'https://git-codecommit.ap-south-1.amazonaws.com/v1/repos/xxx-xxx-projects/': Failed to connect to git-codecommit.ap-south-1.amazonaws.com port 443: Connection timed out

解决方案

要让本地服务器通过VPC接口终端节点访问CodeCommit,需通过DNS解析或修改Git配置,将请求导向终端节点的私有网络地址,具体步骤如下:

  • 获取CodeCommit接口终端节点的私有信息
    在AWS控制台的VPC终端节点页面,找到已创建的CodeCommit接口终端节点,记录它的私有域名(格式类似 vpce-xxxxxx.codecommit.ap-south-1.vpce.amazonaws.com)和对应的私有IP地址。

  • 修改本地DNS解析或Hosts文件

    • 若有内部DNS服务器,添加解析记录:将git-codecommit.ap-south-1.amazonaws.com指向终端节点的私有IP(若终端节点有多个私有IP,可添加多条记录)。
    • 单台服务器测试时,直接修改Hosts文件:
      Linux系统编辑/etc/hosts,Windows系统编辑C:\Windows\System32\drivers\etc\hosts,添加一行:
      <终端节点私有IP> git-codecommit.ap-south-1.amazonaws.com
      
  • 验证解析生效
    在本地服务器执行以下命令,确认域名解析已指向私有IP:

    nslookup git-codecommit.ap-south-1.amazonaws.com
    

    或

    dig git-codecommit.ap-south-1.amazonaws.com
    
  • 重新执行Git操作
    解析配置完成后,再次尝试克隆、更新或推送:

    git clone https://git-codecommit.ap-south-1.amazonaws.com/v1/repos/xxx-xxx-projects
    
  • 替代方案:直接使用终端节点私有域名
    若不想修改DNS解析,可直接用终端节点的私有域名替换Git URL中的公网域名:

    git clone https://vpce-xxxxxx.codecommit.ap-south-1.vpce.amazonaws.com/v1/repos/xxx-xxx-projects
    

    需确保本地服务器能解析该私有域名(通常VPC内DNS可自动解析,本地通过VPC直连时需确认DNS转发配置)。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 12:45:36