容器镜像服务ACR提供了VPC安全构建模式,支持在云上VPC内自建GitLab(或Maven仓库等其它内网服务)且不希望暴露公网访问入口。本文介绍如何使用ACR VPC安全构建模式来进行镜像构建。

前提条件

  • 已创建容器镜像服务企业版实例。具体操作,请参见步骤三:创建企业版实例
  • 已在企业版实例对应地域VPC内自建GitLab服务。如果自建的GitLab服务通过ECS IP访问,则ECS所在的安全组需要支持内网接入;如果自建的GitLab服务通过SLB访问,则无安全组要求。
  • 已创建VPC和VSwitch,且必须在支持安全构建模式的可用区内。ACR支持该模式的可用区如下表所示:
    云服务 地域 支持的可用区
    公共云 北京
    • cn-beijing-c
    • cn-beijing-d
    • cn-beijing-e
    • cn-beijing-f
    • cn-beijing-i
    • cn-beijing-j
    • cn-beijing-k
    • cn-beijing-g
    • cn-beijing-h
    杭州
    • cn-hangzhou-e
    • cn-hangzhou-f
    • cn-hangzhou-g
    • cn-hangzhou-h
    • cn-hangzhou-i
    • cn-hangzhou-j
    • cn-hangzhou-k
    深圳
    • cn-shenzhen-a
    • cn-shenzhen-b
    • cn-shenzhen-c
    • cn-shenzhen-d
    • cn-shenzhen-e
    • cn-shenzhen-f
    上海
    • cn-shanghai-a
    • cn-shanghai-b
    • cn-shanghai-c
    • cn-shanghai-d
    • cn-shanghai-e
    • cn-shanghai-f
    • cn-shanghai-g
    • cn-shanghai-i
    张家口
    • cn-zhangjiakou-a
    • cn-zhangjiakou-b
    • cn-zhangjiakou-c
    中国香港
    • cn-hongkong-b
    • cn-hongkong-c
    • cn-hongkong-d
    新加坡
    • ap-southeast-1a
    • ap-southeast-1b
    • ap-southeast-1c
    雅加达
    • ap-southeast-5a
    • ap-southeast-5b
    孟买
    • ap-south-1a
    • ap-south-1b
    美东
    • us-east-1a
    • us-east-1b
    美西
    • us-west-1a
    • us-west-1b
    伦敦
    • eu-west-1a
    • eu-west-1b
    法兰克福
    • eu-central-1a
    • eu-central-1b
    东京
    • ap-northeast-1a
    • ap-northeast-1b
    悉尼
    • ap-southeast-2a
    • ap-southeast-2b
    成都
    • cn-chengdu-a
    • cn-chengdu-b
    河源
    • cn-heyuan-a
    • cn-heyuan-b
    金融云 杭州
    • cn-hangzhou-finance-i
    • cn-hangzhou-finance-j
    • cn-hangzhou-finance-k
    • cn-hangzhou-finance-h

托管安全组

绑定内网源代码仓库时,ACR会调用ECS接口创建托管安全组,使得ACR构建的服务能访问您VPC内自建的GitLab。更多内容,请参见托管安全组

说明
  • 该托管安全组由云产品系统管理,您只有查看权限,没有操作权限。且该托管安全组禁止所有入方向的访问,出方向上仅允许您指定的几个地址:GitLab内网地址、Maven仓库内网地址。
  • ACR构建实例将通过挂载您提供的vSwitch下的ENI以及使用上述托管安全组来访问您的自建GitLab服务。

步骤一:链路管理

  1. 登录容器镜像服务控制台
  2. 在顶部菜单栏,选择所需地域。
  3. 在左侧导航栏,选择实例列表
  4. 实例列表页面,单击目标企业版实例。
  5. 概览页面,选择仓库管理 > 代码源
  6. 代码源页签,单击GitLab操作列下的链路管理
  7. 链路管理对话框,参照以下信息,创建VPC访问链路。单击创建
    表 1. 创建VPC访问链路参数说明
    参数 说明
    GitLab内网IP地址 自建Gitlab代码仓库的内网访问地址。
    其它需放行 IP 地址 填写其它需要放行的内网地址。
    选择已有专有网络 选择前提条件中确认的VPC。
    选择已有交换机 选择前提条件中确认的vSwitch。

步骤二:绑定GitLab

  1. 代码源页签,单击GitLab操作列下的绑定账号
  2. 私有GitLab对话框,参照以下信息,绑定GitLab的源代码仓库。然后单击确定
    表 2. 绑定VPC源代码仓库参数说明
    参数 说明
    网络类型 选择内网
    链路信息 您在步骤一:链路管理创建链路信息。
    地址 请输入GitLab的登录地址。
    • 如果您用的是私有GitLab,请输入私有GitLab登录地址。
    • 如果您用的是公有GitLab,请输入公有GitLab登录地址。
    用户名称 输入登录GitLab的账号名。
    私有Token 请输入您的Access Token。如何创建Access Token,请参见绑定源代码托管平台
    若GitLab的状态栏显示已绑定,说明绑定内网源代码仓库成功。绑定成功

步骤三:使用企业版实例构建镜像

绑定内网源代码仓库后,您需要构建镜像。更多内容,请参见使用企业版实例构建镜像