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

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

在您预定 Snowball Edge 设备之前

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

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

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

关于本地环境的问题

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

您要传输什么数据?

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

传输期间会访问数据吗?

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

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

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

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

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

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

  • 反斜杠(“\”)

  • 左大括号(“{”)

  • 右大括号(“}”)

  • 左方括号(“[”)

  • 右方括号(“]”)

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

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

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

  • 插入符号(“^”)

  • 百分比字符(“%”)

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

  • 引号

  • 波浪字符(“~”)

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

  • 竖线(“|”)

如果您的文件在对象名称中包含一个或多个这些字符,请在将对象复制到 Amazon 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

注意

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

在 Snow 系列设备上使用 Amazon EC2

本节概述了如何在 E Amazon Snowball dge 设备上使用兼容 Amazon EC2 的计算实例。其中包含概念性信息、过程和示例。

注意

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

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

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

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

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

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

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

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

设备使用完毕后,将其返回到 Amazon。如果已在导入作业中使用此设备,则使用 Amazon S3 Adapter 或 NFS 接口传输的数据将导入到 Amazon S3 中。否则,当设备返回到设备时,我们会对其进行彻底擦除。 Amazon此擦除过程遵循美国国家标准与技术研究院(NIST)800-88 标准。

重要

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

Snow 系列设备上的 Amazon EC2 和与 Amazon EC2 兼容的实例之间的区别

Amazon 兼容 Snow Family EC2 的实例允许客户使用一部分 EC2 API 和 AMI 子集来使用和管理兼容 Amazon EC2 的实例。

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. (可选)创建所有附加到您的实例的卷的快照。有关创建快照的更多信息,请参阅《适用于 Linux 实例的 Amazon EC2 用户指南》中的创建 Amazon EBS 快照

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

    提示

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

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

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

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

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

      警告

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

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

      • 要更改根卷的大小,请在卷类型列中找到。在大小(GiB)中,输入所需的值。

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

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

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

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

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

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

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

使用命令行从实例创建 AMI

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

从快照创建 Linux AMI

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

使用控制台从快照创建 AMI
  1. 通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/

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

  3. 依次选择快照、操作创建映像

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

    • 架构:对 32 位选择 i386,对 64 位选择 x86_64

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

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

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

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

使用命令行从快照创建 AMI

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

在 Snowball Edge 上使用 Amazon S3

作为订购流程的一部分,系统会要求您创建 Amazon Identity and Access Management (IAM) 角色和 Amazon Key Management Service (Amazon KMS) 密钥。KMS 密钥用于加密 Snowball Edge 设备上的静态数据。有关创建 IAM 角色和 KMS 密钥的更多信息,请参阅创建订购 Snow Family 设备的任务

导入的工作方式

每个导入作业都使用一台 Snowball Edge 设备。在你创建订购 Snow Family 设备的任务后,我们会向你发货 Snowball Edge 设备。在设备到达后,您将该 Snowball Edge 设备连接到您的网络,然后将要导入到 Amazon S3 的数据传输到该 Snowball Edge 上。完成数据传输之后,请将 Snowball Edge 寄回 Amazon。然后我们会将您的数据导入 Amazon S3。

重要

如果您开启了 S3 对象锁定,Snowball Edge 将无法写入存储桶。如果存储桶上的 IAM 策略阻止向存储桶写入数据,我们也无法写入您的存储桶。

导出的工作方式

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

注意

将作业拆分为多个部分的列举操作是 Amazon S3 的一项功能;与 Amazon S3 操作一样,您需要为该操作付费。

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

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

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

重要

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

在 Snow 系列设备上使用与 Amazon S3 兼容的存储空间来实现边缘计算和存储作业

Snow 系列设备上与 Amazon S3 兼容的存储可为为坚固的移动边缘和断开连接的环境提供安全的对象存储,具有更强的故障恢复能力和可扩展性,并扩展了 Amazon S3 API 特征集。Snow 系列设备上与 Amazon S3 兼容的存储使客户能够在 Snow 系列设备上存储数据并运行高度可用的应用程序,从而用于边缘计算用例。

您可以在 Snowball Edge 设备上创建 Amazon S3 存储桶,以便为需要本地数据访问、本地数据处理和数据驻留的应用程序存储和检索本地对象。Snow 系列设备上与 Amazon S3 兼容的存储提供了一个新的存储类别,即 SNOW,该存储类别使用 Amazon S3 API,并且用于在多个 Snowball Edge 设备之间持久冗余地存储数据。您可以在 Snowball Edge 存储桶上使用与 Amazon S3 相同的 API 和特征,包括存储桶生命周期策略、加密和标记。当一个或多个设备返回到时 Amazon,在 Snow Family 设备上创建或存储在 Amazon S3 兼容存储器中的所有数据都将被删除。有关更多信息,请参阅仅限本地计算和存储的作业

Snow 系列设备上与 Amazon S3 兼容的存储可以采用独立配置或集群配置进行部署。在独立配置中,您可以在设备上预置可用的 S3 容量,其余容量将可用作块存储。在集群设置中,所有数据磁盘容量都将用于 S3 存储。根据集群的大小,S3 服务可维持 1 或 2 台设备的设备容错能力。有关集群容错能力的更多信息,请参阅集群化概述

要在 Snow 系列设备上设置和使用与 Amazon S3 兼容的存储,请参阅本指南中的 Snow 系列设备上与 Amazon S3 兼容的存储

亚马逊 S3 加密使用 Amazon KMS

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

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

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

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

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

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

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

  6. 选择保存

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

以下是此类语句的示例。

对于导入数据

如果您使用带有 Amazon 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" }

对于导出数据

如果您使用带有 Amazon 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" }

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

您可以将默认 Amazon S3 存储桶加密与您自己的 KMS 密钥结合使用,用以保护您正在导入和导出的数据。

对于导入数据

使用启用客户托管加密 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. 如果密钥政策尚未展开,请将其展开。

  5. 秘钥用户部分,选择添加并搜索 IAM 角色。选择 IAM 角色,然后选择添加

  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 Snowball 服务,集群是 Snowball Edge 设备的集合,用作单个逻辑单元,用于本地存储和计算目的。

是 Amazon Snowball Edge 设备的逻辑分组,以 3 到 16 台设备为一组。集群是使用单个作业创建。集群可提高持久性和存储容量。本节提供有关在 Snow 系列设备上通过与 Amazon S3 兼容的存储使用 Snowball Edge 集群的信息。

Amazon Snowball Edge 的集群作业的注意事项

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

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

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

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

  • 您可以使用控制台 Amazon CLI、或 Amazon SDK 来创建集群作业。

  • 集群节点具有节点 ID。节点 ID 与您可以从控制台、软件开发工具包或 Snowball E Amazon dge 客户端获取的设备的任务 ID 相同。 Amazon CLI您可以使用节点 ID 从集群中删除旧节点。您可以对解锁设备使用 snowballEdge describe-device 命令或对解锁集群使用 describe-cluster 来获取节点 ID 的列表。

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

  • 当 Amazon 收到退回的属于集群的设备时,我们会对该设备进行彻底的擦除。此擦除过程遵循美国国家标准与技术研究院(NIST)800-88 标准。