概述
当您想将一个账号下的镜像同步到另一个账号时,您可以使用跨账号实例同步功能。跨账号实例同步功能不受地域限制,支持手动和自动的方式。
前置条件
使用跨账号实例同步功能,请确保您使用的实例是企业版。个人版实例不支持此功能。
跨账号实例同步授权
本文假设源实例所在账号为A账号,目标实例所在的账号为B账号。创建跨账号实例同步规则和任务前,目标实例所在的B账号需要给源实例所在的A账号授权。
获取A账号ID,登录账号A进入IAM控制台,路径:"概览" -"账号信息" - "账号ID"。
获取目标实例ID,登录账号B进入容器镜像服务控制台,路径: "容器镜像服务" - "实例列表" - "实例列表名称/ID"。
创建委托账号,登录账号B进入IAM控制台,在左侧导航栏,选择委托,然后点击创建委托。选择类型 - 账号委托,点击下一步。
委托名称:crsCrossAccoutSyncRole
委托的账号ID:填写A账号ID
创建跨账号同步委托策略,登录账号B进入IAM控制台。在左侧导航栏选择策略管理,然后点击创建自定义策略。填写策略名称,点击下一步。
选择JSON视图,根据实际情况替换以下内容中的Resource字段,然后将以下内容复制到文档框中,点击保存。
说明
可以配置多个CRS实例,以下内容以两个实例为例。
{ "Version": "1.1", "Statement": [ { "Effect": "Allow", "Action": [ "crs:inst:create_sync_rule" ], "Resource": [ "ctrn:crs:*:<B账号账号ID>:instance/<B账号CRS实例ID-1>" ] }, { "Effect": "Allow", "Action": [ "crs:inst:create_sync_rule" ], "Resource": [ "ctrn:crs:*:<B账号账号ID>:instance/<B账号CRS实例ID-2>" ] } ] }
为委托账号crsCrossAccoutSyncRole授权。
登录账号B进入IAM控制台。
在左侧导航栏,选择委托。
找到名称为crsCrossAccoutSyncRole的委托,选择操作 -授权。
勾选上一步中创建的委托策略,例如:CRS跨账号同步委托策略,点击下一步。默认是全局服务资源,无需选择指定资源池,点击确定按钮,完成授权。
自动跨账号实例同步
登录容器镜像控制台。
在顶部菜单栏,选择所需资源池。
在实例页面中选择需要同步的实例。
在企业版实例管理页面的左侧菜单上选择"分发管理" - "实例同步",选择自动同步规则选项卡,点击左上角的创建规则。
在“创建规则”对话框中,配置同步规则(同步场景选择"跨账号"),然后点击确定按钮,实现规则创建,各配置参数说明如下:
参数 说明 名称 自定义同步规则的名称 描述 自定义同步规则的补充描述信息,备注信息等 同步内容 同步的内容,可选择“镜像”或“Chart” 源实例 固定为当前实例 源命名空间 选择源实例中的命名空间,此项为必填 源仓库 选择源命名空间下的镜像仓库,可为空,为空时则包含命名空间下的所有镜像仓库 源版本 选择需要同步的镜像版本,可为空,为空时则同步所有版本的镜像 同步场景 同账号同步或跨账号同步 目标实例 选择目标实例所在的资源池并填写实例ID,此项必填 目标命名空间 选择要同步到的命名空间 覆盖 遇到同一镜像仓库下、同一版本的镜像时,是否进行覆盖,可选是或否 当有新的容器镜像推送到符合上述规则的仓库中,会自动触发同步任务。
在企业版实例管理页面的左侧菜单上选择 "分发管理" - "实例同步",选择自动同步规则的选项卡,点击对应的同步规则,在规则详情页的下方查看任务执行情况。
手动跨账号实例同步
登录容器镜像控制台。
在顶部菜单栏,选择所需资源池。
在实例页面中选择需要同步的实例。
在企业版实例管理页面的左侧菜单上选择"分发管理" - "实例同步",选择手动同步记录的选项卡,点击左上角的创建同步任务。
在创建同步任务对话框中,配置同步任务(同步场景选择"跨账号"),然后点击确定按钮,实现任务创建。任务创建完成后,可在手动同步记录的选项卡中查看任务执行情况。