容器镜像服务ACR提供了VPC安全构建模式,支持在云上VPC或云下IDC机房(通过高速通道打通到云上VPC)内自建GitLab(或Maven仓库等其它内网服务),且不露出公网访问入口。本文介绍如何使用ACR VPC安全构建模式来进行镜像构建。
前提条件
已创建容器镜像服务企业版实例。具体操作,请参见使用企业版实例推送和拉取镜像。
已在企业版实例对应地域云上VPC或云下IDC机房自建GitLab服务。如果在云上VPC自建的GitLab服务通过ECS IP访问,则ECS所在的安全组入方向需要放行100.104.0.0/16对GitLab服务的访问;如果自建的GitLab服务通过SLB访问,则无安全组要求。
在云下IDC机房模式下,要求IDC机房的网段不能与反向访问地址段(100.104.0.0/16)冲突,且需要在高速通道的VBR和IDC机房分别配置反向访问地址段(100.104.0.0/16)的返程路由条目。关于高速通道和VBR的更多信息,请参见什么是高速通道和边界路由器。
已创建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
美东
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
成都
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服务。
步骤一:链路管理
登录容器镜像服务控制台。
在顶部菜单栏,选择所需地域。
在左侧导航栏,选择实例列表。
在实例列表页面,单击目标企业版实例。
在概览页面,选择 。
在代码源页面,单击GitLab操作列下的链路管理。
在链路管理对话框,参照以下信息,创建VPC访问链路。单击创建。
表 1. 创建VPC访问链路参数说明
参数
说明
GitLab内网IP地址
自建Gitlab代码仓库的内网访问地址。
其它需放行 IP 地址
填写其它需要放行的内网地址。
选择已有专有网络
选择前提条件中确认的VPC。
选择已有交换机
选择前提条件中确认的vSwitch。
步骤二:绑定GitLab
在代码源页面,单击GitLab操作列下的绑定账号。
在私有GitLab对话框,参照以下信息,绑定GitLab的源代码仓库。然后单击确定。
表 2. 绑定VPC源代码仓库参数说明
参数
说明
网络类型
选择内网。
链路信息
您在步骤一:链路管理创建链路信息。
地址
请输入GitLab的登录地址。
如果您用的是私有GitLab,请输入私有GitLab登录地址。
如果您用的是公有GitLab,请输入公有GitLab登录地址。
用户名称
输入登录GitLab的账号名。
私有Token
请输入您的Access Token。如何创建Access Token,请参见绑定源代码托管平台。
若GitLab的状态栏显示已绑定,说明绑定内网源代码仓库成功。
步骤三:使用企业版实例构建镜像
当您使用VPC安全构建模式时,请关闭海外源智能加速能力。
绑定内网源代码仓库后,您需要构建镜像。更多内容,请参见使用企业版实例构建镜像。