AWS Snowball Edge不再向新客户提供。新客户应探索AWS DataSync
本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用 Snowball Edge 的先决条件
在开始使用 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)提供。有关在亚太地区(孟买)注册亚马逊 Web Services 的信息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 |
|
注意
传输的唯一对象元数据是对象名称和大小。
亚马逊 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-KMS 或已在存储桶策略中 SSE-S3指定。
在 Snowball Edge 上使用 Amazon S3 适配器执行导入和导出任务的先决条件
当您使用设备将数据从本地数据源移动到云端或从云端移动到本地数据存储时,可以在 Snowball Edge 上使用 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 上使用与亚马逊 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 上使用兼容亚马逊 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 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) 镜像,但仍支持通过亚马逊 EC2 虚拟机在 Snowball Edge 设备上使用,并在 AMI 中本地运行。AWS Marketplace Import/Export
您可以从 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 计算实例。