使用 Snow 系列设备的先决条件 - AWS Snowball Edge 开发者指南

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用 Snow 系列设备的先决条件

在开始使用 Snow Family 设备之前,如果您还没有,则需要注册一个 AWS 帐户。我们还建议您学习如何配置您的数据和计算实例以用于 Snow Family 设备。

AWS Snowball Edge 是一项特定于区域的服务。因此,在规划作业之前,请确保服务在您的 AWS 区域可用。请确保您的位置和 Amazon S3 存储桶位于相同 AWS 区域 或相同的国家/地区,因为这会影响您订购设备的能力。

要在带有计算优化设备的 Snow 系列设备上使用兼容 Amazon S3 的存储来执行本地边缘计算和存储作业,您需要在预定时在设备上预置 S3 容量。Snow 系列设备上与 Amazon S3 兼容的存储支持本地存储桶管理,因此您可以在收到一个或多个设备后在设备或集群上创建 S3 存储桶。

作为订购流程的一部分,您将创建一个 AWS Identity and Access Management (IAM) 角色和一个 AWS Key Management Service (AWS KMS) 密钥。密KMS钥用于加密任务的解锁码。有关创建IAM角色和KMS密钥的更多信息,请参阅创建订购 Snow Family 设备的任务

注意

在亚太地区(孟买), AWS 区域 服务由亚马逊互联网服务私人有限公司(AISPL)提供。有关在亚太地区(孟买)注册 Amazon Web Services 的信息 AWS 区域,请参阅注册AISPL

注册获取 AWS 账户

如果您没有 AWS 账户,请完成以下步骤来创建一个。

要注册 AWS 账户
  1. 打开https://portal.aws.amazon.com/billing/注册。

  2. 按照屏幕上的说明进行操作。

    在注册时,将接到一通电话,要求使用电话键盘输入一个验证码。

    当您注册时 AWS 账户,就会创建AWS 账户根用户一个。根用户有权访问该账户中的所有 AWS 服务 和资源。作为安全最佳实践,请为用户分配管理访问权限,并且只使用根用户来执行需要根用户访问权限的任务

AWS 注册过程完成后会向您发送一封确认电子邮件。您可以随时前往 https://aws.amazon.com/并选择 “我的账户”,查看您当前的账户活动并管理您的账户

创建具有管理访问权限的用户

注册后,请保护您的安全 AWS 账户 AWS 账户根用户 AWS IAM Identity Center,启用并创建管理用户,这样您就不会使用 root 用户执行日常任务。

保护你的 AWS 账户根用户
  1. 选择 Root 用户并输入您的 AWS 账户 电子邮件地址,以账户所有者的身份登录。AWS Management Console在下一页上,输入您的密码。

    要获取使用根用户登录方面的帮助,请参阅《AWS 登录 用户指南》中的以根用户身份登录

  2. 为您的 root 用户开启多重身份验证 (MFA)。

    有关说明,请参阅《用户指南》中的 “为 AWS 账户 root 用户(控制台)启用虚拟MFA设备” IAM。

创建具有管理访问权限的用户
  1. 启用IAM身份中心。

    有关说明,请参阅《AWS IAM Identity Center 用户指南》中的启用 AWS IAM Identity Center

  2. 在 IAM Identity Center 中,向用户授予管理访问权限。

    有关使用 IAM Identity Center 目录 作为身份源的教程,请参阅《用户指南》 IAM Identity Center 目录中的使用默认设置配置AWS IAM Identity Center 用户访问权限

以具有管理访问权限的用户身份登录
将访问权限分配给其他用户
  1. 在 IAM Identity Center 中,创建一个遵循应用最低权限权限的最佳实践的权限集。

    有关说明,请参阅《AWS IAM Identity Center 用户指南》中的创建权限集

  2. 将用户分配到一个组,然后为该组分配单点登录访问权限。

    有关说明,请参阅《AWS IAM Identity Center 用户指南》中的添加组

关于您的环境

了解您的数据集以及本地环境的设置方式将如何帮助您完成数据传输。下订单之前,请注意以下事项。

您要传输什么数据?

AWS Snowball Edge 无法很好地传输大量小文件。这是因为 Snowball Edge 会对每个单独的对象进行加密。小文件包含大小小于 1 MB 的文件。我们建议您在将其传输到 AWS Snowball Edge 设备之前将其压缩起来。还建议每个目录包含的文件或目录数不超过 500,000 个。

传输期间会访问数据吗?

拥有一个静态数据集(即在传输过程中,没有用户或系统访问数据)十分重要。否则,文件传输可能会因为校验和不匹配而失败。此时,文件不会传输,且文件将标记为 Failed

为防止数据损坏,请勿在传输数据时断开 AWS Snowball Edge 设备或更改其网络设置。文件在写入设备时应处于静态状态。在文件写入设备时修改文件可能会导致读取/写入冲突。

网络是否支持 AWS Snowball 数据传输?

Snowball Edge 支持RJ45SFP+QSFP+ 网络适配器。确认您的交换机为千兆位交换机。交换机上可能会标明千兆位10/100/1000,因交换机品牌而异。Snowball Edge 设备不支持兆位交换机或 10/100 交换机。

处理包含特殊字符的文件名

请务必注意,如果对象的名称包含特殊字符,则可能会遇到错误。尽管 Amazon S3 允许使用特殊字符,但我们强烈建议您避免使用以下字符:

  • 反斜杠(“\”)

  • 左大括号(“{”)

  • 右大括号(“}”)

  • 左方括号(“[”)

  • 右方括号(“]”)

  • “小于”符号(“<”)

  • “大于”符号(“>”)

  • 不可打印ASCII字符(128—255 个十进制字符)

  • 插入符号(“^”)

  • 百分比字符(“%”)

  • 重音符/反勾号(“`”)

  • 引号

  • 波浪字符(“~”)

  • “井号”字符(“#”)

  • 竖线(“|”)

如果您的文件在对象名称中包含一个或多个这些字符,请在将对象复制到 AWS Snowball Edge 设备之前对其进行重命名。文件名中有空格的 Windows 用户在复制单个对象或运行递归命令时应注意。在命令中,将名称中包含空格的对象名称用引号括起来。此类文件的示例如下:

操作系统 文件名:test file.txt

Windows

“C:\Users\<username>\desktop\test file.txt”

iOS

/Users/<username>/test\ file.txt

Linux

/home/<username>/test\ file.txt

注意

传输的唯一对象元数据是对象名称和大小。

亚马逊 S3 加密使用 AWS KMS

在导入或导出数据时,您可以使用默认的托 AWS 管或客户管理的加密密钥来保护您的数据。

使用带有 AWS KMS 托管密钥的 Amazon S3 默认存储桶加密

使用启用 AWS 托管加密 AWS KMS
  1. 打开 Amazon S3 控制台,网址为https://console.aws.amazon.com/s3/

  2. 请选择您想要加密的 Amazon S3 存储桶。

  3. 在右侧显示的向导中,选择属性

  4. 默认加密框中,选择已禁用(此选项显示为灰色)来启用默认加密。

  5. 选择 AWS-KMS 作为加密方法,然后选择要使用的KMS密钥。此密钥用于加密存储桶PUT中的对象。

  6. 选择保存

创建 Snowball Edge 任务后,在导入数据之前,请向现有IAM角色策略添加一条声明。这是您在预定过程中创建的角色。根据作业类型,默认角色名称与 Snowball-import-s3-only-roleSnowball-export-s3-only-role 类似。

以下是此类语句的示例。

对于导入数据

如果您使用带有 AWS KMS 托管密钥 (SSE-KMS) 的服务器端加密来加密与导入任务关联的 Amazon S3 存储桶,则还需要向您的IAM角色添加以下语句。

例 Snowball 导入角色示例 IAM
{ "Effect": "Allow", "Action": [ "kms: GenerateDataKey", "kms: Decrypt" ], "Resource":"arn:aws:kms:us-west-2:123456789012:key/abc123a1-abcd-1234-efgh-111111111111" }

对于导出数据

如果您使用带有 AWS KMS 托管密钥的服务器端加密来加密与导出任务关联的 Amazon S3 存储桶,则还必须在角色中添加以下语句。IAM

例 Snowball 导出角色 IAM
{ "Effect": "Allow", "Action": [ "kms:Decrypt" ], "Resource":"arn:aws:kms:us-west-2:123456789012:key/abc123a1-abcd-1234-efgh-111111111111" }

对 AWS KMS 客户密钥使用 S3 默认存储桶加密

您可以使用带有自己的KMS密钥的默认 Amazon S3 存储桶加密来保护正在导入和导出的数据。

对于导入数据

要启用客户托管加密,请使用 AWS KMS
  1. 登录 AWS Management Console 并在 https://console.aws.amazon.com/km s 处打开 AWS Key Management Service (AWS KMS) 控制台。

  2. 要更改 AWS 区域,请使用页面右上角的区域选择器。

  3. 在左侧导航窗格中,选择客户托管密钥,然后选择与您要使用的存储桶关联的KMS密钥。

  4. 如果密钥政策尚未展开,请将其展开。

  5. 在 “关键用户” 部分,选择添加并搜索IAM角色。选择IAM角色,然后选择 “添加”。

  6. 或者,您可以选择切换到策略视图来显示密钥政策文档并向密钥政策添加语句。以下是该策略的示例。

例 AWS KMS 客户托管密钥的政策
{ "Sid": "Allow use of the key", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::111122223333:role/snowball-import-s3-only-role" ] }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey" ], "Resource": "*" }

将此策略添加到 AWS KMS 客户托管密钥后,还需要更新与 Snowball 任务关联的IAM角色。默认情况下,该角色为 snowball-import-s3-only-role

例 的 Snowball 导入角色 IAM
{ "Effect": "Allow", "Action": [ "kms: GenerateDataKey", "kms: Decrypt" ], "Resource": "arn:aws:kms:us-west-2:123456789012:key/abc123a1-abcd-1234-efgh-111111111111" }

有关更多信息,请参阅 使用基于身份的策略(IAM策略) AWS Snowball

正在使用的KMS密钥如下所示:

“Resource”:“arn:aws:kms:region:AccoundID:key/*”

对于导出数据

例 AWS KMS 客户托管密钥的政策
{ "Sid": "Allow use of the key", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::111122223333:role/snowball-import-s3-only-role" ] }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey" ], "Resource": "*" }

将此策略添加到 AWS KMS 客户托管密钥后,还需要更新与 Snowball 任务关联的IAM角色。默认情况下,角色如下所示:

snowball-export-s3-only-role

例 Snowball 导出角色的 IAM
{ "Effect": "Allow", "Action": [ "kms: GenerateDataKey", "kms: Decrypt" ], "Resource": "arn:aws:kms:us-west-2:123456789012:key/abc123a1-abcd-1234-efgh-111111111111" }

将此策略添加到 AWS KMS 客户托管密钥后,还需要更新与 Snowball 任务关联的IAM角色。默认情况下,该角色为 snowball-export-s3-only-role

使用服务器端加密进行 Amazon S3 加密

AWS Snowball 支持使用 Amazon S3 托管加密密钥 (SSE-S3) 进行服务器端加密。服务器端加密旨在保护静态数据,而 SSE-S3 具有强大的多因素加密功能,可保护 Amazon S3 中的静态数据。有关 SSE-S3 的更多信息,请参阅《亚马逊简单存储服务用户指南》中的使用 Amazon S3 托管加密密钥 (SSE-S3) 的服务器端加密保护数据

注意

目前, AWS Snowball 不支持使用客户提供的密钥进行服务器端加密 (SSE-C)。但是,您可能希望使用该SSE类型来保护已导入的数据,或者您可能已经在要导出的数据上使用了该类型。在这种情况下,请注意以下事项:

  • 导入-如果您想使用 SSE-C 来加密已导入 S3 的对象,请将这些对象复制到另一个存储桶中,该存储桶策略中已建立 SSE SSE-KMS 或-S3 加密作为该存储桶策略的一部分。

  • 导出-如果您要导出使用 SSE-C 加密的对象,请先将这些对象复制到另一个存储桶,该存储桶要么没有服务器端加密,要么在该存储桶的存储桶策略中指定了 SSE-KMS 或 SSE-S3。

在 Snow 系列设备上使用 Amazon S3 Adapter 执行导入和导出作业的先决条件

当您使用 Snow Family 设备将数据从本地数据源移动到云端或从云端移动到本地数据存储时,可以在 Snow Family 设备上使用 S3 适配器。有关更多信息,请参阅 使用 Amazon S3 适配器传输文件,以便在 Snow Family 设备之间迁移数据

与作业关联的 Amazon S3 存储桶必须使用 Amazon S3 Standard 存储类别。创建第一个作业时,请谨记以下信息。

对于将数据导入 Amazon S3 的作业,应按照以下步骤执行:

从 Amazon S3 导出数据之前,请执行以下步骤:

  • 了解在您创建作业时将导出的数据。有关更多信息,请参阅 将数据导出到 Snowball Edge 设备时使用 Amazon S3 对象密钥

  • 对于文件名中包含冒号(:)的任何文件,先在 Amazon S3 中更改文件名,然后创建导出作业以获取这些文件。文件名中包含冒号的文件将无法导出到 Microsoft Windows Server。

在 Snow 系列设备上使用与 Amazon S3 兼容的存储的先决条件

在 Snow Family 设备上存储数据并将数据用于本地计算操作时,您可以在 Snow Family 设备上使用与 Amazon S3 兼容的存储。返回设备时,用于本地计算操作的数据不会导入到 Amazon S3。

在预定具有与 Amazon S3 兼容的存储的 Snow 设备用于本地计算和存储时,请记住以下几点。

  • 您将在预定设备时预配置 Amazon S3 存储容量。因此,在预定设备之前,请考虑您的存储需求。

  • 您可以在收到设备后在设备上创建 Amazon S3 存储桶,而不必在预定 Snow 系列设备时创建。

  • 你需要下载最新版本的 AWS CLI (v2.11.15 或更高版本)、Snowball Edge 客户端,或者将其安装在电脑上,才能在 Snow Family 设备上使用与 Amazon S3 兼容的存储。 AWS OpsHub

  • 收到设备后,按照本指南中的在 Snow 系列设备上使用与 Amazon S3 兼容的存储来在 Snow 系列设备上配置、启动和使用与 Amazon S3 兼容的存储。

在 Snow 系列设备上使用计算实例的先决条件

您可以运行托管在 AWS Snowball Edge 上的EC2兼容 Amazon 的计算实例sbe1sbe-g实例类型为sbe-c、和:

  • sbe1 实例类型适用于具有 Snowball Edge Storage Optimized 选项的设备。

  • sbe-c 实例类型适用于具有 Snowball Edge Compute Optimized 选项的设备。

  • sbe-csbe-g实例类型都适用于带有 Snowball Edge Compute Optimitized GPU 带选项的设备。

支持在 AWS Snowball Edge 设备选项上使用的所有三种计算实例类型对于 Snowball Edge 设备都是唯一的。与基于云的实例一样,这些实例需要 Amazon 系统映像 (AMIs) 才能启动。在创建 Snowball Edge 作业之前,您可以AMI为实例选择。

要在 Snowball Edge 上使用计算实例,请创建一个任务来订购 Snow Family 设备并指定您的。AMIs您可以使用 AWS Snowball 管理控制台、 AWS Command Line Interface (AWS CLI) 或其中一个来执行此操作 AWS SDKs。通常情况下,要使用您的实例,您必须在创建作业之前先执行一些事务管理先决条件。

对于使用计算实例的作业,在AMIs向任务中添加任何任务之前,您必须在您的任务AMI中添加一个, AWS 账户 并且它必须是支持的图像类型。当前,支持基于AMIs以下操作系统:

注意

中不再支持 Ubuntu 16.0 LTS 4-Xenial (HVM) 镜像 AWS Marketplace,但仍支持通过EC2亚马逊虚拟机导入/导出在 Snowball Edge 设备上使用,并在本地运行。AMIs

您可以从 AWS Marketplace 获取这些映像。

如果您使用SSH连接在 Snowball Edge 上运行的实例,则可以使用自己的密钥对,也可以在 Snowball Edge 上创建密钥对。 AWS OpsHub 要用于在设备上创建密钥对,请参阅使用中EC2兼容实例的密钥对 AWS OpsHub。要使用在 AWS CLI 设备上创建密钥对,请参阅create-key-pair中的Snow EC2 Family 设备上支持的兼容 AWS CLI 命令列表。有关密钥对和 Amazon Linux 2 的更多信息,请参阅亚马逊EC2用户指南中的亚马逊EC2密钥对和 Linux 实例

有关特定于在设备上使用计算实例的更多信息,请参阅 在 Snow EC2 Family 设备上使用与亚马逊兼容的计算实例