我们最近完成了一个数据分析项目,最终生成了一个100TB 的输出文件。虽然我们的实验室拥有充足的存储空间,但永久保存一个 100TB 的文件仍然面临着一系列独特的挑战。此外,我们并非真的“需要”这个文件,但如果可能的话,我们还是希望能够保留它。云显然是满足这一需求的理想选择,但通过网络传输如此庞大的数据量耗时巨大,因此我们决定尝试使用 AWS Snowball Edge 设备。我们的目标是:以最快的速度将数据从辛辛那提的实验室传输到 AWS us-east-2 区域的 S3 存储桶中。
什么是 AWS Snowball 边缘设备?
在我们深入研究数据迁移任务之前,有必要简要介绍一下 AWS Snowball Edge 设备。 AWS Snow Family 是一系列专门构建的服务。 这些服务运行计算密集型工作负载,同时将数据存储在边缘位置以实现拒绝、中断、间歇或受限 (DDIL) 网络连接,以及从本地和坚固或移动环境传输大量数据。 AWS Snowball Edge 设备坚固耐用、便携且安全,并提供存储优化或计算优化功能。 这些设备旨在帮助客户安全高效地移动(到 AWS)或处理大量数据,即使在远程或断开连接的位置也是如此。
Snowball Edge 设备有两个版本:我们在这里使用的 Snowball Edge Storage Optimized 和 Snowball Edge Compute Optimized。 存储优化版本专为数据传输和存储用例而设计,具有高达 80TB 的存储容量。 Compute Optimized 版本适用于数据处理和计算用例,配备多达 104 个虚拟 CPU 和 416GB RAM。 计算优化系统甚至可以选择包含 GPU。 对于数据需求较少的用户,还有一个小型、超便携的 Snow Family,称为 AWS Snowcone。
Snowball Edge 的两个版本都具有内置的安全功能,例如防篡改外壳、256 位加密和可信平台模块 (TPM) 芯片,以确保数据的完整性和机密性。 此外,Snowball Edge 设备可以配置为在边缘运行 AWS Lambda 函数、Amazon EC2 实例和其他 AWS 服务,使客户能够在将数据传输到 AWS 之前在本地执行数据处理和分析。
对于我们的用例,Snowball Edge 设备为客户提供了一种快速、安全且灵活的方式来在各种环境(包括远程或断开连接的位置)中传输和处理大量数据。
AWS Snowball 订购流程
对于经验丰富的 AWS 专业人士来说,Snowball 的订购过程非常简单。 即使对于像我这样的新手,我也能够在指导我们完成整个过程的 AWS 朋友的帮助下点击完成这些步骤。
第 1 步是为您的作业命名并为您的 Snow 设备选择作业类型。 我们的任务只是将数据传输到 S3,但 Snow 设备也可以从 S3 导出数据。 它们还可以用作点解决方案,为边缘位置提供本地计算、存储和 GPU。
第 2 步仍然很简单,选择 Snow 设备。 在我们的案例中,我们选择了 Snowball Edge Storage Optimized 单元,可用容量为 80TB。 AWS Snowball 有多种定价选项。 有按天使用的定价选项,或者 AWS Snowball 为 62 年使用和 1 年使用承诺提供显着折扣定价(高达 3%)。 通过这些长期交易,您可以预先支付折扣价使用 Snowball 设备,并且在预付费期结束之前无需支付任何额外服务费或每日费用。 订购 Snowball 设备时,您可以在 AWS Snow 系列控制台中注册承诺的预付费用。
最后,选择导入所需的 EC2 实例和 S3 存储桶。由于这是一个新账户,所以我们创建了一个新的 S3 存储桶。虽然这次不需要 EC2 实例,但后来为了好玩,我们还是侧载了一个 EC2 实例。
第 3 步提供了一些额外的功能,例如可选的 AWS IoT Greengrass for Snow 和远程设备管理选项。
第 4 步涵盖安全、运输和通知首选项。 在这里,我们使用了默认加密并创建了建议的服务角色以允许 AWS 处理数据。 从那里,它会添加您的地址并选择一到两天的送货时间。 您还可以在此处添加电子邮件通知,尽管 AWS 控制台会显示作业在系统中运行时的所有进度。
最后一步是验证所有输入和提交的信息。 这将创建作业,然后 AWS 的履行过程开始。 我们非常缓慢地逐步完成了 AWS 的流程,想要了解所有选项。 即使按照我们随意的节奏,整个过程也需要大约 10 分钟。 更激进的方法是让订购 Snow 设备最多花费 2-3 分钟。
当时,我们认为我们需要两台 Snowball Edge 设备。 回想起来,我们只需要一个。 克隆此作业的过程也非常简单,只需点击几下即可为更大的数据集汇总几个 Snowball。
从这里开始,这是一个等待游戏,因为履行过程通过系统进行。 因为这是一个全新的帐户,所以我们立即订购了两台 Snowball Edge 设备时遇到了一些问题。 但对于有活动的账户,不应该有这样的验证。 Snowballs 在短短几天内就出现了,我们开始准备传输数据。
使用 Snowball 时需要考虑的一点是定价。它包含一项服务费,其中包括设备在现场运行十天的费用。当然,数据存储到 S3 后,还会产生云服务费。虽然 Snowball 的定价并不复杂,但具体费用会根据您选择的系统、所需时间以及您所在的地区而有所不同。就我们而言,每个 Snowball 的服务费是 300 美元,即使是这个价格,如果签订长期合同,也可以大幅降低。不过,您可以参考 AWS提供的详细定价表来了解 Snowball 的定价情况。
资料准备
我们从一个 100TB 的文本文件开始,但对于任何有 S3 经验的人来说,您都会知道这是一个问题。 S3 的对象大小限制为 5TB,这意味着我们需要对单个不合规文件采取一些措施。 我们的答案是将其切碎,看看我们是否可以同时获得一些压缩优势。 我们希望能够精简到单个 Snowball 单元,最高可用容量为 80TB。 在等待 Snowball Edge 到达的同时,我们开始准备数据。
过程再造
我们使用了我们最喜欢的处理大数字的应用程序y-cruncher,它包含数字查看、分割和压缩工具。由于 S3 的对象大小限制,我们选择将圆周率 100 万亿位数字分割成 200 个文件。压缩后,每个文件的大小约为 191GB,包含 500,000,000,000(500 亿)位数字。
AWS 雪球配置
准备好数据并准备好 Snowball 设备后,我们启动了第一个单元使其联机。 设置 Snowball 非常简单,为其供电并访问网络; 我们选择了 10GbE 端口。 许多人会选择使用 CLI 与 Snowball 交互,这可能是首选方法。 尽管如此,为了视觉效果并希望从非 AWS 专业角度获得体验,我们还是选择了 AWS OpsHub for Snow Family。
AWS OpsHub for Snow Family是一款用户友好的工具,可帮助客户管理其 Snow Family 设备和本地 AWS 服务。用户可以通过图形用户界面解锁和配置设备、传输文件、启动和管理实例以及监控设备指标,该界面提供对设备上运行的 AWS 服务的统一视图。AWS OpsHub 可自动执行操作任务,并且旨在满足不同技术水平用户的需求,从而简化对大量 Snow Family 设备的管理。
使用 LCD 屏幕上的 IP 地址以及来自 AWS 控制台的解锁代码和清单文件,您可以解锁和访问 Snowball Edge。 这可能需要几分钟时间,因为 AWS 会验证凭证、解密内容并处理一些其他内务处理任务。
登录后,您将被带到一个可视化仪表板,其中包含相关设备信息和已启用的服务。 此时,我们在线,连接到网络,并准备好移动我们的数据。
将数据传输到 AWS Snowball
在网络上设置 Snowball Edge 并连接 OpsHub 后,是时候转移我们的 200 个 200GB 文件了。 虽然大多数人会为此过程使用 CLI 界面,并且会受益于时间更优化的体验,但我们选择了简单性。 在 Windows 中使用 OpsHub,我们只需选择其中包含我们的 Pi 数据的文件夹,然后放开数据。 我们花了大约四天的时间才将文件传送到 Snowball。
数据传输完成后,我们关闭了设备电源,此时电子墨水显示屏变为用于摄取的地址。 在我们的案例中,这意味着俄亥俄州哥伦布市,us-east-2 的所在地。 顺便说一句,一旦它到了托运人手中,访问凭证也会从 Web 控制台消失,从而在途中保护数据。
AWS 跟踪雪球状态
使用 UPS 投递后,AWS Web 界面会使用跟踪编号和 Snowball 的运输、分拣、AWS 接收和导入 S3 的进度更新作业状态。 Snowball 花了几天时间运抵哥伦布,两天时间完成进口。
确认流程完成后,我们在 S3 中进行了可视化,以确保所有数据看起来都已正确导入。 为了让客户更正式地安心,AWS 还提供了整个过程的审计报告,以及任何异常情况。
在我们的日志中,我们可以看到 200 个文件已完成且没有失败。 AWS 还记录了 Snowball Edge 及其数据在系统中移动时的亮点。
总结
AWS Snowball Edge 设备并不新鲜; 在为客户提供一种安全的方式来加速将离线数据或远程存储移动到云端方面,AWS 是先行者。 如果我们只是尝试通过网络将数据复制到 S3,我们可能仍在等待该工作完成,并且由于我们的 Internet 管道被占用而无法做很多其他工作。 对我们来说,Snowball Edge Storage Optimized 单元正是我们尽快将数据传输到云端所需要的。
这并非没有代价。 虽然长期客户可以获得更优惠的价格,但我们为 Snowballs 支付的自付费用约为 700 美元。 不过,这还不错,考虑到我们错误地订购了一个额外的设备,并且我们没有那么快地移动所有设备以将这些设备转回 AWS。 将数据摄取到 S3 是免费的,持续的 S3 成本取决于您与 AWS 的合同费率。
需要注意的是,我们此次对 Snowball Edge 的使用仅限于最基本的方式。配备计算能力的 Snowball 设备,尤其是带有 GPU 的设备,在处理更密集型的应用场景方面潜力更大。感兴趣的朋友可以收听我们最近推出的AWS Snow Podcast。Snow设备本质上是 AWS 的一个精简版,存储和计算能力都有限制。但正如我们所见,它们非常灵活,部署极其简便,并且能够可靠地将数据传输到所需位置。对于任何正在考虑使用 AWS Snow 设备的用户,我们强烈建议您尝试一下。




Amazon