在订购 Snowball Edge 设备之前 - Amazon Snowball Edge 开发人员指南
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

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

在订购 Snowball Edge 设备之前

Amazon SnowballEdge 是一项特定于区域的服务。因此,在计划工作之前,请确保该服务在您所在地区可用。确保您的位置和 Amazon S3 存储桶位于同一位置Amazon Web Services 区域或同一个国家/地区,因为这将影响您订购设备的能力。

作为订单流程的一部分,您创建Amazon Identity and Access Management(IAM) 角色和Amazon Key Management Service(Amazon KMS) 键。KMS 密钥用于在传输过程中和 Snowball Edge 设备上的静态数据加密。有关创建 IAM 角色和 KMS 密钥的更多信息,请参阅创建Amazon Snowball Edge作业.

关于当地环境的问题

了解数据集以及本地环境的设置方式将有助于您完成数据传输。下单之前,请考虑以下事项。

你要传输什么数据?

传输大量小文件不能很好Amazon SnowballEdge。这是因为 Snowball Edge 会加密每个单独的对象。小文件包括大小不足 1 MB 的文件。我们建议在将它们转移到Amazon SnowballEdge 设备。我们还建议每个目录包含的文件或目录数不超过 500,000 个。

在传输过程中会访问数据吗?

拥有静态数据集非常重要(也就是说,在传输过程中没有用户或系统访问数据)。否则,由于校验和不匹配,文件传输可能会失败。文件将不会被传输,文件将被标记为Failed.

我们建议您使用的是文件接口,则只能使用一种方法将数据传输到Amazon SnowballEdge。使用文件接口和 Amazon S3 接口复制数据可能会导致读取/写入冲突。

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

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

Snowball Edge 支持RJ45SFP+,或者QSFP+网络适配器。验证您的交换机是千兆位交换机。根据开关的品牌,可能会说千兆位要么10/100/1000. Snowball Edge 设备不支持兆位交换机或 10/100 交换机。

使用包含特殊字符的文件

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

  • 反斜杠 ("\")

  • 左大括号 (“{”)

  • 右大括号 (“}”)

  • 左方括号 (“[”)

  • 右方括号 (“]”)

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

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

  • 不可打印的 ASCII 字符 (128–255 十进制字符)

  • 插入符号 (“^”)

  • 百分比字符 (“%”)

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

  • 引号

  • 波浪字符 (“~”)

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

  • 竖线 (“|”)

如果您的文件中有一个或多个这些字符,请在将它们复制到Amazon SnowballEdge 设备。在复制单个对象或运行递归命令时,文件名中有空格的 Windows 用户应小心。用引号包围名称中有间距的单个对象。以下是此类文件的示例。

操作系统 文件名:测试 file.txt

Windows

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

iOS

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

Linux

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

注意

传输的唯一对象元数据是对象名称和大小。如果您希望复制其他元数据,可以使用文件接口或其他工具将数据复制到 Amazon S3。

在 Snowball 上使用 Amazon EC2

本节提供了在Amazon SnowballEdge 设备。它包含概念性信息、过程和示例。

注意

上的这些 Amazon EC2 功能Amazon Snowball不支持亚太地区(孟买)和欧洲(巴黎)Amazon Web Services 区域.

您可以 Amazon EC2 行托管在Amazon Snowball使用 Edgesbe1sbe-c, 和sbe-g实例类型:

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

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

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

所有 Snowball Edge 设备选项支持的计算实例类型都是唯一的Amazon SnowballEdge 设备。与基于云的对应情况类似,这些实例需要 Amazon 系统映像 (AMI) 来启动。在创建 Snowball Edge 作业之前,您为实例选择 AMI。

要在 Snowball Edge 上使用计算实例,请创建一个任务并指定您的 AMI。您可以使用Amazon Snowball管理控制台,Amazon Command Line Interface(Amazon CLI),或者其中一个Amazon开发工具包。通常情况下,要使用您的实例,您必须先执行一些事务管理先决条件才能创建任务。

在您的设备到达后,您就可以开始管理您的 AMI 和实例。您可以通过与 Amazon EC2 兼容的终端节点来管理 Snowball Edge 上的计算实例。这种类型的终端节点支持许多 Amazon EC2 CLI 命令和操作。Amazon开发工具包。你不能使用Amazon Web Services Management Console在 Snowball Edge 上,以管理 AMI 和计算实例。

当您使用完设备后,将设备返还给 Amazon。如果在导入任务中使用此设备,则使用 Amazon S3 接口或文件接口传输的数据将导入到 Amazon S3 中。否则,当设备返回到时,我们会对设备执行完全擦除。Amazon. 此擦除过程遵循美国国家标准与技术研究院 (NIST) 800-88 标准。

重要

Snowball Edge 上正在运行的计算实例中的数据不会导入到Amazon.

在集群上使用计算实例

您可以在 Snowball Edge 设备的集群上使用计算实例。相应的过程和指南与在独立设备上使用计算实例相同。

使用 AMI 创建集群作业时,每个 AMI 的副本都存在于集群中的每个节点上。无论集群上的节点数是多少,您都只能有 10 个 AMI 与设备集群关联。当您在集群中启动实例时,请在命令中声明将承载此实例的节点,并且实例将在单个节点上运行。

集群必须是计算优化型或存储优化型。您可以有计算优化型节点的集群,而且其中的某些数量的节点可以有 GPU。您可以拥有完全由存储优化型节点构成的集群。集群不能由计算优化型节点和存储优化型节点的组合构成。

Snowball Edge 上计算实例的定价

使用计算实例会有额外关联的费用。有关更多信息,请参阅 Amazon Snowball Edge 定价

先决条件

在创建任务之前,请谨记以下信息:

从实例创建 Linux AMI

可以使用 Amazon Web Services Management Console 或命令行创建 AMI。从现有 AMI 开始,启动一个实例,自定义该实例,从该实例创建新 AMI,并最终启动新 AMI 的实例。

使用控制台从实例创建 AMI

  1. 选择一个适当的 EBS 支持的 AMI 作为新 AMI 的起点,并在启动前根据需要对其进行配置。有关更多信息,请参阅 。使用启动实例向导启动实例中的适用于 Linux 实例的 Amazon EC2 用户指南.

  2. 选择启动以启动您选择的由 EBS 支持的 AMI 实例。接受默认值,以按向导逐步操作。有关更多信息,请参阅 。使用启动实例向导启动实例.

  3. 在实例运行时连接到该实例。您可以对您的实例执行以下操作,以便根据您的需求自定义该实例:

    • 安装软件和应用程序。

    • 复制数据。

    • 通过删除临时文件、对您的硬盘进行碎片整理以及将可用空间清零来缩短启动时间。

    • 附加更多 Amazon EBS 卷。

  4. (可选)创建所有附加到您的实例的卷的快照。有关创建快照的更多信息,请参阅创建 Amazon EBS 快照中的适用于 Linux 实例的 Amazon EC2 用户指南.

  5. 在导航窗格中,选择实例,然后选择您的实例。选择操作,选择Image,然后选择创建映像.

    提示

    如果此选项不可用,则表明您的实例不是由 Amazon EBS 支持的实例。

  6. 创建映像对话框中,指定以下信息,然后选择创建映像.

    • 映像名称-映像的唯一名称。

    • 图片描述-映像的可选描述,最多 255 个字符。

    • 不重启-默认情况下,不选择此选项。Amazon EC2 将关闭实例,为附加的任意卷制作快照,创建和注册 AMI,然后重新启动实例。选择 No reboot 可避免将实例关闭。

      警告

      如果您选择 No reboot (不重启) 选项,则我们无法保证所创建映像的文件系统完整性。

    • 实例卷-您可以使用此部分中的字段修改根卷,添加更多的 Amazon EBS 和实例存储卷。要了解每个字段的信息,可将光标暂停在每个字段旁的 i 图标上,以显示字段工具提示。以下是一些要点:

      • 要更改根卷的大小,请找到Root中的卷类型column. 适用于大小 (GiB)中,输入所需的值。

      • 如果您选择终止时删除对于,当您终止从此 AMI 创建的实例时,将删除 Amazon EBS 卷。如果你清除终止时删除,当您终止实例时,不会删除 Amazon EBS 卷。有关更多信息,请参阅 。实例终止时保留 Amazon EBS 卷中的适用于 Linux 实例的 Amazon EC2 用户指南.

      • 要添加 Amazon EBS 卷,请选择添加新卷(这会添加一个新行)。对于 Volume type(卷类型),选择 EBS,并填写行中的字段。当您从新的 AMI 启动实例时,额外的卷会自动附加到该实例。您必须格式化并挂载空卷。您必须挂载基于快照的卷。

      • 要添加实例存储卷,请参阅将实例存储卷添加到 AMI中的适用于 Linux 实例的 Amazon EC2 用户指南. 当您从新的 AMI 启动实例时,这些额外的卷会自动初始化并挂载。这些卷不包含您的 AMI 所基于的运行实例的实例存储卷上的数据。

  7. 要在创建 AMI 时查看其状态,请在导航窗格中,选择 AMIs。最初,状态是 “挂起”,但过几分钟就会变成可用。

    (可选)要查看为新的 AMI 创建的快照,请选择快照。您从此 AMI 启动实例时,我们使用此快照创建其根设备卷。

  8. 从新 AMI 启动实例。有关更多信息,请参阅 。使用启动实例向导启动实例中的适用于 Linux 实例的 Amazon EC2 用户指南.

  9. 新的正在运行的实例包含您在之前的步骤中应用的所有自定义项。

使用命令行从实例创建 AMI

您可以使用以下任一命令。有关这些命令行界面的更多信息,请参阅访问 Amazon EC2中的适用于 Linux 实例的 Amazon EC2 用户指南.

从快照创建 Linux AMI

如果您有实例的根设备卷的快照,则可以使用Amazon Web Services Management Console或命令行。

使用控制台从快照创建 AMI

  1. 通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/

  2. 在导航窗格中的 Elastic Block Store 下,选择 Snapshots

  3. 选择快照,选择操作,然后选择创建映像.

  4. 从 EBS 快照创建映像对话框中,填写相关字段以创建 AMI。然后选择 Create (创建)。如果要重新创建父实例,请选择与父实例相同的选项。

    • 架构— 选择i386对于 32 位或x86_64对于 64 位。

    • 根设备名— 输入相应的根卷名称。有关更多信息,请参阅 。Linux 实例上的设备命名中的适用于 Linux 实例的 Amazon EC2 用户指南.

    • 虚拟化类型— 选择是从此 AMI 使用半虚拟化 (PV) 还是硬件虚拟机 (HVM) 虚拟化启动实例。有关更多信息,请参阅 Linux AMI 虚拟化类型

    • (仅限 PV 虚拟化类型)内核 IDRAM 磁盘 ID从列表中选择 AKI 和 ARI。如果选择默认 AKI,或不选择 AKI,则每次启动使用此 AMI 实例时,都必须指定 AKI。此外,如果默认 AKI 与实例不兼容,您的实例可能会失败运行状况检查。

    • (可选)块储存设备映射— 添加卷或扩展 AMI 根卷的默认大小。有关调整实例上的文件系统大小以扩展卷的更多信息,请参阅调整卷大小后扩展 Linux 文件系统中的适用于 Linux 实例的 Amazon EC2 用户指南.

要使用命令行从快照创建 AMI

要从快照创建 AMI,可以使用以下命令之一。有关这些命令行界面的更多信息,请参阅访问 Amazon EC2中的适用于 Linux 实例的 Amazon EC2 用户指南.

在 Snowball 上使用 Amazon S3

作为订单流程的一部分,系统会要求您创建Amazon Identity and Access Management(IAM) 角色Amazon Key Management Service(Amazon KMS) 键。KMS 密钥用于在传输过程中和 Snowball Edge 设备上的静态数据加密。有关创建 IAM 角色和 KMS 密钥的更多信息,请参阅创建AmazonAmazon Snowball Edge作业.

导入的工作方式

每个导入任务使用单个 Snowball Edge 设备。创建工作后,我们会向您发送 Snowball Edge 设备。设备到达后,请将 Snowball Edge 设备连接到您的网络,并将要导入到 Amazon S3 的数据传输到该 Snowball Edge 上。完成数据传输之后,请将 Snowball Edge 寄回Amazon. 然后,我们将您的数据导入 Amazon S3。

重要

如果你打开了 S3 对象锁定,Snowball Edge 无法写入存储桶。如果存储桶上的 IAM 策略阻止写入存储桶,我们也无法写入存储桶。

导出的工作方式

每个导出任务可以使用任意数量的Amazon SnowballEdge 设备。在创建任务之后,Amazon S3 中将启动列举操作。此列举操作将您的任务分割为几个部分。每个任务部分都正好有一个与其关联的设备。在您创建任务部分之后,第一个任务部分进入 Preparing Snowball 状态。

注意

将您的任务拆分为多个部分的列举操作是 Amazon S3 的一项功能,并且您的账单与 Amazon S3 操作相同。

然后,我们会开始将您的数据导出到设备。通常,导出数据需要一个工作日。不过,此过程可能需要更长时间。导出完成后,Amazon让设备准备好供您的区域运营商领取。

设备到达您的站点后,请将其连接到您的网络,并将要导入到 Amazon S3 中的数据传输到该设备上。完成数据传输之后,请将设备寄回Amazon. 当我们收到返回的设备时,我们会将其完全擦除。此擦除过程遵循美国国家标准与技术研究院 (NIST) 800-88 标准。

此步骤标记这一特定任务部分的完成。如果有多个任务部分,则现已准备好下一个任务部分的发运。

重要

Snowball Edge 无法导出 S3 Glacier 存储类中的文件。必须先恢复这些对象,然后才能导出文件。如果我们在 S3 Glacier 存储类中遇到文件,我们会与您联系以便告知您,但这可能会增加导出作业的延迟。

使用 Amazon S3 加密Amazon KMS

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

将 Amazon S3 默认存储桶加密与Amazon KMS托管密钥

启用Amazon使用托管加密Amazon KMS

  1. 通过以下网址打开 Simple Storage Service(Amazon S3)控制台:https://console.aws.amazon.com/s3/

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

  3. 在右侧出现的向导中,选择属性.

  4. Default encryption (默认加密)框,选择Disabled(此选项灰显)以启用默认加密。

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

  6. 请选择保存

创建 Snowball Edge 作业后,在导入数据之前,向现有 IAM 角色策略添加一条声明。这是您在订购过程中创建的角色。根据作业类型,默认角色名称看起来类似于Snowball-import-s3-only-role要么Snowball-export-s3-only-role.

以下是此种陈述的示例。

用于导入数据

如果您将服务器端加密与Amazon KMS要加密与您的导入任务关联的 Amazon S3 存储桶,则您还需要将以下语句添加到您的 IAM 角色。

例如:IAM 角色 Snowball 导入

{ "Effect": "Allow", "Action": [ "kms: GenerateDataKey", "kms: Decrypt" ], "Resource":"arn:aws:kms:us-west-2:123456789012:key/abc123a1-abcd-1234-efgh-111111111111" }

导出数据

如果您将服务器端加密与Amazon KMS要加密与您的导出任务关联的 Amazon S3 存储桶,则您还必须将以下语句添加到您的 IAM 角色。

例 IAM 角色 Snowball 导入

{ "Effect": "Allow", "Action": [ "kms:Decrypt" ], "Resource":"arn:aws:kms:us-west-2:123456789012:key/abc123a1-abcd-1234-efgh-111111111111" }

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

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

用于导入数据

要启用客户托管加密Amazon KMS

  1. 登录到 Amazon Web Services Management Console,然后通过以下网址打开 Amazon Key Management Service (Amazon KMS) 控制台:https://console.aws.amazon.com/kms

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

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

  4. Expand密钥策略如果尚未扩展。

  5. 关键用户部分,选择Add然后搜索 IAM 角色。选择 IAM 角色,然后选择Add.

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

例如:的政策Amazon 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": "*" }

在将此策略添加到Amazon 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" }

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

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

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

导出数据

例如:的政策Amazon 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": "*" }

在将此策略添加到Amazon 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" }

在将此策略添加到Amazon KMS客户管理的密钥,还需要更新与 Snowball 作业关联的 IAM 角色。默认情况下,角色为snowball-export-s3-only-role.

Snowball Edge 集群

一个聚集是对的逻辑分组Amazon SnowballEdge 设备(5-10 台设备)。使用单个任务创建集群。集群提供了更高的持久性和存储容量。本节提供有关 Snowball Edge 集群的信息。

对于Amazon Snowball服务,集群是一组 Snowball Edge 设备,用作单个逻辑单位并用于本地存储和计算目的。

与用于本地存储和计算目的的独立的 Snowball Edge 相比,集群提供了以下主要好处:

  • 提高持久性— 存储在 Snowball Edge 设备集群中的数据提高了数据持久性。此外,集群上的数据保持安全且可行,即使在集群中可能出现的 Snowball Edge 中断时。在数据成为问题之前,集群能够承受两个节点的丢失。您也可以添加或替换节点。

  • 增加了存储— 集群中的每个节点的总可用存储空间为 45 TB。因此,在 5 节点集群中,有 225 TB 的可用存储空间。相比之下,独立的 Snowball Edge 中的可用存储空间为大约 80 TB。带 5 个以上的节点的集群具有更多的存储空间。

Snowball Edge 设备的集群由无领导节点构成。任何节点都可以将数据写入整个集群,并从整个集群读取数据,并且所有节点都可以执行behind-the-scenes集群的管理。

Snowball Edge 集群仲裁人数

一个法定人数表示集群中最少数量的 Snowball Edge 设备,这些设备必须相互通信以维护某个级别的操作。对于 Snowball Edge 集群,有两种级别的 quorum 读/写 quorum 和读 quorum。

假设您将数据上传到 Snowball Edge 设备的集群。在所有设备运行状况良好的情况下,读/写法定集群的。如果其中一个节点处于脱机状态,则您可以减小集群的运行容量,但您仍可以读取和写入集群。在这种情况下,该集群仍具有读/写 quorum。

如果集群中的两个节点处于脱机状态,则任何其他操作或正在进行的写入操作将失败,但是可以访问和读取已成功写入到集群中的任何数据。这被称为阅读法定人数.

最后,如果第三个节点处于脱机状态,则集群处于脱机状态,并且集群中的数据将变得不可用。在这种情况下,您可以修复此问题,但数据可能永久丢失,具体取决于事件的严重性。如果这是一个临时外部电源事件,并且您可以使三个 Snowball Edge 设备重新为三个设备联机并解锁集群中的所有节点,则您的数据将再次可用。

重要

如果健康节点的最小仲裁不存在,请联系Amazon Web Services Support.

您可以通过确定节点的锁定状态和网络可到达性来确定集群的 quorum 状态。snowballEdge describe-cluster 命令报告回解锁集群中的每个节点的锁定和网络可到达性状态。确保集群中的设备运行正常并保持连接是您在创建集群任务时承担的管理责任。有关不同客户端命令的更多信息,请参阅Snowball Edge 客户端的命令.

Amazon Snowball Edge 的集群任务的注意事项

在规划对 Snowball Edge 设备的集群的使用时,请记住以下注意事项:

  • 建议您拥有一个冗余电源以便减少集群的潜在性能和稳定性问题。

  • 与独立的本地存储和计算任务一样,如果不将其他设备作为单独导入任务的一部分进行排序,则集群中存储的数据无法导入 Amazon S3 中。如果您对这些设备排序,您可以将数据从集群传输到这些设备,并在寄回设备时为导入任务导入数据。

  • 要从 Amazon S3 将数据获取到集群上,请创建单独的导出任务,并将数据从导出任务的设备中复制到集群上。

  • 您可以使用控制台,Amazon CLI,或者Amazon创建集群任务的 SDK。

  • 集群节点具有节点 ID。一个节点 ID与从控制台获取的设备的任务 ID 相同,Amazon CLI,AmazonSnowball Edge 客户端或 Snowball Edge 客户端。您可以使用节点 ID 从集群中删除旧节点。您可以对解锁设备使用 snowballEdge describe-device 命令或对解锁集群使用 describe-cluster 来获取节点 ID 的列表。

  • 集群的生命周期受在预置集群时向集群设备授予的安全证书的限制。

  • Amazon 收到作为集群一部分寄回的设备之后,我们会对该设备执行完全擦除操作。此擦除过程遵循美国国家标准与技术研究院 (NIST) 800-88 标准。