镜像同步加速

更新时间:
复制为 MD 格式

ACR实例跨境同步的场景中(例如,中国内地与海外地域、中国内地与中国香港互相同步),ACR使用的默认同步链路可能会产生因公网网络质量不稳定导致的请求失败或速度缓慢的情况。ACR为这种场景提供了两种方案:同步加速、自定义同步链路。

工作原理

方案

适用场景

同步方式

网络带宽

同步加速

适用于ACR默认同步链路无法满足跨境同步镜像需求,且对网络链路无特殊要求的场景。

通过ACR加速链路传输。

同步加速链路在单个地域的带宽由所有用户共享。

使用自定义同步链路

适用于同步加速效果无法满足时延需求的场景,或需对网络链路进行深度自定义的场景。

支持两种方式:

  • 基于OSS数据复制同步镜像。

    支持跨账号同步。
  • 通过用户自行配置的云企业网CEN实例进行传输。

  • OSS数据复制:用户独享OSS数据复制功能的带宽,支持提升带宽限制

  • 云企业网CEN:用户独享CEN实例的带宽,并可按需弹性扩容。

适用范围

  • 仅适用于公共云地域同步到公共云地域,不支持同步至非公共云地域(金融云、政务云等)。

  • 仅适用于ACR企业版实例标准版、高级版。

费用说明

ACR镜像同步加速功能本身不收取费用。但使用自定义同步链路时,会因为使用其他云资源而产生费用:

  • OSS数据复制:产生跨区域复制流量费用、传输加速流量费用。具体计费规则,请参见计费概述传输加速费用

  • 云企业网 CEN:产生连接费、流量处理费和跨地域处理费。具体计费规则,请参见计费说明

方案一:使用同步加速

  1. 登录容器镜像服务控制台

  2. 在顶部菜单栏,选择所需地域。

  3. 在左侧导航栏,选择实例列表

  4. 实例列表页面单击目标企业版实例。

  5. 在企业版实例管理页面的左侧导航栏中选择分发管理 > 实例同步

  6. 实例同步页面左上角打开跨境同步加速开关。

  7. 提示对话框单击确定

    启用同步加速功能后,请创建同步规则,将镜像从源实例同步至目标实例。具体操作,请参见同账号同步实例跨账号同步实例

同步加速效果参考数据

以下表格展示了20223月启用同步加速后同步镜像的时延情况,统计了单层1 GB镜像全球各地域间同步时延的P95值,其中时延不包括同步任务因超过最大同步并发数造成的排队耗时,中国内地以杭州数据为例。

P95值代表在一个统计周期内,将所有任务的耗时从小到大排序,排在第95%位的数值。这意味着95%的任务耗时都小于或等于这个值。

ACR

方案二:使用自定义同步链路

(可选)为RAM用户添加权限

RAM用户需要下列权限,才能使用自定义同步链路功能。具体操作,请参见授予RAM用户自定义策略

{
    "Version": "1",
    "Statement": [
        {
            "Action": [
                "cr:CreateSyncCustomLink",
                "cr:GetSyncCustomLink",
                "cr:UpdateSyncCustomLink",
                "cr:ListSyncCustomLink",
                "cr:DeleteSyncCustomLink",
                "cr:CreateSyncOssReplicationLink"
            ],
            "Resource": "*",
            "Effect": "Allow"
        }
    ]
}

使用OSS数据复制

配置自定义同步链路后,ACR 将自动在同步源和目标ACR实例所使用的OSS Bucket中创建跨区域复制规则,后续利用OSS数据复制能力加速镜像传输。

请根据同账号或跨账号同步场景选择:

同账号同步

  1. 登录容器镜像服务控制台

  2. 在顶部菜单栏,选择所需地域。

  3. 自定义同步链路需要在同步源实例配置,请在实例列表页面单击同步源实例。

  4. 在企业版实例管理页面的左侧导航栏中选择分发管理 > 同步链路,单击OSS 复制页签,然后单击添加同步链路

  5. 配置相关参数:

    参数

    说明

    链路名称

    设置自定义同步链路名称。

    链路描述

    设置自定义同步链路描述。

    同步场景

    选择同账号

    目标实例

    选择同步目标实例的地域和ID。

    OSS 复制角色名称

    同账号场景无需填入。

  6. 单击确定

  7. 启用自定义同步链路后,请参见同账号同步实例创建同步规则,将镜像从源实例同步至目标实例。

跨账号同步

通过OSS数据复制功能实现跨账号同步时,需要创建专用的RAM角色。

步骤一:在同步源ACR实例所在的账号中配置RAM权限

  1. 登录同步源账号,进入容器镜像服务控制台

  2. 实例列表页面单击同步源实例,然后在概览页面查看并记录OSS Bucket名称。

  3. 进入创建RAM角色页面,创建一个RAM角色。信任主体类型选择云服务信任主体名称选择对象存储

  4. 创建权限策略页面,单击脚本编辑页签。将下方示例中SRC_BUCKET替换之前获取的OSS Bucket名称,然后粘贴到策略编辑器中并创建权限策略。

    {
       "Version": "1",
       "Statement": [
          {
             "Effect": "Allow",
             "Action": [
                "oss:ReplicateList",
                "oss:ReplicateGet"
             ],
             "Resource": [
                "acs:oss:*:*:{{SRC_BUCKET}}",
                "acs:oss:*:*:{{SRC_BUCKET}}/*"
             ]
          }
       ]
    }
  5. 创建策略后,在角色页面单击创建的RAM角色。在基本信息页面查看并记录角色的ARN,在后续步骤使用。

  6. 权限管理页签单击新增授权,为角色赋予上一步骤中创建的权限策略。

步骤二:在同步目标ACR实例所在的账号中配置RAM权限

  1. 登录同步目标账号,进入容器镜像服务控制台

  2. 实例列表页面单击同步目标实例,然后在概览页面查看并记录OSS Bucket名称。

  3. 进入Bucket列表页面,单击目标Bucket。

  4. 在左侧导航栏,选择权限控制 > Bucket 授权策略

  5. 单击按图形策略添加页签,然后单击接收复制对象

  6. 在弹出的面板中,按如下说明配置:

    • UIDRAM角色获取方式: 选择从源端复制RAM角色ARN获取

    • 源端复制RAM角色ARN: 输入之前步骤中创建的RAM角色的ARN。

    • 授权用途: 选择跨账号区域复制

  7. 单击生成Policy,然后单击保存

步骤三:配置自定义同步链路

  1. 登录同步源账号,进入容器镜像服务控制台

  2. 实例列表页面单击同步源实例。

  3. 在企业版实例管理页面的左侧导航栏中选择分发管理 > 同步链路,单击OSS 复制页签,然后单击添加同步链路

  4. 配置相关参数:

    参数

    说明

    链路名称

    设置自定义同步链路名称。

    链路描述

    设置自定义同步链路描述。

    同步场景

    选择跨账号

    目标 Uid

    填入同步目标账号的UID(主账号)。

    目标实例

    选择同步目标实例的地域和ID。

    OSS 复制角色名称

    填入之前步骤中创建的RAM角色的名称。

  5. 单击确定

  6. 启用自定义同步链路后,请参见跨账号同步实例创建同步规则,将镜像从源实例同步至目标实例。

使用云企业网CEN

步骤一:(可选)创建VPC

分别在同步源地域和目标地域创建专有网络VPC,下方操作以杭州地域的实例同步到新加坡地域为例,杭州地域的VPC名称为test1,新加坡地域的VPC名称为test2。

步骤二:通过云企业网实例打通网络

请参见跨地域VPC互通中的操作,创建云企业网CEN实例,并在同步源地域与目标地域配置转发路由器。

步骤三:为同步源ACR实例和目标ACR实例添加VPC

  1. 登录容器镜像服务控制台

  2. 选择杭州地域后,在实例列表页面单击目标企业版实例。

  3. 在企业版实例管理页面的左侧导航栏中选择仓库管理 > 访问控制

  4. 在专有网络页签下,单击添加专有网络

  5. 添加专有网络对话框中,设置已有专有网络为test1,选择交换机,并单击确定

  6. 切换到新加坡地域,对同步目标实例重复步骤35,添加名为test2VPC,并记录实例在test2中对应的访问 IP

    ACR支持将VPC添加至同地域下的多个目标实例中,添加后,多个实例都可以使用该条链路同步镜像。
  7. 在同步源实例关联的VPC内的一台ECS上,测试是否能够通过目标实例的IP进行访问。将下方命令中的<Target_IP>替换为上一步中获取的IP,然后执行命令:

    telnet <Target_IP> 443

    预期输出:

    Trying <Target_IP>...
    Connected to <Target_IP>.

步骤四:配置自定义同步链路

两个跨地域的实例间只能创建一条自定义同步链路,请勿重复创建。
  1. 登录容器镜像服务控制台

  2. 在顶部菜单栏,选择所需地域。

  3. 实例列表页面单击目标企业版实例。

  4. 在企业版实例管理页面的左侧导航栏中选择分发管理 > 同步链路,单击云企业网(CEN)页签,然后单击添加同步链路

  5. 网络实例配置向导中设置参数,然后单击下一步

    参数

    说明

    链路名称

    设置自定义同步链路名称。

    链路描述

    设置自定义同步链路描述。

    实例 ID/名称

    选择云企业网实例ID。

    来源网络

    设置源实例地域的网络:

    • 专有网络:选择VPC,本文选择杭州地域的名为test1VPC。

      源实例地域的VPC必须已添加到源实例中,并且已在云企业网设置跨地域带宽。
    • 交换机:选择交换机。

      不同的地域支持不同可用区的交换机,请根据界面提示选择可用区下的交换机。

    • 安全组:选择安全组,提升自定义同步链路的安全性。

      重要
      • 安全组的入方向要开放80443端口。

      • 不支持选择托管安全组。

    目标网络

    设置目标实例地域的网络参数:

    • 地域:选择目标实例地域。

    • 专有网络:选择VPC,本文选择新加坡地域的名为test2VPC。

      目标实例地域的VPC必须已添加到目标实例中,并且已在云企业网设置跨地域带宽。
  6. 互通带宽配置向导设置参数,然后单击创建

    参数

    说明

    最高占用带宽

    设置同步任务通过该条自定义同步链路传输时占用的最大带宽。设置最高占用带宽后,当前在这条链路上的同步任务将均分带宽,并动态调整。

    总同步任务数量

    该条自定义同步链路上并发执行的同步任务数量,超过上限时需排队。

    标准版实例支持的总同步任务数量为5个,高级版实例支持的总同步任务数量为10个。
  7. 同步链路页面单击目标链路右侧操作列下的启用

  8. 提示对话框单击确定

  9. 启用自定义同步链路后,请参见同账号同步实例跨账号同步实例创建同步规则,将镜像从源实例同步至目标实例。

常见问题

如何确认现有链路类型?

如需确认目前正在使用的链路类型,请登录容器镜像服务控制台,在企业版实例管理页面的左侧导航栏中选择分发管理 > 同步记录,在同步记录页面查看同步任务使用的链路类型。链路区别如下:

  • 默认链路:使用企业版实例默认链路。

  • 加速链路:使用了同步加速功能加快镜像同步速度。

  • 自定义链路:使用了自定义链路加快镜像同步速度。

相关文档

如需通过API接口来创建同步任务,请参见创建镜像仓库同步任务手动创建仓库同步任务