使用SWR企业版实现多地域镜像异地容灾
操作场景
在华为云多Region体系下,用户可以通过SWR注册表的镜像同步功能,实现不同局点之间的镜像异地容灾和互相备份。
约束与限制
镜像异地容灾功能仅支持注册表26.1.0版本及以上。
通过云连接实现注册表跨Region镜像同步
当您需要通过自定义同步链路在跨地域的注册表间实现镜像同步时,需确保源注册表的VPC与目标注册表的VPC网络互通,可以通过以下步骤实现:
完成以上配置后,您即可通过源注册表往目标仓库推送或者从目标仓库拉取镜像,实现异地无缝访问。

下面以一个示例来演示如何实现同一个租户下,使用华东-上海一下的注册表通过云连接(Cloud Connect)实现跨地域同步至华南-广州局点的注册表。环境信息如下:
- src-swr-ee-instance
- 地域:华东-上海一
- vpc_name: vpc-src-swr(注册表默认的vpc name)
- vpc_id: 注册表默认的vpc_id
- IPv4网段:10.0.0.0/8
- ECS1地址:10.0.0.10 (ECS1用于验证上传下载镜像)
- dst-swr-ee-instance
- 地域:华南-广州
- vpc_name: vpc-dst-swr(注册表内任一内网访问端点对应的vpc name)
- vpc_id: 注册表内任一内网访问端点对应的vpc_id
- IPv4网段:192.168.0.0/16 (需要与源注册表的vpc子网不重叠)
- 注册表的访问IP: 192.168.0.17
操作步骤
- 配置跨区域网络互通。
请参考同账号下跨区域的VPC互通,通过云连接(Cloud Connect)的方式打通华东-上海一vpc-src-swr与华南-广州的vpc-dst-swr之间的网络。
- 获取要访问的目标注册表的域名访问地址、OBS桶名以及IP信息。
- 登录容器镜像服务控制台,切换到华南-广州区域。
- 在新打开的“注册表”页面,单击注册表名称进入注册表详情页面。
- 在总览页面获取访问地址与OBS桶名。
- 依次单击“访问管理->访问控制->内网访问”,找到所属VPC列的值为vpc-dst-swr的记录,记录IP列的值。
- 提交工单根据下表的桶名称咨询OBS域名解析出的公网IP地址列表。
表1 获取的目标注册表的信息记录 注册表ID
桶名称
注册表域名(IP)
OBS域名(IP)
${instance-id}
swr-ee-${instance-id}-registry
xxx.swr-pro.xxxx.com
swr-ee-${instance-id}-registry.obs.${region-id}.xxxx.com
- 创建访问OBS服务的VPCEP。
在“华南-广州”创建OBS网关型终端节点,使vpc-dst-swr中的云资源无需弹性公网IP就能够访问OBS,具体操作请参见创建终端节点。
- 在华东-上海一局点对vpc-src-swr配置到目标注册表域名解析。详细添加域名指导请参考创建内网域名。
表2 创建内网域名参数说明 参数
示例
参数说明
域名
xxx.swr-pro.xxxx.com
创建的内网域名名称。
支持创建顶级域,但需符合域名命名规范。
区域
华东-上海一
内网域名关联的VPC所属区域。
VPC
vpc-src-swr
选择内网域名需要关联的VPC。
配置完成后进入配置的内网域名详情页面,单击“添加记录集”,添加目标注册表的IP记录值。
- 参考添加目标仓库,在华东-上海一的src-swr-ee-instance注册表中,将华南-广州的dst-swr-ee-instance注册表添加为目标仓库,仓库提供者选择为开源Harbor仓库。

- 参考创建同步规则,将华东-上海一的src-swr-ee-instance注册表中的镜像,同步至华南-广州的dst-swr-ee-instance注册表中。
- 登录华东-上海一下的ECS1节点,验证可成功下载华南-广州注册表中的镜像。

验证结果
参考创建同步规则指导,创建同步规则验证,具体步骤如下:
- 创建手动同步规则,将华东-上海一的src-swr-ee-instance注册表中的已有镜像,推送至华南-广州的dst-swr-ee-instance注册表中,在华南-广州的dst-swr-ee-instance注册表中查看镜像是否已完成同步。
- 创建手动同步规则,将华南-广州的dst-swr-ee-instance注册表中的已有镜像,拉取至华东-上海一的src-swr-ee-instance注册表中,在华东-上海一的src-swr-ee-instance注册表中查看镜像是否已完成同步。

- 创建自动同步规则,往华东-上海一的src-swr-ee-instance注册表中上传新的镜像,验证新镜像是否被自动同步至华南-广州的dst-swr-ee-instance注册表中。

通过公网实现注册表跨Region镜像同步
当您需要通过公网的方式实现注册表的跨Region同步时,可以通过以下步骤实现:
完成以上配置后,您即可通过公网完成注册表间的跨Region访问。

下面以一个示例来演示如何实现同一个租户下,从华北-北京四的注册表跨region同步至亚太-新加坡的注册表。环境信息如下:
- src-swr-ee-instance
- 地域:华北-北京四
- vpc: vpc-src (创建注册表时指定的vpc)
- subnet:subnet-src(创建注册表时指定的子网)
- 节点IP: 注册表后端服务器的IP(提交工单咨询获取)
- dst-swr-ee-instance
- 地域:亚太-新加坡
- vpc: vpc-dst(创建注册表的时指定的vpc)
- IPv4网段:xx.xx.0.0/16
- 注册表域名:dst-swr-ee-instance.swr-pro.xxxx.com
操作步骤
- 参考创建公网NAT网关,在华北-北京四创建一个公网NAT网关,VPC和子网选择为src-swr-ee-instance对应的vpc和子网。
- 参考添加SNAT规则,仅放通src-swr-ee-instance注册表所在节点的IP,每个节点添加一次。

- 参考开通公网访问,为亚太-新加坡的dst-swr-ee-instance注册表开通公网访问,并将步骤2中SNAT规则绑定的弹性公网IP添加至IP白名单中。
- 参考添加目标仓库,在华北-北京四的src-swr-ee-instance注册表中,将亚太-新加坡的dst-swr-ee-instance注册表添加为目标仓库,仓库提供者选择为开源Harbor仓库。

- 参考创建同步规则,将华北-北京四的src-swr-ee-instance注册表中的镜像,同步至亚太-新加坡的src-swr-ee-instance注册表中。
- 登录华北-北京四下的ECS1节点,验证可成功下载亚太-新加坡注册表中的镜像。

验证结果
参考创建同步规则指导,创建同步规则验证,具体步骤如下:
- 创建手动同步规则,将华北-北京四的src-swr-ee-instance注册表中的已有镜像,推送至亚太-新加坡的dst-swr-ee-instance注册表中,在亚太-新加坡的dst-swr-ee-instance注册表中查看镜像是否已完成同步。
- 创建手动同步规则,将亚太-新加坡的dst-swr-ee-instance注册表中的已有镜像,拉取至华北-北京四的src-swr-ee-instance注册表中,在华北-北京四的src-swr-ee-instance注册表中查看镜像是否已完成同步。

- 创建自动同步规则,往华北-北京四的src-swr-ee-instance注册表中上传新的镜像,验证新镜像是否被自动同步至亚太-新加坡的注册表中。






