我们使用机器学习技术将英文博客翻译为简体中文。您可以点击导航栏中的“中文(简体)”切换到英文版本。
使用 Hammerspace 为 Flame on 亚马逊云科技 提供多区域工作流程
在全球范围内扩展存储
传统上,对于公司和制作公司来说,建造一个多地点工作室是一项艰巨的任务。在需要赢得更多项目、雇用世界知名人才或获得特定地点激励措施的推动下,公司不可避免地面临着巨额资本支出、预测最大规模以及招聘大量本地 IT 员工的现实。随着生产需求的增长,基础设施需求超过了最初的估计。一旦生产结束,人才可能会离开,本地激励措施的吸引力可能会降低,缩减静态本地基础设施将成为一项艰巨而昂贵的任务。
随着时间的推移,这种场景已经从例外变成了常态——视觉效果(VFX)和后期制作设施定期打开和关闭卫星拍摄地点。
这篇博客文章介绍了一种架构,该架构允许亚马逊网络服务 (亚马逊云科技) 上的客户使用由 亚马逊云科技 提供支持的
亚马逊云科技 上的哈默空间
Hammerspace 提供软件定义的自动数据协调系统,其中包含一整套数据服务,用于统一和管理全球数据环境中的数据。这是通过 Hammerspace 的可扩展软件实现的,该软件提供单一的全局命名空间来引用最终用户的存储数据。本质上,这个全局命名空间允许用户为每个地理站点配置一个挂载点,可以根据需要在任意数量的站点上访问该挂载点。Hammerspace 的软件能够在需要时在所有适用站点之间共享所有这些存储的数据(无论这些数据是在哪里创建的)。要更深入地了解 Hammerspace 及其全球文件系统,请访问之前的博客文章:
Hammerspace 极大地减少了确保多个独立站点完全同步存储的数据所需的额外协调工作。根据所使用的 Hammerspace 配置,可以在首次访问时将托管文件发送到所需区域,也可以根据指定标准(称为 “目标”)对文件进行预同步。通过这些方法,艺术家和制作人员可以减少在验证数据位置上花费的时间;他们可以将更多精力集中在核心任务上。下图通常概述了如何在站点创建文件和文件夹,以及如何从所有所需站点访问文件和文件夹。
图 1:Hammerspace 全局命名空间。可以在任何站点创建文件和文件夹,并且可以通过相同的文件路径在所有站点上访问 它们
使用
尽管这种通用技术适用于任何工作流程,但这篇博客文章重点介绍如何利用Hammerspace的功能,通过 非托管 媒体工作流程来解锁Flame中的协作。
媒体使用 Hammerspace 在 亚马逊云科技 上支持 Flame
Flame 可以读取和生成托管和非托管媒体。
在托管工作流程中,Flame 直接拥有和管理媒体。如果 Flame 项目中不再使用该媒体,Flame 负责删除该媒体。为了确保 Flame 提供实时性能,托管媒体还要遵守性能预期,即要求将媒体存储在高性能存储器上。
在非托管工作流程中,Flame 会引用媒体文件,但它并不直接拥有这些文件。如果 Flame 项目中不再使用媒体,则 Flame 不会将其删除。外部媒体通常是这种情况,例如已安装的网络文件系统 (NFS) 共享。由于该媒体的性能预期与托管媒体不同,因此Flame提供了透明的工具来 “缓存” 非托管媒体,从而为将其转换为托管媒体提供了无缝体验。
图 2:Flame 托管媒体和非托管媒体的比较
Hammerspace 支持
在2023年全国广播协会(NAB)展会上,亚马逊云科技、Hammerspace和Autodesk宣布支持使用Hammerspace在Flame on 亚马逊云科技
“ Hammerspace的认证进一步使我们的客户能够将其产品迁移到云端,从而在数据和本质管理方面具有更高的灵活性 ” — Steve McNeill,Autodesk工程总监
利用 Flame 的跨区域 镜头发布 工作流程
Flame 提供了一个名为 “ Shot Publis h” 的强大非托管媒体工作流程 ,专为多位艺术家在同一时间轴内合作创作而设计。
使用 Shot Publish,Flame 用户可以在时间轴内识别需要导出以进行协作的镜头。然后可以将这些镜头发布到非托管文件夹(例如 Hammerspace 挂载点)。导出的数据包括:
- 具有一致命名惯例的文件夹/目录结构
- 为远程艺术家预先配置的批处理设置
- 打开 Clip 文件 — 用于对渲染进行简单版本控制
图 3:使用 Hammerspace 中的多个站点进行镜头发布的高级工作流程
当 Hammerspace 配置为容纳多个站点(即共享一个 Hammerspace 全局命名空间并具有挂载点的任何区域)时,这些文件和目录会在几秒钟内可见。
然后,在家中或卫星办公室工作的一位或多位 Flame/Flare 艺术家可以浏览到他们指定的镜头,打开预先配置的批处理设置,开始他们的创作工作流程。当这些艺术家需要更多数据时,这些数据将被传输到他们的本地数据存储库。
图 4:Flame 用户界面显示了正在远程站点创建的灯光美容作品
艺术家完成剪辑版本的制作后,渲染将更新相应的 Open Clip 文件。不久之后,这个新(更新的)版本将出现在最初的Flame时间轴中。
在幕后,Flame 会读取 Open Clip 文件来检测新创建的版本。当 Flame 时间轴读取新渲染的帧时,它们会并行传输到本地站点的数据存储库。这种同步是通过利用多区域工作流程的配置选项(在 Hammerspace 中可用)来实现的。如果 Flame 艺术家想要在不逐步(逐帧)的情况下传输片段版本中的所有帧,则该艺术家可以选择缓存(管理)该版本,然后所有这些帧都将传输到高性能存储空间。
配置 Hammerspace 以支持多区域 Flame
本节介绍实现前面概述的示例工作流程所需的配置。
图 5:使用 Hammerspace 非托管工作流程的 Flame 在 亚马逊云科技 上的高级架构图
使用 Amazon S3 进行共享对象存储
为了让 Hammerspace 能够在区域之间快速传输数据(在需要时),使用了共享对象存储。在这种情况下,将在协作设置中包含的其中一个区域中使用
权限
在配置 Hammerspace 时,必须创建一个 IAM 用户并生成具有相应权限的 Amazon S3(特别是共享对象存储桶)的访问密钥。
此示例 IAM 策略(在下面的 JSON 块中)将:
- 允许 Hammerspace 用户界面浏览给 定账户中的 所有 S3 存储桶
- 允许在特定 S3 存储桶上创建 Hammerspace 卷
- 允许向/从特定 S3 存储桶传输数据
私有亚马逊 S3 访问权限
在默认配置中,Hammerspace 使用公共 Amazon S3 终端节点来访问其整体协作设置中使用的 S3 存储桶。这既不是安全也不是高性能配置,因为当数据从一个站点传输到另一个站点时,数据将离开亚马逊云科技网络并穿越公共互联网。
图 6:Hammerspace 中的默认公共端点允许数据通过公共互联网
为了提高安全性和性能,建议在站点之间传输数据时仅驻留在 亚马逊云科技 云中。利用
图 7:用于连接多个区域的 VPC 对等连接,以及通过 Hammerspace 访问用于协作的共享 S3 存储的 PrivateLink VPC 接口终端节点
要将这些改进应用到 Hammerspace 配置中,请执行以下步骤:
-
在所有相应的
VPC 之间配置 VPC 对等互连 或亚马逊云科技 Transit Gat eway,以便提供对共享 S3 存储桶的访问(来自另一个 亚马逊云科技 区域的 VPC)。 -
在包含共享 S3 存储桶的区域中添加 适用于 S3 的
PrivateLink 接口终端节点 。 - 在 Hammerspace 用户界面中将此接口端点设置为 S3 端点(添加其存储系统时)。
在 Hammerspace 用户界面中配置 Amazon S3 端点
Hammerspace 中的默认 “亚马逊 S3” 设置假定所有亚马逊 S3 通信都使用公共终端节点。要使用私有终端节点,必须选择 “通用 S3” 选项并输入在上一步中生成的 亚马逊云科技 PrivateLink 接口终端节点(上图)。该端点应类似于以下示例格式:
https://bucket.vpce-12a34bc5678d-abc12345.s3.us-west-2.vpce.amazonaws.com
图 8:Hammerspace 用户界面 — 添加 S3 存储桶存储系统
配置好此 S3 端点后,可以在 Hammerspace 中添加相应的共享卷,以进一步扩展其全局文件系统。
通过 “目标” 进行自定义数据同步
Hammerspace 提供灵活的工具来管理跨站点的数据编排。控制这种协调的逻辑被定义为目标。以 Flame 为例,理想的做法是让 Open Clip 文件的 内容 始终在使用时间轴的位置可用,无论哪个站点对其进行了更新。这样可以确保 Flame 在创建片段后立即看到新版本的片段。为此,使用了自定义目标,并将其添加到拥有时间轴的位置的 Anvil 中。
如果 FNMATCH (”./hs-mount/project/ */flame/*.clip
”,PATH)
然后 {SLO('放置在本地卷上')}
图 9:用于创建和编辑目标的 Hammerspace 用户界面
此外,对于创建或更新的任何文件(在站点内),如果它们也与此目标的表达式(FNMATCH)相匹配,则这些文件的内容将在几秒钟内传输到由Anvil管理的站点(设定本目标)。由于 Open Clip 文件通常是小型文本文件,因此需要传输的数据量很少。总体而言,这种目标机制可以应用于通过智能数据同步显著改善Flame中的协作工作流程。
摘要
使用这篇博客文章中概述的方法,地理位置分散的用户可以近乎实时地在同一个 Flame 时间轴上进行迭代和协作。当用户在 Open Clip 文件中创建片段的新版本时,这些文件会立即出现在 Flame 时间轴中。如果 Flame 用户想要回放这些新创建的版本,他们可以在本地缓存它们——底层渲染会传输到其他指定的地理区域,从而形成真正的协作工作流程。
更喜欢看这个工作流程的演示?
关于 Autodesk
作为三维设计、工程和娱乐软件领域的全球领导者,Autodesk提供最广泛的产品组合,通过数字化设计、可视化和真实项目绩效仿真,帮助超过1000万客户(包括财富100强中的99家)持续创新。
关于 Hammerspace
*前述特定亚马逊云科技生成式人工智能相关的服务仅在亚马逊云科技海外区域可用,亚马逊云科技中国仅为帮助您发展海外业务和/或了解行业前沿技术选择推荐该服务。