在多个 AWS 账户间启用 Amazon FSx for NetApp ONTAP 文件系统共享
关键要点
本文探讨了如何在多个 AWS 账户中共享 Amazon FSx for NetApp ONTAP 文件系统,主要通过 AWS Transit Gateway 和 AWS 资源访问管理器AWS RAM。Amazon FSx for NetApp ONTAP 提供了高性能的多协议共享存储,支持跨 AWS 账户的数据共享和访问控制。采用细微粒度的访问控制模型确保数据安全,可针对每个卷进行配置。企业用户希望在 AWS 上找到一种可扩展的、具备高度韧性的网络附加存储NAS解决方案,以支持同时运行 Windows 和 Linux 负载的分布式系统。此外,用户希望具有灵活的部署模式,以便通过基础设施账户进行网络存储的集中管理,从而优化成本并简化管理。此外,数据可以共享到同一 AWS 组织 下的其他 AWS 账户,实现环境中的成本和运营效率。
通过 Amazon FSx for NetApp ONTAP,AWS 提供全托管的共享存储,支持多协议工作负载,具有可扩展的存储容量和高性能低延迟的数据传输。FSx for ONTAP 提供单可用区AZ和 多可用区 文件系统,以满足用户的系统韧性需求。本文展示了如何在多个可用区的 FSx for ONTAP 环境中,通过使用 VPC 网络与 AWS Transit Gateway 和 AWS 资源访问管理器AWS RAM 实现跨账户访问。多可用区文件系统支持单可用区文件系统所有可用性和耐久性特性,并且即便某个 AZ 不可用,仍然设计为确保数据的持续可用性。我们还展示了如何使用 ONTAP CLI 配置卷级的细粒度访问控制,从而保证该解决方案中的安全访问。
作为替代方案,您还可以考虑使用在 2023 年 12 月发布的 VPC 共享。VPC 共享功能允许资源拥有者“拥有者账户”与其组织中的其他账户“参与者账户”共享一个或多个 VPC 子网。参与者可以在共享的子网中管理自己的应用程序资源,通过 FSx for ONTAP 用户界面运行更广泛的商业关键生产工作负载。参与者账户可以从共享的 VPC 中创建多可用区的 FSx for ONTAP 文件系统,涵盖 Amazon FSx for ONTAP 可用的所有 AWS 区域。
FSx for ONTAP 共享与访问控制概念
在讨论此解决方案之前,我们强调了一些用于访问 FSx for ONTAP 的重要概念,以及 FSx for ONTAP 提供的命令。
终端节点 IP 地址
在创建多可用区 FSx ONTAP 文件系统时,会为客户端分配访问 FSx for ONTAP 文件系统的终端节点 IP 地址。终端节点 IP 地址协助在多可用区之间无缝进行文件系统故障转移,因此不应与 FSx ONTAP 所用的 VPC 路由表中的现有 CIDR 范围冲突。详见 FSx for ONTAP 用户指南中的 管理文件系统。
FSx for ONTAP 使用两种类型的终端节点 IP 地址:
文件系统管理终端节点的 IP 地址存储虚拟机管理和 NFS/CIFS/iSCSI 终端节点的 IP 地址文件系统的管理终端节点用于通过 AWS API Gateway、ONTAP CLI 或 REST API 管理文件系统。您可以 SSH 进入此管理终端节点,以执行 ONTAP 命令。存储虚拟机SVM终端节点用于客户端通过 NFS 导出和/或 SMB 共享挂载和访问其 ONTAP 卷。管理终端节点使用 fsxadmin 命令在文件系统级别操作,允许您管理特定文件系统,如创建、删除和修改文件系统。而 vsadmin 命令则在 SVM级别操作,即一个独立的文件服务器,具备自己的管理和数据访问终端节点。
在创建多可用区 FSx for ONTAP 文件系统时,您可以选择从 AWS 管理控制台 的 快速创建 或 标准创建。使用 快速创建 选项,您可以选择未分配 IP 地址选项。选择 标准创建 时,您可以指定自己的 IP 地址范围。例如,在 快速创建 中,您可以从 VPC 选择 未分配的 IP 地址范围,使 Amazon FSx 使用该 VPC 主 CIDR 范围的最后 64 个 IP 地址作为文件系统的终端节点 IP 地址范围。否则,您也可以选择 位于 VPC 外的浮动 IP 地址范围,使 Amazon FSx 使用一个未被相同 VPC 和路由表中的其他文件系统使用的地址范围 19819x0/24。在 图 1 中,我们使用 标准创建,并选择 位于 VPC 外的浮动 IP 地址范围,并能够 SSH 访问位于 19819255112 的文件系统管理 IP 以访问 ONTAP CLI。
图 1 FSx for ONTAP 管理终端节点
拥有 SVM 终端节点 IP 地址为 1981925523,Windows 和 Linux 客户端可以通过 NFS 导出和/或 SMB 共享挂载 FSx 卷,如 图 2 所示。
图 2 FSx for ONTAP SVM 终端节点

如果您需要使用与默认范围1981900/16不同的子网地址,则可以在创建 FSx for ONTAP 文件系统时,通过“标准创建”选项选择自定义不同的终端节点 IP 地址子网范围,如 图 3 所示。
图 3 FSx for ONTAP 标准创建
VPC 路由表
由于客户端工作负载需要向 SVM 终端节点发送流量以挂载卷和共享,因此您需要确保客户端网络与 FSx for ONTAP SVM 终端节点之间的网络连接,尤其是当客户端 VPC 位于不同的 AWS 账户中时。
AWS RAM 帮助您在 AWS 账户之间安全地共享资源,在您的组织或组织单元OUs内共享资源。Transit Gateway 旨在连接 Amazon 虚拟私有云 (Amazon VPC) 到 AWS 账户。然后,在 Transit Gateway 路由表中广告 FSx for ONTAP 终端节点子网和客户端子网。最后,调整相应的 VPC 本地路由表,使其可路由。请注意,您的 AWS 账户必须在同一组织下才能共享资源。有关 AWS RAM 的更多信息,请访问 AWS RAM 首页。
一旦确认客户端工作负载与 FSx 终端节点之间的连接,您的客户端工作负载就可以通过 SVM 终端节点挂载 NFS 导出和 CIFS 共享。
访问控制
除了使用安全组和网络访问控制列表 (ACL) 提供安全保护之外,FSx for ONTAP 还通过 ONTAP CLI 和 REST API 提供额外的细粒度 ACL。这些安全措施允许您验证客户端在连接到文件系统挂载点并访问数据之前的身份。
如果您的客户端工作负载通过 SMB 协议访问 ONTAP 卷以挂载共享,则可以在 CIFS 共享映射到 FSx for ONTAP 卷上配置 ACL。ACL 根据 SVM 所在 AD 域中的用户账户查找来授权访问请求。有关如何将 SVM 加入 AD 域的更多信息,请参阅指南 通过 AWS 管理控制台、AWS CLI 和 API 将 SVM 加入 Active Directory。
如果您的客户端工作负载通过 NFS 协议访问 ONTAP 卷以挂载导出,则可以使用“卷导出策略”配置规则,根据客户端 IP 地址和协议版本定义访问控制。然后修改 FSx for ONTAP 卷以应用相应的策略。默认导出策略允许所有客户端的读写访问,这意味着任何能够到达 SVM 的客户端都可以访问其数据。重要的是,要审查并自定义导出策略,以满足特定的安全和访问需求。
步骤 1 设置 AWS 账户和 Amazon EC2 实例
本文使用同一组织中的两个 AWS 账户:拥有者账户和参与者账户。这两个账户都属于同一组织。拥有者账户负责以集中方式管理和提供存储服务,以实现成本和运营效率。它托管 Transit Gateway 和配置了一个包含多个卷的 FSx for ONTAP 文件系统。参与者账户则托管连接到拥有者账户的客户端 EC2 实例,包括 Windows 2019 EC2 实例和 Amazon Linux 2 EC2 实例。
为了共享这些资源,我们使用 AWS RAM 在拥有者账户与参与者账户之间共享 Transit Gateway。为了方便文件共享,由参与者账户托管的 Windows 虚拟机加入与 FSx ONTAP 中 SVM 相同的 AD。如果您的组织使用两个或多个 AD 域,并为数据 SVM 配置了 SMB 服务器,则可以使用安全登录域隧道以使用 SVM 作为访问集群的 AD 网关或隧道。
有关设置的更多详细信息,请参见 图 4:
图 4 FSx for ONTAP 共享解决方案架构图
AD、FSx for ONTAP、Transit Gateway 和 RAM 配置的逐步指南
本文使用控制台和 NetApp ONTAP CLI 进行配置。要访问 ONTAP CLI,我们必须 SSH 进入 FSx 文件系统管理终端节点。有关 FSx for ONTAP 的详细配置,请参阅 表 1。
FSx for ONTAP 组件数值文件系统管理 IP19819255112SVM DNS 名称SVM22BUILDLOCALSVM NFS 终端节点 IP 地址1981925523SVM SMB 终端节点 IP 地址1981925523部署模型多可用区文件系统大小1024 GiB卷名称Usergrp1 (路径 /usergrp1)卷大小100 MB表 1 FSx for ONTAP 配置细节
步骤 2 设置 Active Directory (AD)
本示例使用 AWS 托管 Microsoft AD 来支持 FSx 中的 SVM由拥有者账户托管以及 Windows EC2 实例由参与者账户托管。有关设置 AWS 托管 Microsoft AD 的更多信息,请参阅 AWS 目录服务用户指南中的 创建 AWS 托管 Microsoft AD 目录。
在我们的示例中,我们将 BUILDLOCAL 定义为我们在 AD 中测试的域。我们通过参与者账户的 Windows 客户端登录 Windows 域。在“Active Directory 用户和计算机”管理工具中开始菜单 gt 管理工具 gt Active Directory 用户和计算机,我们添加了两名域用户 (user1 和 user2)。它们用于测试从 Windows EC2 实例访问 FSx ONTAP 文件共享的连接,如下图所示。
图 5 AD 用户和计算机设置
飞鱼梯子步骤 3 设置 FSx for ONTAP
在本示例中,我们设置了一个拥有 1 TiB SSD 存储的 FSx for ONTAP 文件系统,如 图 6 所示。有关创建 FSx for ONTAP 文件系统的更多信息,请参见 创建 Amazon FSx for ONTAP 文件系统 的 FSx for ONTAP 用户指南。
图 6 FSx for ONTAP 文件系统设置
在配置了多可用区 FSx for ONTAP 文件系统之后,我们创建了一个 SVM名为“svm22”,用于在 FSx for ONTAP 上托管多个存储卷,如 图 7 所示。当您访问 FSx for ONTAP 文件系统中的数据时,您的客户端和工作站将通过 SVM 的终端节点 IP 地址与 SVM 进行交互。有关创建 SVM 和卷的更多信息,请参阅 管理 FSx for ONTAP 存储虚拟机 的 FSx for ONTAP 用户指南。
为了实现 CIFS 连接,我们的 SVM 必须加入一个 AD 域。在我们的案例中,这个域称为 BUILDLOCAL。请注意,如果使用托管 AD,则我们无法拥有完全的域管理权限,因此我们必须提供已配置的 OU即 OU=buildDC=buildDC=local。如果您使用的是托管 AD,可以从控制台获取 DNS 服务器 IP 地址。否则,请联系您的 Windows 管理员。
图 7 FSx for ONTAP SVM 配置
图 8 FSx for ONTAP SVM 设置
当我们的 SVMsvm22准备好后如上图所示,我们创建了两个卷:一个为 usergrp1100 MiB,另一个为 usergrp2200 MiB以供测试,如 图 9 所示。
图 9 FSx for ONTAP 卷设置
步骤 4 设置 Transit Gateway 和 AWS RAM
回顾一下,