
# 使用SWR企业版实现多地域镜像异地容灾
#### 操作场景
在华为云多Region体系下，用户可以通过SWR注册表的镜像同步功能，实现不同局点之间的镜像异地容灾和互相备份。
#### 约束与限制
镜像异地容灾功能仅支持注册表26.1.0版本及以上。
#### 镜像异地容灾操作
- [通过云连接实现注册表跨Region镜像同步]
- [通过公网实现注册表跨Region镜像同步]
 
 #### 通过云连接实现注册表跨Region镜像同步
当您需要通过自定义同步链路在跨地域的注册表间实现镜像同步时，需确保源注册表的VPC与目标注册表的VPC网络互通，可以通过以下步骤实现：
1. [配置跨区域网络互通。]
2. [获取打通网络需要的信息。]
3. [创建访问OBS服务的VPCEP。]
4. [配置到目标注册表的内部域名解析。]
5. [验证可跨地域下载镜像。]
完成以上配置后，您即可通过源注册表往目标仓库推送或者从目标仓库拉取镜像，实现异地无缝访问。
![](https://support.huaweicloud.com/bestpractice2-swr/zh-cn_image_0000002554912509.png "点击放大")
下面以一个示例来演示如何实现同一个租户下，使用华东-上海一下的注册表通过云连接（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
   
 
#### 操作步骤
1. 配置跨区域网络互通。
   
   请参考[同账号下跨区域的VPC互通](https://support.huaweicloud.com/qs-cc/cc_02_0201.html)，通过云连接（Cloud Connect）的方式打通华东-上海一vpc-src-swr与华南-广州的vpc-dst-swr之间的网络。
   
   
2. 获取要访问的目标注册表的域名访问地址、OBS桶名以及IP信息。
   
   1. 由于容器镜像服务企业版目前处于公测阶段，如果您的租户登录页面后看不到"企业版"链接，请提交[工单](https://console.huaweicloud.com/ticket/?locale=zh-cn#/ticketindex/createIndex)申请入口。申请成功后，登录容器镜像服务企业版控制台，切换到华南-广州区域。
   
   2. 在新打开的"注册表"页面，单击注册表名称进入注册表详情页面。
   
   3. 在总览页面获取访问地址与OBS桶名。 ![](https://support.huaweicloud.com/bestpractice2-swr/zh-cn_image_0000002558809799.png "点击放大")
      
      
   
   4. 依次单击"访问管理-\>访问控制-\>内网访问"，找到所属VPC列的值为vpc-dst-swr的记录，记录IP列的值。 ![](https://support.huaweicloud.com/bestpractice2-swr/zh-cn_image_0000002527970192.png "点击放大")
      
      
   
   5. [提交工单](https://console.huaweicloud.com/ticket/?locale=zh-cn#/ticketindex/createIndex)根据下表的桶名称咨询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 |
      
   
   
3. 创建访问OBS服务的VPCEP。
   
   在"华南-广州"创建OBS网关型终端节点，使vpc-dst-swr中的云资源无需弹性公网IP就能够访问OBS，具体操作请参见[创建终端节点](https://support.huaweicloud.com/usermanual-vpcep/zh-cn_topic_0131645189.html)。
   
   
4. 在华东-上海一局点对vpc-src-swr配置到目标注册表域名解析。详细添加域名指导请参考[创建内网域名](https://support.huaweicloud.com/usermanual-dns/zh-cn_topic_0057773658.html)。
   
   表2创建内网域名参数说明 
   | 参数  | 示例                       | 参数说明                                                                  |
   |:---|:---|:---|
   | 域名  | **xxx.swr-pro.xxxx.com** | 创建的内网域名名称。 支持创建顶级域，但需符合域名命名规范。 |
   | 区域  | **华东-上海一**               | 内网域名关联的VPC所属区域。                                                       |
   | VPC | **vpc-src-swr**          | 选择内网域名需要关联的VPC。                                                       |
      
   配置完成后进入配置的内网域名详情页面，单击"添加记录集"，添加目标注册表的IP记录值。
   
   
5. 参考[添加目标仓库](https://support.huaweicloud.com/usermanual2-swr/swr_02_0432.html)，在华东-上海一的src-swr-ee-instance注册表中，将华南-广州的dst-swr-ee-instance注册表添加为目标仓库，仓库提供者选择为开源Harbor仓库。
   
   ![](https://support.huaweicloud.com/bestpractice2-swr/zh-cn_image_0000002527444334.png "点击放大")
   
   
6. 参考[创建同步规则](https://support.huaweicloud.com/usermanual2-swr/swr_02_0432.html)，将华东-上海一的src-swr-ee-instance注册表中的镜像，同步至华南-广州的dst-swr-ee-instance注册表中。
7. 登录华东-上海一下的ECS1节点，验证可成功下载华南-广州注册表中的镜像。
   
   ![](https://support.huaweicloud.com/bestpractice2-swr/zh-cn_image_0000002558952213.png "点击放大")
   
   
 
#### 验证结果
参考[创建同步规则](https://support.huaweicloud.com/usermanual2-swr/swr_02_0432.html)指导，创建同步规则验证，具体步骤如下：
1. 创建手动同步规则，将华东-上海一的src-swr-ee-instance注册表中的已有镜像，推送至华南-广州的dst-swr-ee-instance注册表中，在华南-广州的dst-swr-ee-instance注册表中查看镜像是否已完成同步。
2. 创建手动同步规则，将华南-广州的dst-swr-ee-instance注册表中的已有镜像，拉取至华东-上海一的src-swr-ee-instance注册表中，在华东-上海一的src-swr-ee-instance注册表中查看镜像是否已完成同步。 ![](https://support.huaweicloud.com/bestpractice2-swr/zh-cn_image_0000002559106643.png "点击放大")
   
   ![](https://support.huaweicloud.com/bestpractice2-swr/zh-cn_image_0000002558946751.png "点击放大")
   
   
3. 创建自动同步规则，往华东-上海一的src-swr-ee-instance注册表中上传新的镜像，验证新镜像是否被自动同步至华南-广州的dst-swr-ee-instance注册表中。 ![](https://support.huaweicloud.com/bestpractice2-swr/zh-cn_image_0000002559106647.png "点击放大")
   
   ![](https://support.huaweicloud.com/bestpractice2-swr/zh-cn_image_0000002558946753.png "点击放大")
   
   
 
 #### 通过公网实现注册表跨Region镜像同步
当您需要通过公网的方式实现注册表的跨Region同步时，可以通过以下步骤实现：
1. [打通注册表到公网的网络。]
2. [开启公网访问，配置公网NAT绑定的EIP。]
3. [验证跨Region同步功能。]
完成以上配置后，您即可通过公网完成注册表间的跨Region访问。
![](https://support.huaweicloud.com/bestpractice2-swr/zh-cn_image_0000002523888474.png "点击放大")
下面以一个示例来演示如何实现同一个租户下，从华北-北京四的注册表跨region同步至亚太-新加坡的注册表。环境信息如下：
- **src-swr-ee-instance**
  - 地域：华北-北京四
  
  - vpc: vpc-src （创建注册表时指定的vpc）
  
  - subnet：subnet-src(创建注册表时指定的子网)
  
  - 节点IP: 注册表后端服务器的IP([提交工单](https://console.huaweicloud.com/ticket/?locale=zh-cn#/ticketindex/createIndex)咨询获取)
   
- **dst-swr-ee-instance**
  - 地域：亚太-新加坡
  
  - vpc： vpc-dst(创建注册表的时指定的vpc)
  
  - IPv4网段：xx.xx.0.0/16
  
  - 注册表域名：dst-swr-ee-instance.swr-pro.xxxx.com
   
 
#### 操作步骤
1. 参考[创建公网NAT网关](https://support.huaweicloud.com/usermanual-natgateway/zh-cn_topic_0150270259.html)，在华北-北京四创建一个公网NAT网关，VPC和子网选择为src-swr-ee-instance对应的vpc和子网。
2. 参考[添加SNAT规则](https://support.huaweicloud.com/usermanual-natgateway/zh-cn_topic_0127489529.html)，仅放通src-swr-ee-instance注册表所在节点的IP，每个节点添加一次。
   
   ![](https://support.huaweicloud.com/bestpractice2-swr/zh-cn_image_0000002554980303.png "点击放大")
   
   
   
3. 参考[开通公网访问](https://support.huaweicloud.com/usermanual2-swr/swr_02_0410.html)，为亚太-新加坡的dst-swr-ee-instance注册表开通公网访问，并将[步骤2]中SNAT规则绑定的弹性公网IP添加至IP白名单中。
4. 参考[添加目标仓库](https://support.huaweicloud.com/usermanual2-swr/swr_02_0432.html)，在华北-北京四的src-swr-ee-instance注册表中，将亚太-新加坡的dst-swr-ee-instance注册表添加为目标仓库，仓库提供者选择为开源Harbor仓库。
   
   ![](https://support.huaweicloud.com/bestpractice2-swr/zh-cn_image_0000002524095464.png "点击放大")
   
   
5. 参考[创建同步规则](https://support.huaweicloud.com/usermanual2-swr/swr_02_0432.html)，将华北-北京四的src-swr-ee-instance注册表中的镜像，同步至亚太-新加坡的dst-swr-ee-instance注册表中。
6. 登录华北-北京四下的ECS1节点，验证可成功下载亚太-新加坡注册表中的镜像。 
   ![](https://support.huaweicloud.com/bestpractice2-swr/zh-cn_image_0000002559112149.png "点击放大")
   
   
 
#### 验证结果
参考[创建同步规则](https://support.huaweicloud.com/usermanual2-swr/swr_02_0432.html)指导，创建同步规则验证，具体步骤如下：
1. 创建手动同步规则，将华北-北京四的src-swr-ee-instance注册表中的已有镜像，推送至亚太-新加坡的dst-swr-ee-instance注册表中，在亚太-新加坡的dst-swr-ee-instance注册表中查看镜像是否已完成同步。
2. 创建手动同步规则，将亚太-新加坡的dst-swr-ee-instance注册表中的已有镜像，拉取至华北-北京四的src-swr-ee-instance注册表中，在华北-北京四的src-swr-ee-instance注册表中查看镜像是否已完成同步。 ![](https://support.huaweicloud.com/bestpractice2-swr/zh-cn_image_0000002529979858.png "点击放大")
   
   ![](https://support.huaweicloud.com/bestpractice2-swr/zh-cn_image_0000002560819815.png "点击放大")
   
   
3. 创建自动同步规则，往华北-北京四的src-swr-ee-instance注册表中上传新的镜像，验证新镜像是否被自动同步至亚太-新加坡的注册表中。 ![](https://support.huaweicloud.com/bestpractice2-swr/zh-cn_image_0000002529979864.png "点击放大")
   
   ![](https://support.huaweicloud.com/bestpractice2-swr/zh-cn_image_0000002560819821.png "点击放大")
   
   
 
