全部产品
Search
文档中心

云服务器 ECS:将快照共享给其他阿里云账号

更新时间:May 15, 2024

您可以将云盘快照共享给其他阿里云账号或者基于资源目录在企业组织内共享使用。其他阿里云账号可以使用您共享的快照快速创建云盘,满足日常的运维诉求。本文介绍共享快照、使用共享快照以及取消共享快照的注意事项及操作流程。

说明

资源目录RD(Resource Directory)是阿里云面向企业用户提供的一套多级账号和资源关系管理服务。资源目录支持您快速建立一套符合企业业务关系的目录结构,并将企业多个账号分布到这个目录结构中的相应位置,从而形成资源间的多层级关系。更多信息,请参见资源目录概述

使用须知

共享快照前,请您了解以下须知:

须知

说明

共享费用

  • 共享过程本身不产生费用。

  • 快照使用者使用共享快照创建云盘、跨地域复制快照会产生相关资源费用。

使用限制

  • 账号限制

    仅支持在阿里云账号之间共享快照。

  • 数量限制

    • 每份快照最多可以共享给64个阿里云账号。

    • 每个阿里云账号最多可以分享1,024份快照。

  • 加密快照使用限制

    • 不支持共享加密密钥是Default Service CMK的加密快照。

      如果您需要共享此类快照,可以使用复制快照功能将服务密钥更换为自定义密钥后再进行共享。

    • 通过共享的加密快照创建云盘时必须更换密钥。

      说明

      通过共享来的加密快照创建云盘时只能选择ESSD类型的云盘。如果您需要创建其他类型的云盘,您可以先复制快照,然后通过复制后的快照创建云盘。

    • 复制共享的加密快照时必须更换密钥。

  • 其他限制

    • 共享来的快照不支持再次共享。如果需要操作共享来的快照,您可以:

      • 使用当前共享快照创建云盘,并对云盘创建全新的快照,然后对这个全新的快照发起共享操作。

      • 先复制共享快照,然后对复制后的全新快照发起共享操作。

    • 共享来的快照保留时长均为3年,您可以通过取消共享快照功能提前结束共享。

    • 不支持使用共享快照创建自定义镜像。

准备工作

  • 共享快照之前,建议确认快照中已不包含敏感数据和文件。

  • 根据共享快照的场景,完成准备操作。

    • 将快照共享给其他阿里云账号使用时,请先获取阿里云账号ID。

      获取方式:将鼠标移至控制台右上角的用户头像,在弹出的用户信息框中,如果标识了账号为主账号,则显示的账号ID即为阿里云账号ID。

    • 基于资源目录在企业组织内共享使用时,请先使用管理账号或成员账号开通资源目录。具体操作,请参见开通资源目录

共享快照

通过控制台共享快照

共享者共享快照

共享非加密快照

  1. 共享者登录ECS管理控制台

  2. 在左侧导航栏,选择存储与快照 > 快照

  3. 在页面左侧顶部,选择目标资源所在的资源组和地域。地域

  4. 找到目标快照,在操作列选择image > 共享快照

  5. 添加到共享单元对话框中,配置参数。

    image

    1. 选择已在资源共享控制台创建的共享单元。

      说明

      快照共享给其他阿里云账号使用时基于资源管理的资源共享功能,您可以创建共享单元,添加共享资源和资源使用者,将自己拥有的资源共享给其他成员使用。有关共享单元的更多信息,请参见资源共享概述

    2. 资源使用者区域,单击编辑添加资源使用者。

      1. 默认使用者范围允许共享给任意账号。更多信息,请参见资源共享方式

      2. 输入共享对象的阿里云账号ID并单击添加

  6. 添加完成后,单击确定

共享加密快照

步骤1:共享者创建角色并授权

当您共享加密快照时,需要先通过阿里云的访问控制创建名称为AliyunECSShareEncryptSnapshotDefaultRole的角色并授予指定的权限与策略,然后才可以将加密快照共享给其他阿里云账号使用。

  1. 共享者登录RAM控制台

  2. 权限策略页面,通过脚本编辑模式创建自定义权限策略。具体操作,请参见通过脚本编辑模式创建自定义权限策略

    策略内容如下,限制只共享指定加密快照中的加密密钥相关权限。

    {
      "Version": "1",
      "Statement": [
        {
          "Action": "kms:List*",
          "Resource": "acs:kms:<密钥归属地域ID>:<密钥归属用户AliUid>:key",
          "Effect": "Allow"
        },
        {
          "Action": [
            "kms:DescribeKey",
            "kms:TagResource",
            "kms:UntagResource",
            "kms:Encrypt",
            "kms:Decrypt",
            "kms:GenerateDataKey"
          ],
          "Resource": "acs:kms:<密钥归属地域ID>:<密钥归属用户AliUid>:key/<快照关联KMS加密密钥Key>",
          "Effect": "Allow"
        }
      ]
    }
    说明

    其中<密钥归属地域ID><密钥归属用户AliUid><快照关联KMS加密密钥Key>为变量,您需要分别修改为KMS密钥所在的地域ID、KMS密钥归属用户的阿里云账号ID和KMS密钥的密钥ID。

  3. 角色页面创建可信实体为阿里云账号的RAM角色,角色名称为AliyunECSShareEncryptSnapshotDefaultRole

    具体操作,请参见创建可信实体为阿里云账号的RAM角色

  4. 角色列表页面,单击已创建的AliyunECSShareEncryptSnapshotDefaultRole角色进入角色详情页面。

    • 权限管理页签单击新增授权,为RAM角色授予步骤2已创建的自定义策略。具体操作,请参见为RAM角色授权

    • 信任策略页签,修改RAM角色的信任策略为以下内容,以确定可以将加密快照共享给哪些共享对象。具体操作,请参见修改RAM角色的信任策略

      {
        "Statement": [
          {
            "Action": "sts:AssumeRole",
            "Effect": "Allow",
            "Principal": {
              "Service": [
                "<UID>@ecs.aliyuncs.com"
              ]
            }
          }
        ],
        "Version": "1"
      }
      说明

      其中<UID>为变量,您需要修改为共享对象的阿里云账号ID。如果您的快照需要共享给多个阿里云账号,需要添加多个共享对象的阿里云账号ID。

步骤2:共享者共享加密快照

  1. 共享者登录ECS管理控制台

  2. 在左侧导航栏,选择存储与快照 > 快照

  3. 在页面左侧顶部,选择目标资源所在的资源组和地域。地域

  4. 找到目标加密快照,在操作列选择image > 共享快照

  5. 添加到共享单元对话框中,配置参数。

    image

    1. 选择已在资源共享控制台创建的共享单元。

      说明

      快照共享给其他阿里云账号使用时基于资源管理的资源共享功能,您可以创建共享单元,添加共享资源和资源使用者,将自己拥有的资源共享给其他成员使用。有关共享单元的更多信息,请参见资源共享概述

    2. 资源使用者区域,单击编辑添加资源使用者。

      1. 默认使用者范围允许共享给任意账号。更多信息,请参见资源共享方式

      2. 输入共享对象的阿里云账号ID并单击添加

  6. 添加完成后,单击确定

共享对象使用共享快照

共享对象需接受共享者发出的共享快照邀请,共享才能成功。

  1. 共享对象接受共享快照。

    1. 共享对象登录资源共享控制台

    2. 在左侧导航栏,选择资源共享 > 共享给我

    3. 在顶部菜单栏左上角处,选择共享快照所在的地域。

    4. 共享给我页面,单击目标共享单元状态列的接受

    5. 接受资源共享对话框中,单击确定

      接受后,共享对象可以使用共享的快照,且后续该共享单元新增的共享资源将默认接受共享邀请。

  2. 查看共享快照。

    1. 登录ECS管理控制台

    2. 在左侧导航栏,选择存储与快照 > 快照

    3. 在顶部菜单栏左上角处,选择共享快照所在的地域。

    4. 在快照列表中查看已共享的快照。

      image.png

      • 将鼠标悬浮至image.png图标,带有acs:ecs:sharedFrom:<共享用户UID>:<共享源快照归属地域>:<共享源快照ID>标签。

      • 快照来源标识为共享来的快照

      • 将鼠标悬浮至image.png图标,会展示共享账号ID、共享源快照ID等信息。

        您也可以在共享快照的操作列选择image > 查看共享快照,在资源共享控制台查看共享信息。

  3. 使用共享快照。

    • 如果您共享的是非加密快照,后续共享对象可以通过共享快照执行以下操作:

    • 如果您共享的是加密快照,后续共享对象可以通过共享加密快照执行以下操作:

通过SDK共享快照

以Java SDK为例,提供开源示例项目,指导您如何通过SDK实现跨账号共享快照、并使用共享快照创建云盘。

  1. 获取示例项目:共享快照示例

    此项目包含了三部分代码示例:

    • CreateResourceShare:共享者创建一个共享单元并发起快照共享。

    • ReceiveResourceShare:共享对象接受快照共享邀请。

    • UseResourceShare:共享对象使用共享快照创建云盘。

  2. 配置示例项目。

    1. pom.xml文件配置SDK依赖。具体操作,请参见安装Java SDK

      <!--资源共享SDK-->
      <dependency>
        <groupId>com.aliyun</groupId>
        <artifactId>resourcesharing20200110</artifactId>
        <version>${lastVersion}</version>
      </dependency>
      <!--ECS SDK-->
      <dependency>
        <groupId>com.aliyun</groupId>
        <artifactId>alibabacloud-ecs20140526</artifactId>
        <version>${lastVersion}</version>
      </dependency>
      说明

      SDK包更新频繁,建议您通过安装和使用ECS SDK中的GitHub地址官网链接获取最新版本依赖。

    2. 在本地环境中添加环境变量ALIBABA_CLOUD_ACCESS_KEY_IDALIBABA_CLOUD_ACCESS_KEY_SECRET,并写入已准备好的AccessKey ID和AccessKey Secret。

    3. 根据实际环境需要自行替换项目中的其他变量参数,例如共享快照ID、目标用户账号UID、创建的云盘类型等。

  3. 根据实际需要编译并运行各部分Java代码。

  4. 根据运行结果在该产品的控制台进行验证。

    例如共享者可以登录资源共享控制台查看创建的共享单元,资源使用者可以登录ECS管理控制台查看共享来的快照以及通过共享快照创建的云盘。

取消共享快照

如果不再需要将快照共享给其他阿里云账号使用,共享者可以在ECS管理控制台取消共享。

重要

共享者取消共享快照后,对共享对象有以下影响:

  • 共享对象无法再通过ECS管理控制台或ECS API查询到该快照。

  • 共享对象使用共享快照创建的云盘将不再支持云盘重置操作,使用共享快照跨地域复制的快照不受影响。

  1. 共享者登录ECS管理控制台

  2. 在左侧导航栏,选择存储与快照 > 快照

  3. 在页面左侧顶部,选择目标资源所在的资源组和地域。地域

  4. 找到目标快照,在操作列选择image > 共享快照

  5. 添加到共享单元对话框中,选择目标共享单元。

  6. 资源使用者区域,单击编辑

  7. 已添加的资源使用者列表的操作列,单击移除

    image

  8. 单击确认,停止对其他阿里云账号共享快照。

相关文档

当您不再需要快照时,建议您及时删除快照,避免快照持续产生费用。