AWS Snowball Edge 不再向新客户提供。新客户应探索AWS DataSync
本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用雪球边缘的先决条件
在开始使用 Snowball Edge 之前,如果你还没有 AWS 账号,你需要注册一个账户。我们还建议学习如何配置数据和计算实例以用于 Snowball Edge。
AWS Snowball Edge 是一项针对特定地区的服务。因此,在规划作业之前,请确保服务在您的 AWS 区域可用。确保您的位置和 Amazon S3 存储桶位于相同 AWS 区域 或相同的国家/地区,因为这会影响您订购设备的能力。
要在 Snowball Edge 上将 Amazon S3 兼容存储与计算优化设备一起用于本地边缘计算和存储任务,您需要在订购时在设备上预置 S3 容量。Snowball Edge 上的 Amazon S3 兼容存储支持本地存储桶管理,因此您可以在收到一个或多个设备后在设备或集群上创建 S3 存储桶。
作为订购流程的一部分,您可以创建 AWS Identity and Access Management (IAM) 角色和 AWS Key Management Service (AWS KMS) 密钥。该 KMS 密钥用于加密您的作业的解锁代码。有关创建 IAM 角色和 KMS 密钥的更多信息,请参阅创建订购 Snowball Edge 设备的任务。
注意
在亚太地区(孟买) AWS 区域 服务由亚马逊互联网服务私人有限公司(AISPL)提供。有关在亚太地区(孟买)注册亚马逊网络服务的信息 AWS 区域,请参阅注册 AISPL 。
主题
注册参加 AWS 账户
要开始使用 AWS,你需要一个 AWS 账户. 有关创建的信息 AWS 账户,请参阅《AWS 账户管理 参考指南》 AWS 账户中的 “入门” 。
关于您的环境
了解您的数据集以及本地环境的设置方式将如何帮助您完成数据传输。下订单之前,请注意以下事项。
- 您要传输什么数据?
-
传输大量小文件不起作用 AWS Snowball Edge。这是因为 Snowball Edge Edge 会加密每个单独的对象。小文件包含大小小于 1 MB 的文件。我们建议您在将它们传输到 AWS Snowball Edge 设备之前先将其压缩。还建议每个目录包含的文件或目录数不超过 500,000 个。
- 传输期间会访问数据吗?
-
拥有一个静态数据集(即在传输过程中,没有用户或系统访问数据)十分重要。否则,文件传输可能会因为校验和不匹配而失败。此时,文件不会传输,且文件将标记为
Failed。为防止损坏您的数据,请勿在传输数据时断开 AWS Snowball Edge 设备或更改其网络设置。文件在写入设备时应处于静态状态。在写入设备时修改的文件可能会导致 read/write冲突。
- 网络是否支持 AWS Snowball Edge 数据传输?
-
Snowball Edge 支持 RJ45、SFP+ 或 QSFP+ 网络适配器。确认您的交换机为千兆位交换机。根据交换机品牌的不同,它可能会显示千兆位或 10/100 /1000 。Snowball Edge 设备不支持兆位交换机或交换机。 10/100
处理包含特殊字符的文件名
请务必注意,如果对象的名称包含特殊字符,则可能会遇到错误。尽管 Amazon S3 允许使用特殊字符,但我们强烈建议您避免使用以下字符:
-
反斜杠(“\”)
-
左大括号(“{”)
-
右大括号(“}”)
-
左方括号(“[”)
-
右方括号(“]”)
-
“小于”符号(“<”)
-
“大于”符号(“>”)
-
Non-printable ASCII 字符(128—255 个十进制字符)
-
插入符号(“^”)
-
百分比字符(“%”)
-
重音符/反勾号(“`”)
-
引号
-
波浪字符(“~”)
-
“井号”字符(“#”)
-
竖线(“|”)
如果您的文件在对象名称中包含一个或多个这些字符,请在将对象复制到 AWS Snowball Edge 设备之前重命名这些对象。文件名中有空格的 Windows 用户在复制单个对象或运行递归命令时应注意。在命令中,将名称中包含空格的对象名称用引号括起来。此类文件的示例如下:
| 操作系统 | 文件名:test file.txt |
|---|---|
|
Windows |
|
|
iOS |
|
|
Linux |
|
注意
传输的唯一对象元数据是对象名称和大小。
使用 Amazon S3 加密 AWS KMS
在导入或导出数据时,您可以使用默认的托 AWS 管或客户管理的加密密钥来保护您的数据。
将 Amazon S3 默认存储桶加密与 AWS KMS 托管密钥
启用 AWS 使用托管加密 AWS KMS
-
打开 Amazon S3 控制台,网址为 https://console.aws.amazon.com/s3/
。 请选择您想要加密的 Amazon S3 存储桶。
在右侧显示的向导中,选择属性。
在默认加密框中,选择已禁用(此选项显示为灰色)来启用默认加密。
-
选择 AWS-KMS 作为加密方法,然后选择要使用的 KMS 密钥。此密钥用于对放入存储桶的对象进行加密。
选择保存。
创建 Snowball Edge 作业后,在导入数据之前,请向现有 IAM 角色策略添加一个语句。这是您在预定过程中创建的角色。根据作业类型,默认角色名称与 Snowball-import-s3-only-role 或 Snowball-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" }
将 S3 默认存储桶加密与 AWS KMS 客户密钥
您可以将默认 Amazon S3 存储桶加密与您自己的 KMS 密钥结合使用,用以保护您正在导入和导出的数据。
对于导入数据
使用以下方式启用客户管理的加密 AWS KMS
-
登录 AWS 管理控制台 并打开 AWS Key Management Service (AWS KMS) 控制台,网址为https://console.aws.amazon.com/kms
。 -
要更改 AWS 区域,请使用页面右上角的区域选择器。
在左侧导航窗格中,选择客户托管密钥,然后选择与您要使用的存储桶相关联的 KMS 密钥。
如果密钥政策尚未展开,请将其展开。
在秘钥用户部分,选择添加并搜索 IAM 角色。选择 IAM 角色,然后选择添加。
或者,您可以选择切换到策略视图来显示密钥政策文档并向密钥政策添加语句。以下是该策略的示例。
例的政策 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" }
有关更多信息,请参阅 将 Identity-Based 策略(IAM 策略)用于AWS Snowball Edge。
正在使用的 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 Edge 支持使用 Amazon S3 托管加密密钥进行服务器端加密 (SSE-S3)。 Server-side 加密旨在保护静态数据,并 SSE-S3 具有强大的多因素加密功能,可以保护您在 Amazon S3 中的静态数据。有关更多信息 SSE-S3,请参阅《亚马逊简单存储服务用户指南》中的使用 Server-Side 亚马逊 S3-Managed 加密密钥加密保护数据 (SSE-S3)。
注意
目前, AWS Snowball Edge 不支持使用客户提供的密钥进行服务器端加密 () SSE-C。但是,您可能希望使用该 SSE 类型来保护已导入的数据,或者您可能已将其用于要导出的数据。在这种情况下,请注意以下事项:
-
导入 — 如果您 SSE-C想使用对已导入 S3 的对象进行加密,请将这些对象复制到作为该存储桶策略的一部分 SSE-KMS 或已建立 SSE-S3 加密的另一个存储桶中。
-
导出 -如果要导出使用加密的对象 SSE-C,请先将这些对象复制到另一个没有服务器端加密或在该存储桶的存储桶策略中已 SSE-S3指定 SSE-KMS 或指定的存储分区。
在 Snowball Edge 上使用 Amazon S3 适配器执行导入和导出任务的前提条件
当您使用设备将数据从本地数据源移动到云端或从云端移动到本地数据存储时,您可以在 Snowball Edge 上使用 S3 适配器。有关更多信息,请参阅 使用 Amazon S3 适配器传输文件,以便将数据迁移到 Snowball Edge 或从 Snowball Edge 迁出。
与作业关联的 Amazon S3 存储桶必须使用 Amazon S3 Standard 存储类别。创建第一个作业时,请谨记以下信息。
对于将数据导入 Amazon S3 的作业,应按照以下步骤执行:
-
确认根据 Amazon S3 的对象键命名指南对要传输的文件和文件夹进行命名。其名称不满足这些指南的任何文件或文件夹将不会导入到 Amazon S3 中。
-
计划要导入 Amazon S3 中的数据。有关更多信息,请参阅 使用 Snowball Edge 计划您的大型转会。
从 Amazon S3 导出数据之前,请执行以下步骤:
-
了解在您创建作业时将导出的数据。有关更多信息,请参阅 将数据导出到 Snowball Edge 设备时使用 Amazon S3 对象键。
-
对于文件名中包含冒号(
:)的任何文件,先在 Amazon S3 中更改文件名,然后创建导出作业以获取这些文件。文件名中包含冒号的文件将无法导出到 Microsoft Windows Server。
在 Snowball Edge 上使用兼容 Amazon S3 的存储
当您在边缘位置的设备上存储数据并将这些数据用于本地计算操作时,您可以在 Snowball Edge 上使用兼容 Amazon S3 的存储。在寄回设备时,用于本地计算操作的数据将不会导入到 Amazon S3。
在预定具有与 Amazon S3 兼容的存储的 Snow 设备用于本地计算和存储时,请记住以下几点。
-
您将在预定设备时预配置 Amazon S3 存储容量。因此,在预定设备之前,请考虑您的存储需求。
-
您可以在收到设备后在设备上创建 Amazon S3 存储桶,而不是在订购 Snowball Edge 设备时创建。
-
你需要下载最新版本的 AWS CLI (v2.11.15 或更高版本)Snowball Edge 客户端,或者将其安装在计算机上才能在 Snowball Edge 上使用兼容 Amazon S3 的存储。 AWS OpsHub
-
收到您的设备后,按照本指南中的 “在 Snowball Edge 上使用亚马逊 S3 兼容存储” 在 Snowball Edge 上配置、启动和使用兼容 Amazon S3 的存储。
在 Snowball Edge 上使用计算实例的先决条件
您可以使用sbe1、sbe-c和实例类型运行托管在 AWS Snowball Edge 上的 Amazon EC2-compatible 计算实sbe-g例:
-
该
sbe1实例类型适用于具有 Snowball Edge 边缘存储优化选项的设备。 -
该
sbe-c实例类型适用于具有 Snowball Edge 边缘计算优化选项的设备。
Snowball Edge Edge 设备选项支持的所有计算实例类型都是设备独有的。 AWS Snowball Edge 与基于云的对应情况类似,这些实例需要亚马逊机器映像(AMI)来启动。在创建 Snowball Edge Edge 任务之前,您可以为实例选择 AMI。
要在 Snowball Edge Edge 上使用计算实例,请创建任务来订购 Snowball Edge 设备并指定您的 AMI。您可以使用 AWS Snowball Edge 管理控制台、 AWS Command Line Interface (AWS CLI) 或其中一个 AWS SDK 来执行此操作。通常情况下,要使用您的实例,您必须在创建作业之前先执行一些事务管理先决条件。
对于使用计算实例的作业,在您向作业添加任何 AMI 之前,必须在 AWS 账户 中有一个 AMI,并且必须是支持的映像类型。当前,支持的 AMI 基于以下操作系统:
注意
不再支持 Ubuntu 16.04 LTS-Xenial (HVM) 镜像 AWS Marketplace,但仍支持通过亚马逊 EC2 虚拟机在 Snowball Edge 设备上使用, Import/Export 并在 AMI 本地运行。
您可以从 AWS Marketplace
如果您正在使用 SSH 连接在 Snowball Edge 上运行的实例,则可以使用自己的密钥对,也可以在 Snowball Edge 上创建密钥对。 AWS OpsHub 要用于在设备上创建密钥对,请参阅使用中 EC2-compatible 实例的密钥对AWS OpsHub。要使用在 AWS CLI 设备上创建密钥对,请参阅create-key-pair中的支持的清单 EC2-compatible AWS CLI在 Snowball Edge 上使用命令。有关密钥对和 Amazon Linux 2 的更多信息,请参阅《Amazon EC2 用户指南》中的 Amazon EC2 密钥对和 Linux 实例。
有关特定于在设备上使用计算实例的更多信息,请参阅 在 Snowball Edge 上使用亚马逊 EC2-compatible 计算实例。