Container RegistryACR提供了VPC安全構建模式,支援在雲上VPC或雲下IDC機房(通過Express Connect打通到雲上VPC)內自建GitLab(或Maven倉庫等其它內網服務),且不露出公網訪問入口。本文介紹如何使用ACR VPC安全構建模式來進行鏡像構建。
前提條件
-
已建立Container Registry企業版執行個體。具體操作,請參見使用企業版執行個體推送和拉取鏡像。
-
已在企業版執行個體對應地區雲上VPC或雲下IDC機房自建GitLab服務。如果在雲上VPC自建的GitLab服務通過ECS IP訪問,則ECS所在的安全性群組入方向需要允許存取100.104.0.0/16對GitLab服務的訪問;如果自建的GitLab服務通過SLB訪問,則無安全性群組要求。
-
在雲下IDC機房模式下,要求IDC機房的網段不能與反向訪問位址區段(100.104.0.0/16)衝突,且需要在Express Connect的VBR和IDC機房分別配置反向訪問位址區段(100.104.0.0/16)的返程路由條目。關於Express Connect和VBR的更多資訊,請參見什麼是Express Connect和邊界路由器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安全構建模式時,請關閉海外源智能加速能力。
綁定內網原始碼倉庫後,您需要構建鏡像。更多內容,請參見使用企業版執行個體構建鏡像。