准备工作

更新时间: 2024-10-14 13:10:06

本文介绍数据迁移之前的准备工作。

步骤一:创建源存储空间清单

创建存储空间清单的详细操作步骤,请参见存储空间清单

步骤二:创建目标存储空间

创建目标存储空间,用于存放迁移的数据。具体操作,请参见创建存储空间

步骤三:创建RAM用户并添加权限

重要
  • 该RAM用户用于迁移使用。在创建角色和进行迁移实施操作时,需要在该用户下进行操作。请尽量在源Bucket或者目的Bucket所在的主账号下创建该RAM用户。

  • 如果没有创建RAM用户,可以创建RAM用户并授权

登录主账号所在的RAM控制台,在用户页面,单击刚创建的RAM用户 操作 列的 添加权限

  1. 系统策略:管理OSS在线迁移服务的权限(AliyunOSSImportFullAccess)。

  2. 自定义权限策略:该策略必须包含ram:CreateRoleram:CreatePolicyram:AttachPolicyToRoleram:ListRoles权限。

    可参考创建自定义权限策略进行权限管理,以下是相关的权限策略脚本代码:

    {
        "Version":"1",
        "Statement":[
            {
                "Effect":"Allow",
                "Action":[
                    "ram:CreateRole",
                    "ram:CreatePolicy",
                    "ram:AttachPolicyToRole",
                    "ram:ListRoles"
                ],
                "Resource":"*"
            }
        ]
    }

步骤四:源Bucket授权

请根据源Bucket是否归属于本账号,完成相应的操作。

说明

下文所述的“本账号”是指用于操作迁移服务控制台的账号。“属于”一词表示该Bucket与本账号均在同一主账号下。

源Bucket不归属于本账号

1、创建用于迁移数据的RAM角色

登录上文创建的RAM用户所在的RAM控制台,在角色详情页面单击 创建角色。

  1. 可信实体类型选择 阿里云服务

  2. 角色类型选择 普通服务角色

  3. 输入 角色名称角色名称务必全部小写)。

  4. 受信服务选择 在线迁移服务A4558E73-540D-4843-9463-7DDC99B94354.png

2、源Bucket授权

重要

在使用Bucket Policy按语法策略进行授权时,新添加的策略会覆盖已有的策略。请确保新添加的策略包含已有策略的内容,否则可能导致关联已有策略的操作失败。

  1. 使用源Bucket所属账号登录OSS管理控制台

  2. 在左侧导航栏,单击 Bucket 列表,选择对应Bucket。

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

  4. 按语法策略添加 中,增加自定义Bucket Policy,然后点击 编辑并保存

    • 授予RAM角色列举并读取该Bucket下所有资源的权限

说明

以下权限策略仅供您参考,其中<otherSrcBucket>填写 源Bucket名称,<otherUid>填写 源Bucket归属的主账号UID,<myUid>填写 迁移控制台主账号UID,<roleName>填写 上文刚创建的角色名称,请根据实际值替换。关于OSS权限策略的更多信息,请参见RAM Policy常见示例

{
  "Version": "1",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "oss:List*",
        "oss:Get*",
        "oss:Put*",
        "oss:AbortMultipartUpload"
      ],
      "Principal": [
         "arn:sts::<myUid>:assumed-role/<roleName>/*"
      ],
      "Resource": [
        "acs:oss:*:<otherUid>:<otherSrcBucket>",
        "acs:oss:*:<otherUid>:<otherSrcBucket>/*"
      ]
    }
  ]
}

步骤五:清单Bucket授权

请根据清单Bucket是否归属于本账号,完成相应的操作。

清单Bucket归属于本账号

  • 一键自动授权:

    强烈建议您使用迁移控制台授权角色进行一键授权操作,该操作请在迁移实施 > 步骤二 > 列表授权角色 中实施。

  • 手动授权:

    1、清单Bucket授权

    在角色页面,单击刚创建的RAM角色 操作 列的 新增授权

    • 自定义权限策略:该策略必须包含oss:List*oss:Get*权限。

    可参考创建自定义权限策略进行权限管理,以下是相关的权限策略脚本代码:

    说明

    以下权限策略仅供您参考,其中<myInvBucket>为本账号下的清单Bucket名称,请根据实际值替换。

    关于OSS权限策略的更多信息,请参见RAM Policy常见示例

    {
      "Version": "1",
      "Statement": [
        {
          "Effect": "Allow",
          "Action": [
            "oss:List*",
            "oss:Get*"
          ],
          "Resource": [
            "acs:oss:*:*:<myInvBucket>",
            "acs:oss:*:*:<myInvBucket>/*"
          ]
        }
      ]
    }

清单Bucket不归属于本账号

1、清单Bucket授权

  1. 使用清单Bucket所属账号登录OSS管理控制台

  2. 在左侧导航栏,单击 Bucket 列表,选择对应Bucket。

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

  4. 在语法策略添加中,增加以下Bucket Policy,然后点击 编辑并保存

  • 自定义策略:

    授予RAM角色列举并读取该Bucket下所有资源的权限

    说明

    以下权限策略仅供您参考,其中<otherInvBucket>为 清单Bucket名称,<myuid>为 迁移控制台主账号UID,<otherUid>为 清单Bucket归属的主账号UID,<roleName>为上文创建的角色名称,请根据实际值替换。关于OSS权限策略的更多信息,请参见RAM Policy常见示例

    {
      "Version": "1",
      "Statement": [
        {
          "Effect": "Allow",
          "Action": [
            "oss:List*",
            "oss:Get*"
          ],
          "Principal": [
             "arn:sts::<myUid>:assumed-role/<roleName>/*"
          ],
          "Resource": [
            "acs:oss:*:<otherUid>:<otherInvBucket>",
            "acs:oss:*:<otherUid>:<othereInvBucket>/*"
          ]
        }
      ]
    }

步骤六:目的Bucket授权

请根据目的Bucket是否归属于本账号,完成相应的操作。

目的Bucket归属于本账号

  • 一键自动授权:

    强烈建议您使用迁移控制台自动授权角色进行一键授权操作,该操作请在迁移实施 > 步骤三 > 授权角色 中实施。

  • 手动授权:

    1、目的Bucket授权

    在角色页面,单击刚创建的RAM角色 操作 列的 新增授权

    • 自定义策略:该策略必须包含oss:List*oss:Get*oss:Put*oss:AbortMultipartUpload*权限。

    可参考创建自定义权限策略 进行权限管理,以下是相关的权限策略脚本代码:

    说明

    以下权限策略仅供您参考,其中<myDestBucket>为 本账号下的目的Bucket名称,请根据实际值替换。

    关于OSS权限策略的更多信息,请参见RAM Policy常见示例

    {
      "Version": "1",
      "Statement": [
        {
          "Effect": "Allow",
          "Action": [
            "oss:List*",
            "oss:Get*",
            "oss:Put*",
            "oss:AbortMultipartUpload"
          ],
          "Resource": [
            "acs:oss:*:*:<myDestBucket>",
            "acs:oss:*:*:<myDestBucket>/*"
          ]
        }
      ]
    }

目的Bucket不归属于本账号

1、目的Bucket授权

重要

在使用Bucket Policy按语法策略进行授权时,新添加的策略会覆盖已有的策略。请确保新添加的策略包含已有策略的内容,否则可能导致关联已有策略的操作失败。

  1. 使用目的Bucket所属账号登录OSS管理控制台

  2. 在左侧导航栏,单击 Bucket 列表,选择对应Bucket。

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

  4. 按语法策略添加 中,增加自定义Bucket Policy,然后点击 编辑并保存

    • 授予RAM角色列举、读取、删除和写入该Bucket下所有资源的权限。

说明

以下权限策略仅供您参考,其中<otherDestBucket>填写 目的Bucket名称,<otherUid>填写 目的Bucket归属的主账号UID,<myUid>填写 迁移控制台主账号UID,<roleName>填写 上文创建的角色名称,请根据实际值替换。关于OSS权限策略的更多信息,请参见RAM Policy常见示例

{
  "Version": "1",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "oss:List*",
        "oss:Get*",
        "oss:Put*",
        "oss:AbortMultipartUpload"
      ],
      "Principal": [
         "arn:sts::<myUid>:assumed-role/<roleName>/*"
      ],
      "Resource": [
        "acs:oss:*:<otherUid>:<otherDestBucket>",
        "acs:oss:*:<otherUid>:<otherDestBucket>/*"
      ]
    }
  ]
}

步骤七:解冻源存储空间待迁移数据

当您源端为归档类型的数据,迁移前需要您提前进行解冻操作,待解冻完成后再创建迁移任务,解冻时请注意如下事项:

  • 请您务必完成解冻操作后再创建源数据地址和迁移任务。

  • 请您根据待迁移的数据总量确保解冻时长,以防迁移期间数据再次变成冻结状态。

  • 解冻操作会收取数据取回的费用,部分解冻服务收费较高。具体计费规则可咨询您的源端存储服务提供商。

说明

在线迁移服务并不会对源端数据执行解冻操作。若您源端有未解冻、解冻中的文件,则这些文件都会迁移失败。

阿里云OSS解冻文件的操作步骤,请参见解冻文件

上一篇: 背景信息 下一篇: 迁移实施