

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

# 访问您的 fo FSx r ONTAP 数据
<a name="supported-fsx-clients"></a>

您可以在本地和本地环境中使用各种支持的客户端和方法访问您的 Amazon FSx 文件系统。 AWS 云 

每个 SVM 都有四个端点，用于使用 NetApp ONTAP CLI 或 REST API 访问数据或管理 SVM：
+ `Nfs`：用于使用网络文件系统（NFS）协议进行连接
+ `Smb`：用于使用服务消息块（SMB）协议进行连接（如果您的 SVM 已加入 Active Directory，或者您正在使用工作组。）
+ `Iscsi`：用于使用 Internet 小型计算机系统接口（iSCSI）协议进行连接，支持共享块存储。
+ `Nvme`— 用于使用非易失性存储器 Express (NVMe) TCP/IP 进行连接，以支持共享块存储。
+ `Management`— 用于 SVMs 使用 NetApp ONTAP CLI、API 或控制台进行 NetApp 管理

**注意**  
iSCSI 协议适用于所有拥有 6 个或更少的[高可用性（HA）对](HA-pairs.md)的文件系统。该 NVMe/TCP 协议适用于具有 6 个或更少 HA 对的第二代文件系统。

**Topics**
+ [

## 支持的客户端
](#supported-clients-fsx)
+ [

## 使用块存储协议
](#using-block-storage)
+ [

## 从内部访问数据 AWS 云
](#access-environments)
+ [

## 从本地访问数据
](#accessing-data-from-on-premises)
+ [

# 配置路由以从 VPC 之外访问多可用区文件系统
](configuring-routing-using-AWSTG.md)
+ [

# 配置路由以从本地访问多可用区文件系统
](configure-routing-maz-on-prem.md)
+ [

# 在 Linux 客户端上挂载卷
](attach-linux-client.md)
+ [

# 在 Microsoft Windows 客户端上挂载卷
](attach-windows-client.md)
+ [

# 在 macOS 客户端上挂载卷
](attach-mac-client.md)
+ [

# 为 Linux 配置 iSCSI
](mount-iscsi-luns-linux.md)
+ [

# 为 Windows 配置 iSCSI
](mount-iscsi-windows.md)
+ [

# 为 Linux 配置 NVMe/TCP
](provision-nvme-linux.md)
+ [

# 通过 Amazon S3 接入点访问您的数据
](accessing-data-via-s3-access-points.md)
+ [

# 访问来自其他 AWS 服务的数据
](using-fsx-with-other-AWS-services.md)

## 支持的客户端
<a name="supported-clients-fsx"></a>

FSx for ONTAP 文件系统支持访问来自各种计算实例和操作系统的数据。它通过支持使用网络文件系统（NFS）协议（v3、v4.0、v4.1 和 v4.2）、所有版本的服务器消息块（SMB）协议（包括 2.0、3.0 和 3.1.1）以及 Internet 小型计算机系统接口（iSCSI）协议进行访问来实现这一点。

**重要**  
Amazon FSx 不支持从公共互联网访问文件系统。Amazon FSx 会自动分离任何弹性 IP 地址，该地址是可从互联网访问的公有 IP 地址，该地址连接到文件系统的弹性网络接口。

ONTAP 支持以下 AWS 计算实例与 ONTAP 一起 FSx 使用：
+ 运行支持 NFS 或 SMB 的 Linux、Microsoft Windows 和 macOS 的 Amazon Elastic Compute Cloud（Amazon EC2）实例。有关更多信息，请参阅 [在 Linux 客户端上挂载卷](attach-linux-client.md) [在 Microsoft Windows 客户端上挂载卷](attach-windows-client.md) 和 [在 macOS 客户端上挂载卷](attach-mac-client.md)。
+ Amazon EC2 Windows 和 Linux 实例上的 Amazon Elastic Container Service（Amazon ECS）Docker 容器。有关更多信息，请参阅 [将亚马逊弹性容器服务与 ONTAP FSx 配合使用](mount-ontap-ecs-containers.md)。
+ *亚马逊 ELastic Kubernetes Service — 要了解更多信息，请参阅[亚马逊 EKS 用户指南中的 FSx 亚马逊 NetApp ONTAP CSI](https://docs.aws.amazon.com/eks/latest/userguide/fsx-ontap.html) 驱动程序。*
+ 开启红帽 OpenShift 服务 AWS (ROSA) — 要了解更多信息，请参阅[红帽 OpenShift 服务在做什么 AWS？](https://docs.aws.amazon.com/ROSA/latest/userguide/what-is-rosa.html) 在《红帽 OpenShift 服务 AWS 用户指南》中。
+ 亚马逊 WorkSpaces 实例。有关更多信息，请参阅 [将 Amazon WorkSpaces 与 FSx for ONTAP 配合使用](using-workspaces.md)。
+ 亚马逊 AppStream 2.0 实例。
+ AWS Lambda — 有关更多信息，请参阅 AWS 博客文章使用 [Amazon 为无服务器工作负载启用 SMB 访问权限](https://aws.amazon.com/blogs/storage/enabling-smb-access-for-serverless-workloads/)。 FSx
+ 在 VMware 云端 AWS 环境中运行的虚拟机 (VMs)。有关更多信息，请参阅《[使用亚马逊 NetApp ONTAP 版部署指南》将 FSx 适用于 ONTAP AWS 的亚马逊配置 FSx 为外部存储](https://docs.vmware.com/en/VMware-Cloud-on-AWS/services/com.vmware.vmc-aws-operations/GUID-D55294A3-7C40-4AD8-80AA-B33A25769CCA.html?hWord=N4IghgNiBcIGYGcAeIC+Q)[和 NetApp 开启VMware 云](https://vmc.techzone.vmware.com/fsx-guide#overview)。

装载后， FSx ONTAP 文件系统在 NFS 和 SMB 上显示为本地目录或驱动器号，提供完全托管的共享网络文件存储，最多可由成千上万个客户机同时访问。通过 iSCSI 挂载时，iSCSI LUN 可以作为块设备进行访问。

## 使用块存储协议
<a name="using-block-storage"></a>

Amazon FSx NetApp for ONTAP 支持互联网小型计算机系统接口 (iSCSI) 和基于 TCP 的非易失性内存 Express (NVMe)（NVMe/TCP) block storage protocols. In Storage Area Network (SAN) environments, storage systems are targets that have storage target devices. For iSCSI, the storage target devices are referred to as logical units (LUNs). For NVMe/TCP，存储目标设备称为命名空间）。

您可以使用 SVM 的 iSCSI 逻辑接口 (LIF) 连接两者和 NVMe iSCSI 块存储。

您可以通过为 iSCSI 创建和 LUNs 为创建命名空间来配置存储。 NVMe LUNs 然后，主机可以使用 iSCSI 或 TCP 协议访问命名空间。

有关配置 iSCSI 和 NVMe/TCP 块存储的更多信息，请参阅：
+ [为 Linux 配置 iSCSI](mount-iscsi-luns-linux.md)
+ [为 Windows 配置 iSCSI](mount-iscsi-windows.md)
+ [为 Linux 配置 NVMe/TCP](provision-nvme-linux.md)

## 从内部访问数据 AWS 云
<a name="access-environments"></a>

每个亚马逊 FSx 文件系统都与虚拟私有云 (VPC) 关联。无论可用区在哪里，您都可以从文件系统 VPC 中的任何位置访问您的 for ONTAP 文件系统。 FSx 您也可以从其他帐户访问您的文件系统 VPCs ，这些帐户可能位于不同的 AWS 帐户或 AWS 区域. 除了以下各节中描述的访问 FSx ONTAP 资源的要求外，您还需要确保配置文件系统的 VPC 安全组，以便数据和管理流量可以在文件系统和客户端之间流动。有关为使用所需端口配置安全组的更多信息，请参阅 [Amazon VPC 安全组](limit-access-security-groups.md#fsx-vpc-security-groups)。

### 访问同一 VPC 中的数据
<a name="same-vpc-access"></a>

创建 FSx 适用于 NetApp ONTAP 的亚马逊文件系统时，您可以选择该文件系统所在的亚马逊 VPC。与 Amazon FSx for NetApp ONTAP 文件系统关联的所有 SVMs 和卷也位于同一 VPC 中。挂载卷时，如果文件系统和装载卷的客户端位于同一 VPC 中 AWS 账户，则可以使用 SVM 的 DNS 名称和卷连接或 SMB 共享，具体取决于客户端。

如果客户端和卷与文件系统的子网位于同一个可用区，或者多可用区文件系统的首选子网中，则可以实现最佳性能。要识别文件系统的子网或首选子网，请在 Amazon FSx 控制台中选择 “**文件系统**”，然后选择要安装其卷的 ONTAP 文件系统，子网或首选子网（多可用区）将显示在 “子网” 或 “**首选子****网**” 面板中。

### 从部署 VPC 外部访问数据
<a name="access-from-outside-deployment-vpc"></a>

本节介绍如何从文件系统的部署 VPC 之外的 AWS 位置访问 FSx 适用于 ONTAP 文件系统的终端节点。

#### 访问多可用区文件系统上的 NFS、SMB 和 ONTAP 管理端点
<a name="access-maz-with-direct-connect"></a>

Amazon 上 FSx 适用于 ONTAP 多可用区文件系统的 NFS、SMB 和 NetApp ONTAP 管理终端节点使用浮动互联网协议 (IP) 地址，因此在故障转移事件期间，连接的客户端可以在首选文件服务器和备用文件服务器之间无缝切换。有关失效转移的更多信息，请参阅[FSx for ONTAP 失效转移过程](high-availability-AZ.md#Failover)。

这些浮动 IP 地址在您与文件系统关联的 VPC 路由表中创建，且位于您在创建时所指定文件系统的 `EndpointIPv4AddressRange` 或 `EndpointIPv6AddressRange` 中。根据文件系统的创建方式，端点 IP 地址范围使用以下地址范围：
+ 默认情况下，使用亚马逊 FSx 控制台或 Amazon FSx API 创建的多可用区双栈文件系统使用亚马逊 FSx 从 VPC 的 CIDR 范围中选择的可用 /118 IP 地址范围。您可以将部署在同一个 VPC/route 表中的文件系统的端点 IP 地址重叠，只要它们不与任何子网重叠即可。
+ 默认情况下，使用 IPv4 Amazon FSx 控制台创建的仅限多可用区的文件系统使用 VPC 主 CIDR 范围中的最后 64 个 IP 地址作为文件系统的终端节点 IP 地址范围。

  默认情况下，使用或 IPv4 A AWS CLI mazon FSx API 创建的仅限多可用区的文件系统使用地址块内的 IP `198.19.0.0/16` 地址范围作为终端节点 IP 地址范围。
+ 对于任一网络类型，您也可以在使用**标准创建**选项时指定自己的 IP 地址范围。只要不与任何子网重叠，而且尚未经具有相同 VPC 和路由表的其他文件系统使用，您选择的 IP 地址范围可以在 VPC 的 IP 地址范围内，也可以在 VPC 的 IP 地址范围外。对于此选项，我们建议使用在 VPC 的 IP 地址范围内的范围。

仅 [AWS Transit Gateway](https://aws.amazon.com/transit-gateway/?whats-new-cards.sort-by=item.additionalFields.postDateTime&whats-new-cards.sort-order=desc) 支持路由到浮动 IP 地址，也称为传递的对等。VPC 对等互连 Direct Connect、、 Site-to-Site VPN 不支持传递对等。因此，您需要使用中转网关才能从文件系统 VPC 之外的网络访问这些接口。

下图说明了如何使用 NFS、SMB 或管理端点的中转网关访问多可用区文件系统，该多可用区文件系统与访问它的客户端位于不同的 VPC 中。

![\[\]](http://docs.aws.amazon.com/zh_cn/fsx/latest/ONTAPGuide/images/fsx-ontap-multi-az-access-transit-gateway.png)


**注意**  
确保您使用的所有路由表都与您的多可用区文件系统相关联。这样做有助于防止失效转移期间出现不可用问题。有关将 Amazon VPC 路由表与文件系统关联的信息，请参阅 [更新文件系统](updating-file-system.md)。

有关何时需要使用 Transit Gateway 访问 FSx 适用于 ONTAP 的文件系统的信息，请参阅[什么时候需要中转网关？](#when-is-transit-gateway-required)。

Amazon 使用基于标签的身份验证 FSx 管理多可用区文件系统的 VPC 路由表。这些路由表标有 `Key: AmazonFSx; Value: ManagedByAmazonFSx`。使用 FSx 为 ONTAP 多可用区文件系统创建或更新时， CloudFormation 我们建议您手动添加`Key: AmazonFSx; Value: ManagedByAmazonFSx`标签。

#### 访问单可用区文件系统的 NFS、SMB 或 ONTAP CLI 和 API
<a name="access-saz"></a>

用于通过 NFS 或 SMB 访问 FSx ONTAP 单可用区文件系统以及使用 ONTAP CLI 或 REST API 管理文件系统的终端节点是活动文件服务器弹性网卡上的辅助 IP 地址。辅助 IP 地址在 VPC 的 CIDR 范围内，因此客户端可以使用 VPC 对等互连或 Site-to-Site VPN 不要求访问数据和管理端口。 AWS Direct Connect AWS Transit Gateway

下图说明了使用 Site-to-Site VPN 或用 Direct Connect 于 NFS、SMB 或管理访问单可用区文件系统，该单可用区文件系统与访问它的客户端位于不同的 VPC 中。

![\[\]](http://docs.aws.amazon.com/zh_cn/fsx/latest/ONTAPGuide/images/fsx-ontap-single-az-access-vpc-peering.png)


#### 什么时候需要中转网关？
<a name="when-is-transit-gateway-required"></a>

您的多可用区文件系统是否需要中转网关取决于您访问文件系统数据所使用的方法。单可用区文件系统不需要中转网关。下表描述了何时需要使用 AWS Transit Gateway 访问多可用区文件系统。


| 数据访问 | 需要中转网关？ | 
| --- | --- | 
|   FSx 通过 NFS、SMB 或 NetApp ONTAP REST API、CLI 进行访问。或 NetApp Console  |  前提是： [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/fsx/latest/ONTAPGuide/supported-fsx-clients.html)  | 
| 通过 iSCSI 访问数据 | 否 | 
| 通过访问数据 NVMe | 否 | 
| 将 SVM 加入 Active Directory | 否 | 
| SnapMirror | 否 | 
| FlexCache 缓存 | 否 | 
| 全局文件缓存 | 否 | 

#### 在部署 VPC 之外访问 NVMe、iSCSI 和集群间终端节点
<a name="access-iscsi-or-inter-cluster-endpoints-outside-deployment-vpc"></a>

您可以使用 VPC 对等互连，也可以从文件系统的部署 VPC 外部访问文件系统 NVMe、iSCSI 和集群间终端节点。 AWS Transit Gateway 您可以使用 VPC 对等互连在两者之间路由 NVMe、iSCSI 和集群间流量。 VPCsVPC 对等连接是两者之间的网络连接 VPCs，用于使用私有 IPv6 地址 IPv4 或地址在两者之间路由流量。您可以使用 VPC 对等互连 VPCs 在同一个 AWS 区域 或不同 AWS 区域的 VPC 之间进行连接。有关 VPC 对等的更多信息，请参阅《Amazon VPC 对等指南》**中的[什么是 VPC 对等？](https://docs.aws.amazon.com/vpc/latest/peering/what-is-vpc-peering.html)。

## 从本地访问数据
<a name="accessing-data-from-on-premises"></a>

您可以使用[Site-to-Site VPN](https://aws.amazon.com/vpn/)和从本地访问您 FSx 的 for ONTAP 文件系统 [Direct Connect](https://aws.amazon.com/getting-started/projects/connect-data-center-to-aws/)；以下各节中提供了更具体的用例指南。除了下面列出的从本地访问不同 FSx For ONTAP 资源的任何要求外，您还需要确保文件系统的 VPC 安全组允许数据在文件系统和客户端之间流动；有关所需端口的列表，请参阅 [Amazon VPC 安全组](https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/limit-access-security-groups.html#fsx-vpc-security-groups)。

### 从本地访问 NFS、SMB 和 ONTAP CLI 及 REST API 端点
<a name="access-NFS-SMB-or-CLI-API-endpoints-from-on-premises"></a>

本节介绍如何从本地网络访问 ONTAP 文件系统上 FSx 的 NFS、SMB 和 ONTAP 管理端口。

#### 从本地访问多可用区文件系统
<a name="access-multi-az-fs"></a>

Amazon FSx 要求您使用 AWS Transit Gateway 或配置远程 NetApp全局文件缓存 NetApp FlexCache ，或者从本地网络访问多可用区文件系统。为了支持多可用区文件系统的跨可用区域故障转移，Amazon FSx 使用浮动 IP 地址作为用于 NFS、SMB 和 ONTAP 管理终端节点的接口。

由于 NFS、SMB 和管理端点使用浮动 IP 地址，因此必须与本地网络结合使用[AWS Transit Gateway](https://aws.amazon.com/transit-gateway/?whats-new-cards.sort-by=item.additionalFields.postDateTime&whats-new-cards.sort-order=desc) AWS Direct Connect 或 Site-to-Site VPN 访问这些接口。用于这些接口的浮动 IP 地址位于您在创建多可用区文件系统时指定的 `EndpointIPv4AddressRange` 或 `EndpointIPv6AddressRange` 范围内。根据文件系统的创建方式，端点 IP 地址范围使用以下地址范围：
+ 默认情况下，使用亚马逊 FSx 控制台或 Amazon FSx API 创建的多可用区双栈文件系统使用亚马逊 FSx 从 VPC 的 CIDR 范围中选择的可用 /118 IP 地址范围。您可以将部署在同一个 VPC/route 表中的文件系统的端点 IP 地址重叠，只要它们不与任何子网重叠即可。
+ 默认情况下，使用 IPv4 Amazon FSx 控制台创建的仅限多可用区的文件系统使用 VPC 主 CIDR 范围中的最后 64 个 IP 地址作为文件系统的终端节点 IP 地址范围。

  默认情况下，使用或 IPv4 A AWS CLI mazon FSx API 创建的仅限多可用区的文件系统使用地址块内的 IP `198.19.0.0/16` 地址范围作为终端节点 IP 地址范围。
+ 对于任一网络类型，您也可以在使用**标准创建**选项时指定自己的 IP 地址范围。只要不与任何子网重叠，而且尚未经具有相同 VPC 和路由表的其他文件系统使用，您选择的 IP 地址范围可以在 VPC 的 IP 地址范围内，也可以在 VPC 的 IP 地址范围外。对于此选项，我们建议使用在 VPC 的 IP 地址范围内的范围。

浮动 IP 地址用于在需要进行失效转移时将您的客户端无缝过渡到备用文件系统。有关更多信息，请参阅 [FSx for ONTAP 失效转移过程](high-availability-AZ.md#Failover)。

**重要**  
要使用中转网关访问多可用区文件系统，必须在其路由表与您的文件系统关联的子网中创建中转网关的每个附件。

有关更多信息，请参阅 [配置路由以从本地访问多可用区文件系统](configure-routing-maz-on-prem.md)。

#### 从本地访问单可用区文件系统
<a name="access-single-az-fs"></a>

对于单可用区文件系统，不存在从本地网络访问数据的要求。 AWS Transit Gateway 单可用区文件系统部署在单个子网中，无需使用浮动 IP 地址即可在节点之间进行失效转移。取而代之的是，您在单可用区文件系统上访问的 IP 地址将作为文件系统的 VPC CIDR 范围内的辅助 IP 地址实现，从而使您无需 AWS Transit Gateway即可从其他网络访问数据。

### 从本地访问集群间端点
<a name="access-inter-cluster-endpoints-from-on-premises"></a>

FSx 对于 ONTAP 的集群间终端节点专门用于 NetApp ONTAP 文件系统之间的复制流量，包括本地 NetApp 部署之间和 FSx ONTAP 之间的复制流量。复制流量包括 SnapMirror、 FlexCache、、存储虚拟机 (SVMs) 与不同文件系统的卷之间的 FlexClone关系，以及 NetApp 全局文件缓存。集群间端点也用于 Active Directory 流量。

由于文件系统的集群间终端节点使用的 IP 地址在您为 ONTAP 创建文件系统时提供的 VPC 的 CIDR 范围内，因此您无需使用 Transit Gateway 在本地和之间路由集群间流量。 FSx AWS 云但是，本地客户端仍然必须使用 Site-to-Site VPN 或 Direct Connect 与您的 VPC 建立安全连接。

有关更多信息，请参阅 [配置路由以从本地访问多可用区文件系统](configure-routing-maz-on-prem.md)。

# 配置路由以从 VPC 之外访问多可用区文件系统
<a name="configuring-routing-using-AWSTG"></a>

如果您的多可用区文件系统位于`EndpointIPv4AddressRange`或超出您`EndpointIPv6AddressRange`的 VPC 的 IP 地址范围，则需要在中设置额外的路由， AWS Transit Gateway 以便从对等网络或本地网络访问您的文件系统。

**重要**  
要使用中转网关访问多可用区文件系统，必须在其路由表与您的文件系统关联的子网中创建中转网关的每个附件。

**注意**  
对于在 VPC 的 IP 地址范围内使用端点 IP 地址范围的单可用区文件系统或多可用区文件系统，无需进行额外的中转网关配置。

**使用配置路由 AWS Transit Gateway**

1. 打开亚马逊 FSx 控制台，网址为[https://console.aws.amazon.com/fsx/](https://console.aws.amazon.com/fsx/)。

1.  FSx 为要配置对等网络访问的 ONTAP 文件系统选择。

1. 在**网络与安全**中，复制端点 IP 地址范围。

1. 向中转网关添加一条路由，将发往此 IP 地址范围的流量路由到您的文件系统的 VPC。有关更多信息，请参阅《Amazon VPC 中转网关》**中的[使用中转网关](https://docs.aws.amazon.com/vpc/latest/tgw/working-with-transit-gateways.html)。

1. 确认您可以从对等网络访问您 FSx 的 for ONTAP 文件系统。

要将路由表添加到您的文件系统，请参阅 [更新文件系统](updating-file-system.md)。

**注意**  
管理、NFS 和 SMB 端点的 DNS 记录只能从与文件系统相同的 VPC 中解析。要挂载卷或从其他网络连接到管理端口，您需要使用端点的 IP 地址。这些 IP 地址不会随着时间的推移而改变。

# 配置路由以从本地访问多可用区文件系统
<a name="configure-routing-maz-on-prem"></a>

**配置 AWS Transit Gateway 为从本地访问多可用区文件系统**

如果您的多可用区文件系统位于`EndpointIPv4AddressRange`或超出您`EndpointIPv6AddressRange`的 VPC 的 CIDR 范围，则需要在中设置额外的路由，才能从 AWS Transit Gateway 对等网络或本地网络访问您的文件系统。
**注意**  
对于在 VPC 的 IP 地址范围内使用端点 IP 地址范围的单可用区文件系统或多可用区文件系统，无需进行额外的中转网关配置。

1. 打开亚马逊 FSx 控制台，网址为[https://console.aws.amazon.com/fsx/](https://console.aws.amazon.com/fsx/)。

1.  FSx 为要配置对等网络访问的 ONTAP 文件系统选择。

1. 在 “**网络和安全**” 中，复制**端点 IPv4 或 IPv6 地址范围**。

1. 向中转网关添加一条路由，将发往此 IP 地址范围的流量路由到您的文件系统的 VPC。有关更多信息，请参阅《Amazon VPC 中转网关用户指南》**中的[使用中转网关](https://docs.aws.amazon.com/vpc/latest/tgw/working-with-transit-gateways.html)。

1. 确认您可以从对等网络访问您 FSx 的 for ONTAP 文件系统。

**重要**  
要使用中转网关访问多可用区文件系统，必须在其路由表与您的文件系统关联的子网中创建中转网关的每个附件。如果您有单独的 Transit Gateway 连接子网，则还必须将这些子网的路由表与 Amazon 关联起来， FSx 以便使用亚马逊 FSx 终端节点地址对其进行更新。

要将路由表添加到您的文件系统，请参阅 [更新文件系统](updating-file-system.md)。

# 在 Linux 客户端上挂载卷
<a name="attach-linux-client"></a>

我们建议您要使用 Linux 客户端装载的卷将安全样式设置为`UNIX`。有关更多信息，请参阅 [管理 FSx ONTAP 卷](managing-volumes.md)。

**注意**  
默认情况下， FSx 对于 ONTAP，NFS 挂载是挂载。`hard`为了确保在发生失效转移时能够顺利进行失效转移，我们建议您使用默认 `hard` 挂载选项。

**在 Linux 客户端上挂载 ONTAP 卷**

1. 打开位于 [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) 的 Amazon EC2 控制台。

1. 创建或选择一个运行 Amazon Linux 2 的 Amazon EC2 实例，该实例与文件系统在同一个 VPC 中。

   有关启动 EC2 Linux 实例的更多信息，请参阅*《Amazon EC2 用户指南》*中的[步骤 1：启动实例](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EC2_GetStarted.html#ec2-launch-instance)。

1. 连接到 Amazon EC2 Linux 实例。有关更多信息，请参阅*《Amazon EC2 用户指南》*中的[连接到 Linux 实例](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AccessingInstances.html)。

1. 使用Secure Shell（SSH）在 EC2 实例上打开终端，然后使用相应的凭证登录。

1. 在 EC2 实例上创建用于挂载 SVM 卷的目录，如下所示：

   ```
   sudo mkdir /fsx
   ```

1. 使用以下命令在您在上一步中创建的目录挂载卷：

   ```
   sudo mount -t nfs svm-dns-name:/volume-junction-path /fsx
   ```

   以下示例使用示例值。

   ```
   sudo mount -t nfs svm-01234567890abdef0.fs-01234567890abcdef1.fsx.us-east-1.amazonaws.com:/vol1 /fsx
   ```

   您也可以使用 SVM 的 IP 地址来代替其 DNS 名称。我们建议使用 DNS 名称将客户端挂载至第二代文件系统，因为这有助于确保客户端在文件系统的高可用性（HA）对中保持平衡。

   ```
   sudo mount -t nfs 198.51.100.1:/vol1 /fsx
   ```
**注意**  
对于第二代文件系统，默认启用并行 NFS（PnFS）协议，并默认用于任何挂载 NFS v4.1 或更高版本的卷的客户端。

## 使用 /etc/fstab 在实例重启时自动挂载
<a name="mount-fs-auto-mount-update-fstab"></a>

要在 Amazon EC2 Linux 实例重启时自动重新挂载 FSx for ONTAP 卷，请使用 `/etc/fstab` 文件。`/etc/fstab` 文件包含有关文件系统的信息。命令 `mount -a` 会在实例启动期间运行，用于挂载 `/etc/fstab` 中列出的文件系统。

**注意**  
FSx 适用于 ONTAP 文件系统不支持`/etc/fstab`在亚马逊 EC2 Mac 实例上使用自动挂载。

**注意**  
在更新 EC2 实例`/etc/fstab`的文件之前，请确保您已经创建了 FSx 适用于 ONTAP 的文件系统。有关更多信息，请参阅 [创建文件系统](creating-file-systems.md)。

**更新 EC2 实例上的 /etc/fstab 文件**

1. 连接到 EC2 实例：
   + 要从运行 macOS 或 Linux 的计算机连接到您的实例，请为 SSH 命令指定 .pem 文件。要执行该操作，请使用 `-i` 选项和私有密钥路径。
   + 要从运行 Windows 的计算机连接到您的实例，您可以使用 MindTerm 或 PuTTY。要使用 PuTTY，您需要安装它并将 .pem 文件转换为 .ppk 文件。

   有关更多信息，请参阅 *Amazon EC2 用户指南* 中的以下主题：
   +  [使用 SSH 连接到 Linux 实例](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AccessingInstancesLinux.html)
   +  [使用 PuTTY 从 Windows 连接到 Linux 实例](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/putty.html) 

1. 创建用于挂载 SVM 卷的本地目录。

   ```
   sudo mkdir /fsx
   ```

1. 在选定编辑器中打开 `/etc/fstab` 文件。

1. 将以下行添加到 `/etc/fstab` 文件中。在每个参数之间插入一个制表符。它应该显示为一行，不带换行符。

   ```
   svm-dns-name:volume-junction-path /fsx nfs nfsvers=version,defaults 0 0
   ```

   您也可以使用卷的 SVM 的 IP 地址。最后三个参数表示 NFS 选项（我们将其设置为默认值）、文件系统转储和文件系统检查（通常不使用这些选项，因此我们将它们设置为 0）。

1. 保存对文件所做的更改。

1. 现在使用以下命令挂载文件共享。下次系统启动时，该文件夹将自动挂载。

   ```
   sudo mount /fsx
   sudo mount svm-dns-name:volume-junction-path
   ```

您的 EC2 实例现已配置为每次重启时都挂载 ONTAP 卷。

# 在 Microsoft Windows 客户端上挂载卷
<a name="attach-windows-client"></a>

本节介绍如何使用运行 Microsoft Windows 操作系统的客户端访问你 FSx 的 for ONTAP 文件系统中的数据。无论您使用哪种类型的客户端，均请查看以下要求。

此过程假设客户端和文件系统位于同一 VPC 和 AWS 账户中。如果客户端位于本地或其他 VPC 或 AWS 区域中 AWS 账户，则此过程还假设您已使用 AWS Transit Gateway 或使用私有安全隧道设置 AWS Direct Connect 或专用网络连接。 AWS Virtual Private Network有关更多信息，请参阅 [从部署 VPC 外部访问数据](supported-fsx-clients.md#access-from-outside-deployment-vpc)。

我们建议您使用 SMB 协议将卷附加到 Windows 客户端。

## 先决条件
<a name="attach-win-prereqs"></a>

要使用 Microsoft Windows 客户端访问 ONTAP 存储卷，您必须满足以下先决条件：
+ 您要附加的卷的 SVM 必须加入组织的 Active Directory，或者您必须使用工作组。有关将 SVM 加入 Active Directory 的更多信息，请参阅 [管理 FSx ONTAP 存储虚拟机](managing-svms.md)。有关使用工作组的更多信息，请参阅 [在工作组中设置 SMB 服务器](smb-server-workgroup-setup.md)。
+ 要附加的卷的安全风格应设置为 `NTFS`。有关更多信息，请参阅 [卷安全风格](managing-volumes.md#volume-security-style)。

**使用 SMB 和 Active Directory 在 Windows 客户端上挂载卷**

1. 打开位于 [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) 的 Amazon EC2 控制台。

1. 创建或选择一个运行 Microsoft Windows 的 Amazon EC2 实例，该实例与文件系统位于同一 VPC 中，并与卷的 SVM 加入同一个 Microsoft Active Directory。

   有关启动实例的更多信息，请参阅《Amazon EC2 用户指南》**中的[步骤 1：启动实例](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/EC2_GetStarted.html#ec2-launch-instance)。

   有关将 SVM 加入 Active Directory 的更多信息，请参阅 [管理 FSx ONTAP 存储虚拟机](managing-svms.md)。

1. 连接到您的 Amazon EC2 Windows 实例。有关详细信息，请参阅*《Amazon EC2 用户指南》*中的[连接到 Windows 实例](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/connecting_to_windows_instance.html)。

1. 打开命令提示符。

1. 运行如下命令。替换以下内容：
   + 将 `Z:` 替换为任何可用的驱动器号。
   + 将 `DNS_NAME` 替换为卷的 SVM 的 SMB 端点的 DNS 名称或 IP 地址。
   + 将 `SHARE_NAME` 替换为 SMB 共享的名称。`C$` 是 SVM 命名空间根目录下的默认 SMB 共享，但您不应将其挂载，因为这会将存储暴露给根卷并有可能导致安全问题和服务中断。您应该提供要挂载的 SMB 共享名称，而不是 `C$`。有关创建 SMB 共享的更多信息，请参阅 [管理 SMB 共享](create-smb-shares.md)。

   ```
   net use Z: \\DNS_NAME\SHARE_NAME
   ```

   以下示例使用示例值。

   ```
   net use Z: \\corp.example.com\group_share
   ```

   您也可以使用 SVM 的 IP 地址来代替其 DNS 名称。我们建议使用 DNS 名称将客户端挂载至第二代文件系统，因为这有助于确保客户端在文件系统的高可用性（HA）对中保持平衡。

   ```
   net use Z: \\198.51.100.5\group_share
   ```

# 在 macOS 客户端上挂载卷
<a name="attach-mac-client"></a>

本节介绍如何使用运行 macOS 操作系统的客户端访问您 FSx 的 for ONTAP 文件系统中的数据。无论您使用哪种类型的客户端，均请查看以下要求。

此过程假设客户端和文件系统位于同一 VPC 和 AWS 账户中。如果客户端位于本地，或者位于其他 VPC 中， AWS 账户 或者 AWS 区域，您已使用 AWS Transit Gateway 或使用私有、安全的隧道设置 AWS Direct Connect 或专用网络连接。 AWS Virtual Private Network有关更多信息，请参阅 [从部署 VPC 外部访问数据](supported-fsx-clients.md#access-from-outside-deployment-vpc)。

我们建议您使用 SMB 协议将卷附加到 Mac 客户端。

**使用 SMB 在 macOS 客户端上挂载 ONTAP 卷**

1. 打开位于 [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) 的 Amazon EC2 控制台。

1. 创建或选择一个运行 macOS 的 Amazon EC2 Mac 实例，该实例与文件系统在同一个 VPC 中。

   有关启动实例的更多信息，请参阅*《Amazon EC2 用户指南》*中的[步骤 1：启动实例](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-mac-instances.html#mac-instance-launch)。

1. 连接到您的 Amazon EC2 Mac 实例。有关更多信息，请参阅*《Amazon EC2 用户指南》*中的[连接到 Linux 实例](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AccessingInstances.html)。

1. 使用Secure Shell（SSH）在 EC2 实例上打开终端，然后使用相应的凭证登录。

1. 在 EC2 实例上创建用于挂载卷的目录，如下所示：

   ```
   sudo mkdir /fsx
   ```

1. 使用以下命令挂载卷。

   ```
   sudo mount -t smbfs filesystem-dns-name:/smb-share-name mount-point
   ```

   以下示例使用示例值。

   ```
   sudo mount -t smbfs svm-01234567890abcde2.fs-01234567890abcde5.fsx.us-east-1.amazonaws.com:/C$ /fsx
   ```

   您也可以使用 SVM 的 IP 地址来代替其 DNS 名称。我们建议使用 DNS 名称将客户端挂载至第二代文件系统，因为这有助于确保客户端在文件系统的高可用性（HA）对中保持平衡。

   ```
   sudo mount -t smbfs 198.51.100.10:/C$ /fsx
   ```

   `C$` 是默认 SMB 共享，您可以挂载它来查看 SVM 命名空间根目录。如果您已在 SVM 中创建了任何服务器消息块（SMB）共享，则要提供 SMB 共享名称，而不是 `C$`。有关创建 SMB 共享的更多信息，请参阅 [管理 SMB 共享](create-smb-shares.md)。

**使用 NFS 在 macOS 客户端上挂载 ONTAP 卷**

1. 打开位于 [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) 的 Amazon EC2 控制台。

1. 创建或选择一个运行 Amazon Linux 2 的 Amazon EC2 实例，该实例与文件系统在同一个 VPC 中。

   有关启动 EC2 Linux 实例的更多信息，请参阅*《Amazon EC2 用户指南》*中的[步骤 1：启动实例](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EC2_GetStarted.html#ec2-launch-instance)。

1. 连接到 Amazon EC2 Linux 实例。有关更多信息，请参阅*《Amazon EC2 用户指南》*中的[连接到 Linux 实例](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AccessingInstances.html)。

1. 在实例启动期间使用用户数据脚本或运行以下命令，在 Linux EC2 实例上挂载 FSx for ONTAP 卷：

   ```
   sudo mount -t nfs -o nfsvers=NFS_version svm-dns-name:/volume-junction-path /mount-point
   ```

   以下示例使用示例值。

   ```
   sudo mount -t nfs -o nfsvers=4.1 svm-01234567890abdef0.fs-01234567890abcdef1.fsx.us-east-1.amazonaws.com:/vol1 /fsxontap
   ```

   您也可以使用 SVM 的 IP 地址来代替其 DNS 名称。我们建议使用 DNS 名称将客户端挂载至第二代文件系统，因为这有助于确保客户端在文件系统的 HA 对中保持平衡。

   ```
   sudo mount -t nfs -o nfsvers=4.1 198.51.100.1:/vol1 /fsxontap
   ```

1. 使用以下命令在您在上一步中创建的目录挂载卷：

   ```
   sudo mount -t nfs svm-dns-name:/volume-junction-path /fsx
   ```

   以下示例使用示例值。

   ```
   sudo mount -t nfs svm-01234567890abdef0.fs-01234567890abcdef1.fsx.us-east-1.amazonaws.com:/vol1 /fsx
   ```

   您也可以使用 SVM 的 IP 地址来代替其 DNS 名称。我们建议使用 DNS 名称将客户端挂载至第二代文件系统，因为这有助于确保客户端在文件系统的高可用性（HA）对中保持平衡。

   ```
   sudo mount -t nfs 198.51.100.1:/vol1 /fsx
   ```

# 为 Linux 配置 iSCSI
<a name="mount-iscsi-luns-linux"></a>

FSx for ONTAP 支持 iSCSI 协议。您需要在 Linux 客户端和文件系统上配置 iSCSI，才能使用 iSCSI 协议在客户端和文件系统之间传输数据。iSCSI 协议适用于所有拥有 6 个或更少的[高可用性（HA）对](HA-pairs.md)的文件系统。

在适用于 NetApp ONTAP 的 Amazon FSx 上配置 iSCSI 有三个主要步骤，这些步骤将在以下过程中进行介绍：

1. 在 Linux 主机上安装和配置 iSCSI 客户端。

1. 在文件系统的 SVM 上配置 iSCSI。
   + 创建 iSCSI 启动器组。
   + 将启动器组映射到 LUN。

1. 在 Linux 客户端上挂载 iSCSI LUN。

## 开始前的准备工作
<a name="iscsi-linux-byb"></a>

在开始为 iSCSI 配置文件系统之前，需要完成以下各项。
+ 创建 FSx for ONTAP 文件系统。有关更多信息，请参阅 [创建文件系统](creating-file-systems.md)。
+ 在文件系统上创建 iSCSI LUN。有关更多信息，请参阅 [创建 iSCSI LUN](create-iscsi-lun.md)。
+ 在与文件系统相同的 VPC 中创建一个运行 Amazon Linux 2 亚马逊机器映像（AMI）的 Amazon EC2 实例。这是您配置 iSCSI 和访问文件数据所在的 Linux 主机。

  在这些过程的范围之外，如果主机位于其他 VPC 中，则可以使用 VPC 对等连接或 AWS Transit Gateway 来授予其他 VPC 访问该卷的 iSCSI 端点的权限。有关更多信息，请参阅 [从部署 VPC 外部访问数据](supported-fsx-clients.md#access-from-outside-deployment-vpc)。
+ 配置 Linux 主机的 VPC 安全组，允许入站和出站流量，如 [使用 Amazon VPC 进行文件系统访问控制](limit-access-security-groups.md) 中所述。
+ 获取具有 `fsxadmin` 权限的 ONTAP 用户的凭证，此权限用于访问 ONTAP CLI。有关更多信息，请参阅 [ONTAP 用户和角色](roles-and-users.md)。
+ 您将要为 iSCSI 配置并用于访问 FSx for ONTAP 文件系统的 Linux 主机位于同一 VPC 和 AWS 账户 中。
+ 我们建议您将 EC2 实例与文件系统的首选子网放入同一个可用区，如下图所示。  
![\[该图所示为配备 iSCSI LUN 和 Amazon EC2 实例的适用于 NetApp ONTAP 的 Amazon FSx 文件系统与文件系统的首选子网位于同一个可用区。\]](http://docs.aws.amazon.com/zh_cn/fsx/latest/ONTAPGuide/images/fsx-ontap-iscsi-mnt-client.png)

如果 EC2 实例运行的 Linux AMI 与 Amazon Linux 2 不同，则这些过程和示例中使用的某些实用程序可能已安装，并且您可能会使用不同的命令来安装所需的软件包。除了安装软件包外，本节中使用的命令还适用于其他 EC2 Linux AMI。

**Topics**
+ [

## 开始前的准备工作
](#iscsi-linux-byb)
+ [

## 在 Linux 主机上安装和配置 iSCSI
](#configure-iscsi-on-linux-client)
+ [

## 在 FSx for ONTAP 文件系统上配置 iSCSI
](#configure-iscsi-on-fsx-ontap)
+ [

## 在 Linux 客户端上挂载 iSCSI LUN
](#mount-iscsi-lun-on-linux-client)

## 在 Linux 主机上安装和配置 iSCSI
<a name="configure-iscsi-on-linux-client"></a>

**安装 iSCSI 客户端**

1. 确认 `iscsi-initiator-utils` 和 `device-mapper-multipath` 并已安装在您的 Linux 设备上。使用 SSH 客户端连接到 Linux 实例。有关更多信息，请参阅[使用 SSH 连接到 Linux 实例](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AccessingInstancesLinux.html)。

1. 使用以下命令安装 `multipath` 和 iSCSI 客户端。如果您希望在文件服务器之间自动失效转移，则必须安装 `multipath`。

   ```
   ~$ sudo yum install -y device-mapper-multipath iscsi-initiator-utils
   ```

1. 使用 `multipath` 期间，为了便于在进行文件服务器之间的自动失效转移时更快做出响应，请将 `/etc/iscsi/iscsid.conf` 文件中的替换超时值设置为值 `5`，而不是使用默认值 `120`。

   ```
   ~$ sudo sed -i 's/node.session.timeo.replacement_timeout = .*/node.session.timeo.replacement_timeout = 5/' /etc/iscsi/iscsid.conf; sudo cat /etc/iscsi/iscsid.conf | grep node.session.timeo.replacement_timeout
   ```

1. 启动 iSCSI 服务。

   ```
   ~$ sudo service iscsid start
   ```

   请注意，根据您的 Linux 版本，您可能需要改为使用以下命令：

   ```
   ~$ sudo systemctl start iscsid
   ```

1. 使用以下命令确认正在运行服务：

   ```
   ~$ sudo systemctl status iscsid.service
   ```

   系统将使用以下输出做出响应：

   ```
   iscsid.service - Open-iSCSI 
       Loaded: loaded (/usr/lib/systemd/system/iscsid.service; disabled; vendor preset: disabled) 
       Active: active (running) since Fri 2021-09-02 00:00:00 UTC; 1min ago
       Docs: man:iscsid(8)
       man:iscsiadm(8)
       Process: 14658 ExecStart=/usr/sbin/iscsid (code=exited, status=0/SUCCESS)
       Main PID: 14660 (iscsid)
       CGroup: /system.slice/iscsid.service
       ├─14659 /usr/sbin/iscsid
       └─14660 /usr/sbin/iscsid
   ```

**在您的 Linux 客户端上配置 iSCSI**

1. 您须要配置多路径来使客户端能够在文件服务器之间自动进行失效转移。使用以下命令：

   ```
   ~$ sudo mpathconf --enable --with_multipathd y
   ```

1. 使用以下命令确定 Linux 主机的启动程序名称。启动程序名称的位置取决于您的 iSCSI 实用程序。如果您正在使用 `iscsi-initiator-utils`，则启动程序名称位于文件 `/etc/iscsi/initiatorname.iscsi` 中。

   ```
   ~$ sudo cat /etc/iscsi/initiatorname.iscsi
   ```

   系统使用启动程序名称做出响应。

   ```
   InitiatorName=iqn.1994-05.com.redhat:abcdef12345
   ```

## 在 FSx for ONTAP 文件系统上配置 iSCSI
<a name="configure-iscsi-on-fsx-ontap"></a>

1. 在 FSx for ONTAP 文件系统上，使用以下命令连接到您在其中创建了 iSCSI LUN 的 NetApp ONTAP CLI。有关更多信息，请参阅 [使用 NetApp ONTAP CLI](managing-resources-ontap-apps.md#netapp-ontap-cli)。

   ```
   ~$ ssh fsxadmin@your_management_endpoint_ip
   ```

1. 使用 NetApp ONTAP CLI 命令 [https://docs.netapp.com/us-en/ontap-cli-9111/lun-igroup-create.html](https://docs.netapp.com/us-en/ontap-cli-9111/lun-igroup-create.html) 创建启动程序组（`igroup`）。启动程序组会映射到 iSCSI LUN，并控制哪些启动程序（客户端）可以访问 LUN。将 `host_initiator_name` 替换为在上一过程中从 Linux 主机中检索到的启动程序名称。

   ```
   ::> lun igroup create -vserver svm_name -igroup igroup_name -initiator host_initiator_name -protocol iscsi -ostype linux 
   ```

   如果要使映射到此 igroup 的 LUN 可供多个主机使用，您可以指定多个启动程序名称，以逗号分隔。有关更多信息，请参阅 *NetApp ONTAP 文档中心*中的[创建 LUN igroup](https://docs.netapp.com/us-en/ontap-cli-9111/lun-igroup-create.html)。

1. 使用命令 [https://docs.netapp.com/us-en/ontap-cli-9111/lun-igroup-show.html](https://docs.netapp.com/us-en/ontap-cli-9111/lun-igroup-show.html) 确认存在 `igroup`：

   ```
   ::> lun igroup show
   ```

   系统将使用以下输出做出响应：

   ```
   Vserver   Igroup       Protocol OS Type  Initiators
   --------- ------------ -------- -------- ------------------------------------
   svm_name  igroup_name  iscsi    linux    iqn.1994-05.com.redhat:abcdef12345
   ```

1. 此步骤假定您已创建了 iSCSI LUN。如果您尚未创建，请参阅 [创建 iSCSI LUN](create-iscsi-lun.md) 的分步说明来创建。

   使用 [https://docs.netapp.com/us-en/ontap-cli-9111/lun-mapping-create.html](https://docs.netapp.com/us-en/ontap-cli-9111/lun-mapping-create.html) 来创建从已创建的 LUN 到已创建的 igroup 的映射，并指定以下属性：
   + `svm_name` – 提供 iSCSI 目标的存储虚拟机的名称。主机使用此值来连接 LUN。
   + `vol_name` – 托管 LUN 的卷的名称。
   + `lun_name` – 已分配给 LUN 的名称。
   + `igroup_name` – 启动程序组的名称。
   + `lun_id` – LUN ID 整数是特定于映射的，而不是 LUN 本身。igroup 中的启动程序将其用作逻辑单元号，并在访问存储器时为启动程序使用此值。

   ```
   ::> lun mapping create -vserver svm_name -path /vol/vol_name/lun_name -igroup igroup_name -lun-id lun_id
   ```

1. 使用 [https://docs.netapp.com/us-en/ontap-cli-9111/lun-show.html](https://docs.netapp.com/us-en/ontap-cli-9111/lun-show.html) 命令确认 LUN 已创建、已联机且已映射。

   ```
   ::> lun show -path /vol/vol_name/lun_name -fields state,mapped,serial-hex
   ```

   系统将使用以下输出做出响应：

   ```
    Vserver    Path                           serial-hex               state    mapped
    --------- ------------------------------- ------------------------ -------- --------
    svm_name  /vol/vol_name/lun_name          6c5742314e5d52766e796150 online   mapped
   ```

   保存 `serial_hex` 值（在本例中为 `6c5742314e5d52766e796150`），您将在之后的步骤中使用该值为块设备创建易记名称。

1. 使用 [https://docs.netapp.com/us-en/ontap-cli-9111/network-interface-show.html](https://docs.netapp.com/us-en/ontap-cli-9111/network-interface-show.html) 命令检索您在其中创建 iSCSI LUN 的 SVM 的 `iscsi_1` 和 `iscsi_2` 接口的地址。

   ```
   ::> network interface show -vserver svm_name
   ```

   系统将使用以下输出做出响应：

   ```
               Logical               Status     Network            Current                    Current Is 
   Vserver     Interface             Admin/Oper Address/Mask       Node                       Port    Home
   ----------- ----------            ---------- ------------------ -------------              ------- ----
   svm_name
               iscsi_1               up/up      172.31.0.143/20    FSxId0123456789abcdef8-01  e0e     true
               iscsi_2               up/up      172.31.21.81/20    FSxId0123456789abcdef8-02  e0e     true
               nfs_smb_management_1 
                                     up/up      198.19.250.177/20  FSxId0123456789abcdef8-01  e0e     true
   3 entries were displayed.
   ```

   在此示例中，`iscsi_1` 的 IP 地址是 `172.31.0.143`，`iscsi_2` 的IP 地址是 `172.31.21.81`。

## 在 Linux 客户端上挂载 iSCSI LUN
<a name="mount-iscsi-lun-on-linux-client"></a>

在 Linux 客户端上挂载 iSCSI LUN 的过程包括三个步骤：

1. 发现目标 iSCSI 节点

1. 对 iSCSI LUN 进行分区

1. 在客户端上挂载 iSCSI LUN

以下过程将详述这些步骤。

**发现目标 iSCSI 节点**

1. 在 Linux 客户端上，使用以下命令来发现使用 `iscsi_1` 的 IP 地址 *iSCSI\$11\$1IP* 的目标 iSCSI 节点。

   ```
   ~$ sudo iscsiadm --mode discovery --op update --type sendtargets --portal iscsi_1_IP
   ```

   ```
   172.31.0.143:3260,1029 iqn.1992-08.com.netapp:sn.9cfa2c41207a11ecac390182c38bc256:vs.3
   172.31.21.81:3260,1028 iqn.1992-08.com.netapp:sn.9cfa2c41207a11ecac390182c38bc256:vs.3
   ```

   在此示例中，`iqn.1992-08.com.netapp:sn.9cfa2c41207a11ecac390182c38bc256:vs.3` 对应于首选可用区中的 iSCSI LUN 的`target_initiator`。

1. （可选）要为 iSCSI LUN 带来高于 Amazon EC2 单一客户端最大 5Gbps（约 625MBps）的吞吐量，请按照《适用于 Linux 实例的 Amazon Elastic Compute Cloud 用户指南》中的 [Amazon EC2 实例网络带宽](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-network-bandwidth.html)描述的过程，为提高吞吐量建立更多的会话。

   以下命令会在每个可用区中为每个 ONTAP 节点的每个启动程序建立 8 个会话，使客户端能够向 iSCSI LUN 提供高达 40Gbps（5000MBps）的聚合吞吐量。

   ```
   ~$ sudo iscsiadm --mode node -T target_initiator --op update -n node.session.nr_sessions -v 8
   ```

1. 登录到目标启动程序。您的 iSCSI LUN 显示为可用磁盘。

   ```
   ~$ sudo iscsiadm --mode node -T target_initiator --login
   ```

   ```
   Logging in to [iface: default, target: iqn.1992-08.com.netapp:sn.9cfa2c41207a11ecac390182c38bc256:vs.3, portal: 172.31.14.66,3260] (multiple)
   Login to [iface: default, target: iqn.1992-08.com.netapp:sn.9cfa2c41207a11ecac390182c38bc256:vs.3, portal: 172.31.14.66,3260] successful.
   ```

   上述输出已被截断；您应该会在每个文件服务器上看到针对每个会话的一个 `Logging in` 和一个 `Login successful` 响应。如果每个节点有 4 个会话，则会有 8 个 `Logging in` 和 8 个 `Login successful` 响应。

1. 使用以下命令，通过显示具有多个策略的单个 LUN 来验证 `dm-multipath` 是否已识别并合并 iSCSI。列为 `active` 和列为 `enabled` 的设备数量应相等。

   ```
   ~$ sudo multipath -ll
   ```

   在输出中，磁盘名称的格式为`dm-xyz`，其中 `xyz` 为整数。如果不存在其他多路径磁盘，则此值为 `dm-0`。

   ```
   3600a09806c5742314e5d52766e79614f dm-xyz NETAPP  ,LUN C-Mode      
   size=10G features='4 queue_if_no_path pg_init_retries 50 retain_attached_hw_handle' hwhandler='0' wp=rw
   |-+- policy='service-time 0' prio=50 status=active
   | |- 0:0:0:1 sda     8:0   active ready running
   | |- 1:0:0:1 sdc     8:32  active ready running
   | |- 3:0:0:1 sdg     8:96  active ready running
   | `- 4:0:0:1 sdh     8:112 active ready running
   `-+- policy='service-time 0' prio=10 status=enabled
     |- 2:0:0:1 sdb     8:16  active ready running
     |- 7:0:0:1 sdf     8:80  active ready running
     |- 6:0:0:1 sde     8:64  active ready running
     `- 5:0:0:1 sdd     8:48  active ready running
   ```

   您的块设备现已连接到 Linux 客户端。其位于 `/dev/dm-xyz` 路径之下。您不应将此路径用于管理目的；而应使用 `/dev/mapper/wwid` 路径下的符号链接，其中 `wwid` 是适用于 LUN 的唯一标识符，在不同设备之间保持一致。在下一步中，您需要为 `wwid` 提供一个易记名称，以使其能够其区别于其他多路径磁盘。

**为块设备分配一个易记名称**

1. 要为您的设备提供易记名称，请在 `/etc/multipath.conf` 文件中创建别名。为此，请使用首选文本编辑器将以下条目添加到文件中，替换以下占位符：
   + 使用您在 [在 FSx for ONTAP 文件系统上配置 iSCSI](#configure-iscsi-on-fsx-ontap) 过程中保存的值来替换 `serial_hex`。
   + 如示例所示，将前缀 `3600a0980` 添加到值 `serial_hex` 中。这是用于适用于 NetApp ONTAP 的 Amazon FSx 的 NetApp ONTAP 发行版的唯一序言。
   + 将 `device_name` 替换为您要在设备上使用的易记名称。

   ```
   multipaths {
       multipath {
           wwid 3600a0980serial_hex
           alias device_name
       }
   }
   ```

   或者，您可以复制以下脚本并保存为 bash 文件，例如 `multipath_alias.sh`。您可以使用 sudo 权限运行脚本，使用相应的序列号和期望的易记名称来替换 `serial_hex`（不带 3600a0980 前缀）和 `device_name`。此脚本会在 `/etc/multipath.conf` 文件中搜索未取消注释的 `multipaths` 部分。如果存在，它会在该部分中附加一个 `multipath` 条目；否则，它将创建一个新的 `multipaths` 部分，其中包含适用于您的块设备的 `multipath` 条目的。

   ```
   #!/bin/bash
   SN=serial_hex
   ALIAS=device_name
   CONF=/etc/multipath.conf
   grep -q '^multipaths {' $CONF
   UNCOMMENTED=$?
   if [ $UNCOMMENTED -eq 0 ]
   then
           sed -i '/^multipaths {/a\\tmultipath {\n\t\twwid 3600a0980'"${SN}"'\n\t\talias '"${ALIAS}"'\n\t}\n' $CONF
   else
           printf "multipaths {\n\tmultipath {\n\t\twwid 3600a0980$SN\n\t\talias $ALIAS\n\t}\n}" >> $CONF
   fi
   ```

1. 重新启动 `multipathd` 服务以使对 `/etc/multipathd.conf` 的更改生效。

   ```
   ~$ systemctl restart multipathd.service
   ```

**对 LUN 进行分区**

下一步是使用 `fdisk` 格式化您的 LUN 并对其进行分区。

1. 使用以下命令验证您的 `device_name` 路径是否存在。

   ```
   ~$ ls /dev/mapper/device_name
   ```

   ```
   /dev/device_name
   ```

1. 使用 `fdisk` 对磁盘进行分区。您需要输入交互式提示。按显示的顺序输入选项。您可以使用小于最后一个扇区的值来创建多个分区（在本例中为 `20971519`）。
**注意**  
`Last sector` 值将根据 iSCSI LUN 的大小（在本例中为 10 GB）而改变。

   ```
   ~$ sudo fdisk /dev/mapper/device_name
   ```

   开始进行 `fsdisk` 交互式提示。

   ```
   Welcome to fdisk (util-linux 2.30.2). 
   
   Changes will remain in memory only, until you decide to write them. 
   Be careful before using the write command. 
   
   Device does not contain a recognized partition table. 
   Created a new DOS disklabel with disk identifier 0x66595cb0. 
   
   Command (m for help): n 
   Partition type 
      p primary (0 primary, 0 extended, 4 free) 
      e extended (container for logical partitions) 
   Select (default p): p 
   Partition number (1-4, default 1): 1 
   First sector (2048-20971519, default 2048): 2048 
   Last sector, +sectors or +size{K,M,G,T,P} (2048-20971519, default 20971519): 20971519
                                       
   Created a new partition 1 of type 'Linux' and of size 512 B.
   Command (m for help): w
   The partition table has been altered.
   Calling ioctl() to re-read partition table. 
   Syncing disks.
   ```

   输入 `w` 后，您的新分区 `/dev/mapper/partition_name` 即变为可用。*partition\$1name* 的格式为*<device\$1name>**<partition\$1number>*。`1` 已用作在上一步 `fdisk` 命令中使用的分区编号。

1. 使用 `/dev/mapper/partition_name` 作为创建文件系统的路径。

   ```
   ~$ sudo mkfs.ext4 /dev/mapper/partition_name
   ```

   系统将使用以下输出做出响应：

   ```
   mke2fs 1.42.9 (28-Dec-2013)
   Discarding device blocks: done 
   Filesystem label=
   OS type: Linux
   Block size=4096 (log=2)
   Fragment size=4096 (log=2)
   Stride=0 blocks, Stripe width=16 blocks
   655360 inodes, 2621184 blocks
   131059 blocks (5.00%) reserved for the super user
   First data block=0
   Maximum filesystem blocks=2151677952
   80 block groups
   32768 blocks per group, 32768 fragments per group
   8192 inodes per group
   Superblock backups stored on blocks: 
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632
   Allocating group tables: done 
   Writing inode tables: done 
   Creating journal (32768 blocks): done
   Writing superblocks and filesystem accounting information: done
   ```

**在 Linux 客户端上挂载 LUN**

1. 创建一个目录 *directory\$1path* 作为文件系统的挂载点。

   ```
   ~$ sudo mkdir /directory_path/mount_point
   ```

1. 使用以下命令挂载文件系统。

   ```
   ~$ sudo mount -t ext4 /dev/mapper/partition_name /directory_path/mount_point
   ```

1. （可选）如果要向特定用户授予挂载目录的所有权，请将 *`username`* 替换为拥有者的用户名。

   ```
   ~$ sudo chown username:username /directory_path/mount_point
   ```

1. （可选）验证您是否可以从文件系统读取数据和将数据写入文件系统。

   ```
   ~$ echo "Hello world!" > /directory_path/mount_point/HelloWorld.txt
   ~$ cat directory_path/HelloWorld.txt
   Hello world!
   ```

   您已在 Linux 客户端上成功创建并挂载了 iSCSI LUN。

# 为 Windows 配置 iSCSI
<a name="mount-iscsi-windows"></a>

FSx 适用于 ONTAP 支持 iSCSI 协议。您需要在 Windows 客户端和 SVM 及 卷上配置 iSCSI，才能使用 iSCSI 协议在客户端和文件系统之间传输数据。iSCSI 协议适用于所有拥有 6 个或更少的[高可用性（HA）对](HA-pairs.md)的文件系统。

这些步骤中提供的示例说明了如何在客户端上为 ONTAP 文件系统配置 iSCSI 协议，以及如何使用以下设置： FSx 
+ 正在挂载到 Windows 主机的 iSCSI LUN 已创建。有关更多信息，请参阅 [创建 iSCSI LUN](create-iscsi-lun.md)。
+ 正在挂载 iSCSI LUN 的 Microsoft Windows 主机是运行 Microsoft Windows Server 2019 亚马逊机器映像（AMI）的 Amazon EC2 实例。为允许入站和出站流量，它已配置 VPC 安全组，如 [使用 Amazon VPC 进行文件系统访问控制](limit-access-security-groups.md) 中所述。

  您可能需要在设置过程中使用不同的 Microsoft Windows AMI。
+ 客户端和文件系统位于同一 VPC 和 AWS 账户中。如果客户端位于其他 VPC 中，则可以使用 VPC 对等互连或 AWS Transit Gateway 向其他人授予对 iSCSI 终端节点的 VPCs 访问权限。有关更多信息，请参阅 [从部署 VPC 外部访问数据](supported-fsx-clients.md#access-from-outside-deployment-vpc)。

  我们建议您将 EC2 实例与文件系统的首选子网放入同一个可用区，如下图所示。

![\[该图显示了适用于 NetApp ONTAP 的 Amazon FSx 文件系统，该文件系统具有 iSCSI LUN，Amazon EC2 实例与文件系统的首选子网位于同一个可用区。\]](http://docs.aws.amazon.com/zh_cn/fsx/latest/ONTAPGuide/images/fsx-ontap-iscsi-mnt-client.png)


**Topics**
+ [

## 在 Windows 客户端上配置 iSCSI
](#configure-iscsi-win-client)
+ [

## 在 ONTAP 文件系统 FSx 上配置 iSCSI
](#configure-iscsi-on-ontap-win)
+ [

## 在 Windows 客户端上挂载 iSCSI LUN
](#configure-iscsi-on-fsx)
+ [

## 验证 iSCSI 配置
](#validate-iscsi-windows)

## 在 Windows 客户端上配置 iSCSI
<a name="configure-iscsi-win-client"></a>

1. 使用 Windows 远程桌面连接到要在其上挂载 iSCSI LUN 的 Windows 客户端。有关更多信息，请参阅《Amazon Elastic Compute Cloud 用户指南》**中的[使用 RDP 连接到 Windows 实例](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/connecting_to_windows_instance.html#connect-rdp)。

1. 以管理员 PowerShell 身份打开窗口。使用以下命令在 Windows 实例上启用 iSCSI，并将 iSCSI 服务配置为自动启动。

   ```
   PS C:\> Start-Service MSiSCSI 
   PS C:\> Set-Service -Name msiscsi -StartupType Automatic
   ```

1. 检索您的 Windows 实例的启动程序名称。您将使用 ONTAP CLI 在 FSx 适用于 ONTAP 的文件系统上配置 iSCS NetApp I 时使用此值。

   ```
   PS C:\> (Get-InitiatorPort).NodeAddress
   ```

   系统使用启动程序端口做出响应。

   ```
   iqn.1991-05.com.microsoft:ec2amaz-abc123d 
   ```

1. 您需要在 Windows 实例上安装 `Multipath-IO`（MPIO），以使客户端能够在文件服务器之间自动进行失效转移。使用以下命令：

   ```
   PS C:\> Install-WindowsFeature Multipath-IO
   ```

1. `Multipath-IO` 安装完成后重启 Windows 实例。保持您的 Windows 实例处于打开状态，以便执行后续部分中的 iSCSI LUN 挂载步骤。

## 在 ONTAP 文件系统 FSx 上配置 iSCSI
<a name="configure-iscsi-on-ontap-win"></a>

1. 要访问 ONTAP CLI，请运行以下命令在 Amazon FSx for NetApp ONTAP 文件系统或 SVM 的管理端口上建立 SSH 会话。将 `management_endpoint_ip` 替换为文件系统管理端口的 IP 地址。

   ```
   [~]$ ssh fsxadmin@management_endpoint_ip
   ```

   有关更多信息，请参阅 [使用 ONTAP CLI 管理文件系统](managing-resources-ontap-apps.md#fsxadmin-ontap-cli)。

1. 使用 ONTAP CLI [https://docs.netapp.com/us-en/ontap-cli-9141/lun-igroup-create.html](https://docs.netapp.com/us-en/ontap-cli-9141/lun-igroup-create.html) 创建启动程序组或 `igroup`。启动器组映射到 iSCSI LUNs 并控制哪些启动器（客户端）可以访问。 LUNs将 `host_initiator_name` 替换为在上一过程中从 Windows 主机中检索到的启动程序名称。

   ```
   ::> lun igroup create -vserver svm_name -igroup igroup_name -initiator host_initiator_name -protocol iscsi -ostype windows
   ```

   如果要将 LUNs 映射到此映射的`igroup`内容可供多台主机使用，则可以使用 CLI [https://docs.netapp.com/us-en/ontap-cli-9141/lun-create.html#parameters](https://docs.netapp.com/us-en/ontap-cli-9141/lun-create.html#parameters)ONTAP命令指定多个以逗号分隔的启动器名称。

1. 使用 `igroup` [lun igroup show ](https://docs.netapp.com/us-en/ontap-cli-9141/lun-igroup-show.html)ONTAP CLI 命令确认是否创建成功：

   ```
   ::> lun igroup show
   ```

   系统将使用以下输出做出响应：

   ```
   Vserver    Igroup        Protocol OS Type  Initiators 
   ---------  ------------  -------- -------- ------------------------------------ 
   svm_name   igroup_name   iscsi    windows  iqn.1994-05.com.windows:abcdef12345
   ```

   `igroup`创建完成后，您就可以创建它们 LUNs 并将其映射到`igroup`。

1. 此步骤假定您已创建了 iSCSI LUN。如果没有，[创建 iSCSI LUN](create-iscsi-lun.md)请参见以 step-by-step获取操作说明。

   从 LUN 创建一个新 LUN 的映射到 `igroup`。

   ```
   ::> lun mapping create -vserver svm_name -path /vol/vol_name/lun_name -igroup igroup_name -lun-id lun_id
   ```

1. 使用以下命令确认 LUN 已创建、已联机且已映射：

   ```
   ::> lun show -path /vol/vol_name/lun_name 
   Vserver     Path                            State   Mapped   Type     Size 
   ---------   ------------------------------- ------- -------- -------- -------- 
   svm_name    /vol/vol_name/lun_name          online  mapped   windows  10GB
   ```

   现在，您可以在 Windows 实例上添加 iSCSI 目标。

1. 使用以下命令检索 SVM 的 `iscsi_1` 和 `iscsi_2` 接口的 IP 地址：

   ```
   ::> network interface show -vserver svm_name
   ```

   ```
               Logical    Status     Network            Current       Current Is 
   Vserver     Interface  Admin/Oper Address/Mask       Node          Port    Home 
   ----------- ---------- ---------- ------------------ ------------- ------- ---- 
   svm_name 
               iscsi_1    up/up      172.31.0.143/20    FSxId0123456789abcdef8-01 
                                                                      e0e     true 
               iscsi_2    up/up      172.31.21.81/20    FSxId0123456789abcdef8-02 
                                                                      e0e     true 
               nfs_smb_management_1 
                          up/up      198.19.250.177/20  FSxId0123456789abcdef8-01 
                                                                      e0e     true 
   3 entries were displayed.
   ```

   在此示例中，`iscsi_1` 的 IP 地址是 `172.31.0.143`，`iscsi_2` 的IP 地址是 `172.31.21.81`。

## 在 Windows 客户端上挂载 iSCSI LUN
<a name="configure-iscsi-on-fsx"></a>

1. 在你的 Windows 实例上，以管理员身份打开 PowerShell 终端。

1. 您将创建一个用于执行以下操作的 `.ps1` 脚本：
   + 连接到文件系统的每个 iSCSI 接口。
   + 为 iSCSI 添加和配置 MPIO。
   + 为每个 iSCSI 连接建立 8 个会话，这使客户机能够向 iSCSI LUN 驱动高达 40 Gbps (5,000 MBps) 的聚合吞吐量。拥有 8 个会话可确保单个客户端可以驱动全部的 4,000 MBps 吞吐容量，以达到最高级别 FSx 的 ONTAP 吞吐容量。您可以选择通过修改变量将会话数更改为更高或更少的会话数（每个会话最多可提供 625 MBps 的吞吐`RecommendedConnectionCount`量）。有关更多信息，请参阅《Amazon Elastic Compute Cloud 用户指南（适用于 Windows 实例）》**中的 [Amazon EC2 实例网络带宽](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ec2-instance-network-bandwidth.html)。

   将以下一组命令复制到文件中，创建 `.psl` 脚本。
   + 将 `iscsi_1` 和 `iscsi_2` 替换为在上一步中检索到的 IP 地址。
   + 将 `ec2_ip` 替换为 Windows 实例的 IP 地址。

   ```
   Write-Host "Starting iSCSI connection setup..."
        $TargetPortalAddresses = @("iscsi_1","iscsi_2"); $LocaliSCSIAddress = "ec2_ip"
        $RecommendedConnectionCount = 8
   
        Foreach ($TargetPortalAddress in $TargetPortalAddresses) {
            New-IscsiTargetPortal -TargetPortalAddress $TargetPortalAddress -TargetPortalPortNumber 3260 -InitiatorPortalAddress $LocaliSCSIAddress
        }
   
        New-MSDSMSupportedHW -VendorId MSFT2005 -ProductId iSCSIBusType_0x9
   
        $currentMPIOSettings = Get-MPIOSetting
        if ($currentMPIOSettings.PathVerificationState -ne 'Enabled') {
            Write-Host "Setting MPIO path verification state to Enabled"; Set-MPIOSetting -NewPathVerificationState Enabled
        } else { Write-Host "MPIO path verification state already Enabled" }
   
        $portalConnectionCounts = @{}
        foreach ($TargetPortalAddress in $TargetPortalAddresses) { $portalConnectionCounts[$TargetPortalAddress] = 0 }
   
        $sessions = Get-IscsiSession
        if ($sessions) {
            foreach ($session in $sessions) {
                if ($session.IsConnected) {
                    $targetPortal = (Get-IscsiTargetPortal -iSCSISession $session).TargetPortalAddress
                    if ($portalConnectionCounts.ContainsKey($targetPortal)) { $portalConnectionCounts[$targetPortal]++ }
                }
            }
        }
   
        foreach ($TargetPortalAddress in $TargetPortalAddresses) {
            $existingCount = $portalConnectionCounts[$TargetPortalAddress]; $remainingConnections = $RecommendedConnectionCount - $existingCount
            Write-Host "Portal $TargetPortalAddress has $existingCount existing connections, $remainingConnections remaining (max recommended: $RecommendedConnectionCount)"
            if ($remainingConnections -gt 0) {
                Write-Host "Creating $remainingConnections connections for portal $TargetPortalAddress"
                1..$remainingConnections | ForEach-Object {
                    Get-IscsiTarget | Connect-IscsiTarget -IsMultipathEnabled $true -TargetPortalAddress $TargetPortalAddress -InitiatorPortalAddress $LocaliSCSIAddress -IsPersistent $true
                }
            } else { Write-Host "Maximum connections (8) reached for portal $TargetPortalAddress" }
        }
   
        Set-MSDSMGlobalDefaultLoadBalancePolicy -Policy RR
   ```

1. 启动 Windows 的“磁盘管理”应用程序。打开 Windows 的“运行”对话框，输入 `diskmgmt.msc`，然后按 **Enter**。然后，“磁盘管理”应用程序随之打开。  
![\[系统会显示 Windows 的“磁盘管理”窗口。\]](http://docs.aws.amazon.com/zh_cn/fsx/latest/ONTAPGuide/images/DiskMgmt.png)

1. 找到未分配的磁盘，那个就是 iSCSI LUN。在此示例中，“Disk 1”即为 iSCSI 磁盘。其处于离线状态。  
![\[将光标置于磁盘 1 上方时显示的面板。\]](http://docs.aws.amazon.com/zh_cn/fsx/latest/ONTAPGuide/images/GoOnline.png)

   将光标悬停在 **Disk 1 ** 上方，单击右键，然后选择**联机**，即可使该卷联机。
**注意**  
您可以修改存储区域网络（SAN）策略，以使新卷能够自动联机。有关更多信息，请参阅 *Microsoft Windows Server 命令参考*中的 [SAN 策略](https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/san)。

1. 要初始化磁盘，请右键单击 **Disk 1**，然后选择**初始化**。系统将显示“初始化”对话框。选择**确定**即可初始化磁盘。

1. 像往常一样格式化磁盘。格式化完成后，iSCSI 驱动器就会在 Windows 客户端上显示为可用驱动器。

## 验证 iSCSI 配置
<a name="validate-iscsi-windows"></a>

我们提供了一个检查 iSCSI 设置是否配置正确的脚本。该脚本检查会话计数、节点分布和多路径 I/O (MPIO) 状态等参数。以下任务介绍了如何安装和使用此脚本。<a name="validate-iscsi-windows-procedure"></a>

**验证 iSCSI 配置**

1. 打开窗户 PowerShell 窗口。

1. 使用以下命令下载脚本。

   ```
   PS C:\> Invoke-WebRequest "https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/samples/CheckiSCSI.zip" -OutFile "CheckiSCSI.zip"
   ```

1. 使用以下命令下载 zip 文件。

   ```
   PS C:\> Expand-Archive -Path ".\CheckiSCSI.zip" -DestinationPath "./"
   ```

1. 使用以下命令运行脚本。

   ```
   PS C:\> ./CheckiSCSI.ps1
   ```

1. 查看输出以了解配置的当前状态。以下示例演示了成功的 iSCSI 配置。

   ```
   PS C:\> ./CheckiSCSI.ps1
   
   This script checks the iSCSI configuration on the local instance.
   It will provide information about the number of connected sessions, connected file servers, and MPIO status.
                               
   MPIO is installed on this server.
   
   MPIO Load Balance Policy is set to Round Robin (RR).
   Initiator: 'iqn.1991-05.com.microsoft:ec2amaz-d2cebnb'
   to Target: 'iqn.1992-08.com.netapp:sn.13266b10e61411ee8bc0c76ad263d613:vs.3'
   has 16 total sessions (16 active, 0 non-active)
   spread across 2 node(s).
   MPIO: Yes
   ```

# 为 Linux 配置 NVMe/TCP
<a name="provision-nvme-linux"></a>

FSx for ONTAP 支持基于 TCP 的非易失性存储规范（NVMe/TCP）块存储协议。凭借 NVMe/TCP，您可以使用 ONTAP CLI 配置命名空间和子系统，然后将命名空间映射到子系统，这与配置 LUN 并将其映射到 iSCSI 启动器组（igroup）的方式类似。NVMe/TCP 协议适用于拥有 6 个或更少[高可用性（HA）对](HA-pairs.md)的第二代文件系统。

**注意**  
FSx for ONTAP 文件系统在 iSCSI 和 NVMe/TCP 块存储协议中均使用 SVM 的 iSCSI 端点。

在适用于 NetApp ONTAP 的 Amazon FSx 上配置 NVMe/TCP 有三个主要步骤，这些步骤将在以下过程中进行介绍：

1. 在 Linux 主机上安装和配置 NVMe 客户端。

1. 在文件系统的 SVM 上配置 NVMe。
   + 创建 NVMe 命名空间。
   + 创建 NVMe 子系统。
   + 将命名空间映射到子系统。
   + 将客户端 NQN 添加到子系统。

1. 在 Linux 客户端上挂载 NVMe 设备。

## 开始前的准备工作
<a name="nvme-tcp-linux-byb"></a>

在开始为 NVMe/TCP 配置文件系统之前，需要完成以下各项。
+ 创建 FSx for ONTAP 文件系统。有关更多信息，请参阅 [创建文件系统](creating-file-systems.md)。
+ 在与文件系统相同的 VPC 中创建一个运行 Red Hat Enterprise（RHEL）9.3 的 EC2 实例。这是您配置 NVMe 和使用 Linux 版 NVMe/TCP 访问文件数据所在的 Linux 主机。

  在这些过程的范围之外，如果主机位于其他 VPC 中，则可以使用 VPC 对等连接或 AWS Transit Gateway 来授予其他 VPC 访问该卷的 iSCSI 端点的权限。有关更多信息，请参阅 [从部署 VPC 外部访问数据](supported-fsx-clients.md#access-from-outside-deployment-vpc)。
+ 配置 Linux 主机的 VPC 安全组，允许入站和出站流量，如 [使用 Amazon VPC 进行文件系统访问控制](limit-access-security-groups.md) 中所述。
+ 获取具有 `fsxadmin` 权限的 ONTAP 用户的凭证，此权限用于访问 ONTAP CLI。有关更多信息，请参阅 [ONTAP 用户和角色](roles-and-users.md)。
+ 您将要为 NVMe 配置并用于访问 FSx for ONTAP 文件系统的 Linux 主机位于同一 VPC 和 AWS 账户 中。
+ 我们建议使 EC2 实例与文件系统的首选子网处于同一个可用区。

如果 EC2 实例运行的 Linux AMI 与 RHEL 9.3 不同，则这些过程和示例中使用的某些实用程序可能已安装，并且您可能会使用不同的命令来安装所需的软件包。除了安装软件包外，本节中使用的命令还适用于其他 EC2 Linux AMI。

**Topics**
+ [

## 开始前的准备工作
](#nvme-tcp-linux-byb)
+ [

## 在 Linux 主机上安装和配置 NVMe
](#configure-nvme-on-rhel93)
+ [

## 在 FSx for ONTAP 文件系统上配置 NVMe
](#configure-nvme-on-svm)
+ [

## 在 Linux 客户端上挂载 NVMe 设备。
](#add-nvme-on-rhel93-host)

## 在 Linux 主机上安装和配置 NVMe
<a name="configure-nvme-on-rhel93"></a>

**安装 NVMe 客户端**

1. 使用 SSH 客户端连接到 Linux 实例。有关更多信息，请参阅[使用 SSH 从 Linux 或 macOS 连接到 Linux 实例](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/connect-linux-inst-ssh.html)。

1. 使用以下命令安装 `nvme-cli`：

   ```
   ~$ sudo yum install -y nvme-cli
   ```

1. 将 `nvme-tcp` 模块加载到主机上：

   ```
   $ sudo modprobe nvme-tcp
   ```

1. 使用以下命令获取 Linux 主机的 NVMe 限定名称（NQN）：

   ```
   $ cat /etc/nvme/hostnqn
   nqn.2014-08.org.nvmexpress:uuid:9ed5b327-b9fc-4cf5-97b3-1b5d986345d1
   ```

   请记录响应，以便在后续步骤中使用。

## 在 FSx for ONTAP 文件系统上配置 NVMe
<a name="configure-nvme-on-svm"></a>

**在文件系统上配置 NVMe**

在您计划创建 NVMe 设备所在的 FSx for ONTAP 文件系统上连接 ONTAP CLI。

1. 要访问 ONTAP CLI，请运行以下命令，在适用于 NetApp ONTAP 的 Amazon FSx 文件系统或 SVM 的管理端口上建立 SSH 会话。将 `management_endpoint_ip` 替换为文件系统管理端口的 IP 地址。

   ```
   [~]$ ssh fsxadmin@management_endpoint_ip
   ```

   有关更多信息，请参阅 [使用 ONTAP CLI 管理文件系统](managing-resources-ontap-apps.md#fsxadmin-ontap-cli)。

1. 在 SVM 上创建一个新的卷以用于访问 NVMe 接口。

   ```
   ::> vol create -vserver fsx -volume nvme_vol1 -aggregate aggr1 -size 1t
        [Job 597] Job succeeded: Successful
   ```

1. 使用 [https://docs.netapp.com/us-en/ontap-cli-9141/vserver-nvme-namespace-create.html](https://docs.netapp.com/us-en/ontap-cli-9141/vserver-nvme-namespace-create.html) NetApp ONTAP CLI 命令创建 NVMe 命名空间 `ns_1`。命名空间映射到启动器（客户端），并控制哪些启动器（客户端）可以访问 NVMe 设备。

   ```
   ::> vserver nvme namespace create -vserver fsx -path /vol/nvme_vol1/ns_1 -size 100g -ostype linux
   Created a namespace of size 100GB (107374182400).
   ```

1. 使用 [https://docs.netapp.com/us-en/ontap-cli-9141/vserver-nvme-subsystem-create.html](https://docs.netapp.com/us-en/ontap-cli-9141/vserver-nvme-subsystem-create.html) NetApp ONTAP CLI 命令创建 NVMe 子系统。

   ```
   ~$ vserver nvme subsystem create -vserver fsx -subsystem sub_1 -ostype linux
   ```

1. 将命名空间映射至刚才创建的子系统。

   ```
   ::> vserver nvme subsystem map add -vserver fsx -subsystem sub_1 -path /vol/nvme_vol1/ns_1
   ```

1. 使用之前检索到的 NQN 将客户端添加到子系统。

   ```
   ::> vserver nvme subsystem host add -subsystem sub_1 -host-nqn nqn.2014-08.org.nvmexpress:uuid:ec21b083-1860-d690-1f29-44528e4f4e0e -vserver fsx
   ```

   如果要将映射到此子系统的设备供多个主机使用，您可以在逗号分隔列表中指定多个启动程序名称。有关更多信息，请参阅 NetApp ONTAP 文档中的[虚拟服务器 NVMe 子系统主机的添加](https://docs.netapp.com/us-en/ontap-cli-9141/vserver-nvme-subsystem-host-add.html)。

1. 使用 [https://docs.netapp.com/us-en/ontap-cli-9141/vserver-nvme-namespace-show.html](https://docs.netapp.com/us-en/ontap-cli-9141/vserver-nvme-namespace-show.html) 命令确认命名空间存在：

   ```
   ::> vserver nvme namespace show -vserver fsx -instance
   Vserver Name: fsx
               Namespace Path: /vol/nvme_vol1/ns_1
                         Size: 100GB
                    Size Used: 90.59GB
                      OS Type: linux
                      Comment: 
                   Block Size: 4KB
                        State: online
            Space Reservation: false
   Space Reservations Honored: false
                 Is Read Only: false
                Creation Time: 5/20/2024 17:03:08
               Namespace UUID: c51793c0-8840-4a77-903a-c869186e74e3
                     Vdisk ID: 80d42c6f00000000187cca9
         Restore Inaccessible: false
      Inconsistent Filesystem: false
          Inconsistent Blocks: false
                       NVFail: false
   Node Hosting the Namespace: FsxId062e9bb6e05143fcb-01
                  Volume Name: nvme_vol1
                   Qtree Name: 
             Mapped Subsystem: sub_1
               Subsystem UUID: db526ec7-16ca-11ef-a612-d320bd5b74a9               
                 Namespace ID: 00000001h
                 ANA Group ID: 00000001h
                 Vserver UUID: 656d410a-1460-11ef-a612-d320bd5b74a9
                   Vserver ID: 3
                  Volume MSID: 2161388655
                  Volume DSID: 1029
                    Aggregate: aggr1
               Aggregate UUID: cfa8e6ee-145f-11ef-a612-d320bd5b74a9
    Namespace Container State: online
           Autodelete Enabled: false
             Application UUID: -
                  Application: -
     Has Metadata Provisioned: true
     
   1 entries were displayed.
   ```

1. 使用 [https://docs.netapp.com/us-en/ontap-cli-9141/network-interface-show.html](https://docs.netapp.com/us-en/ontap-cli-9141/network-interface-show.html) 命令检索您在其中创建 NVMe 设备的 SVM 的块存储接口的地址。

   ```
   ::> network interface show -vserver svm_name -data-protocol nvme-tcp
               Logical               Status     Network            Current                    Current Is 
   Vserver     Interface             Admin/Oper Address/Mask       Node                       Port    Home
   ----------- ----------            ---------- ------------------ -------------              ------- ----
   svm_name
               iscsi_1               up/up      172.31.16.19/20    FSxId0123456789abcdef8-01  e0e     true
               iscsi_2               up/up      172.31.26.134/20   FSxId0123456789abcdef8-02  e0e     true
   2 entries were displayed.
   ```
**注意**  
`iscsi_1` LIF 对 iSCSI 和 NVMe/TCP 均适用。

   在此示例中，iscsi\$11 的 IP 地址为 172.31.16.19，iscsi\$12 的 IP 地址为 172.31.26.134。

## 在 Linux 客户端上挂载 NVMe 设备。
<a name="add-nvme-on-rhel93-host"></a>

在 Linux 客户端上挂载 NVMe 设备的过程包括三个步骤：

1. 发现 NVMe 节点

1. 对 NVMe 设备进行分区

1. 在客户端上挂载 NVMe 设备

以下过程将详述这些步骤。

**发现目标 NVMe 节点**

1. 在 Linux 客户端上，使用以下命令来发现目标 NVMe 节点。将 *`iscsi_1_IP`* 替换为 `iscsi_1` 的 IP 地址以及 *`client_IP`* 客户端的 IP 地址。
**注意**  
`iscsi_1` 和 `iscsi_2` LIF 对 iSCSI 和 NVMe 存储均适用。

   ```
   ~$ sudo nvme discover -t tcp -w client_IP -a iscsi_1_IP
   ```

   ```
   Discovery Log Number of Records 4, Generation counter 11
   =====Discovery Log Entry 0======
   trtype:  tcp
   adrfam:  ipv4
   subtype: current discovery subsystem
   treq:    not specified
   portid:  0
   trsvcid: 8009
   subnqn:  nqn.1992-08.com.netapp:sn.656d410a146011efa612d320bd5b74a9:discovery
   traddr:  172.31.26.134
   eflags:  explicit discovery connections, duplicate discovery information
   sectype: none
   =====Discovery Log Entry 1======
   trtype:  tcp
   adrfam:  ipv4
   subtype: current discovery subsystem
   treq:    not specified
   portid:  1
   trsvcid: 8009
   subnqn:  nqn.1992-08.com.netapp:sn.656d410a146011efa612d320bd5b74a9:discovery
   traddr:  172.31.16.19
   eflags:  explicit discovery connections, duplicate discovery information
   sectype: none
   ```

1. （可选）要为文件系统的 NVMe 设备带来高于 Amazon EC2 单一客户端最大 5Gbps（约 625MBps）的吞吐量，请按照《适用于 Linux 实例的 Amazon Elastic Compute Cloud 用户指南》中的 [Amazon EC2 实例网络带宽](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-network-bandwidth.html)描述的过程建立更多的会话。

1. 在控制器断开超时至少达到 1800 秒的情况下，再次使用 `iscsi_1` 的 IP 地址（*`iscsi_1_IP`*）和客户端的 IP 地址（*`client_IP`*）登录目标启动器。NVMe 设备显示为可用磁盘。

   ```
   ~$ sudo nvme connect-all -t tcp -w client_IP -a iscsi_1 -l 1800
   ```

1. 使用以下命令验证 NVMe 堆栈是否已识别并合并多个会话且配置了多路径。如果配置成功，则命令会返回确认 `Y`。

   ```
   ~$ cat /sys/module/nvme_core/parameters/multipath
   Y
   ```

1. 使用以下命令验证相应 ONTAP 命名空间的 NVMe-oF 设置 `model` 是否设置为 `NetApp ONTAP Controller`，负载均衡 `iopolicy` 是否设置为 `round-robin`，以使 I/O 分布在所有可用的路径上

   ```
   ~$ cat /sys/class/nvme-subsystem/nvme-subsys*/model
   Amazon Elastic Block Store              
   NetApp ONTAP Controller
   ~$ cat /sys/class/nvme-subsystem/nvme-subsys*/iopolicy
   numa
   round-robin
   ```

1. 使用以下命令验证是否在主机上创建并正确发现了命名空间。

   ```
   ~$ sudo nvme list
   Node                  Generic               SN                   Model                                    Namespace  Usage                      Format           FW Rev  
   --------------------- --------------------- -------------------- ---------------------------------------- ---------- -------------------------- ---------------- --------
   /dev/nvme0n1          /dev/ng0n1            vol05955547c003f0580 Amazon Elastic Block Store               0x1         25.77  GB /  25.77  GB    512   B +  0 B   1.0     
   /dev/nvme2n1          /dev/ng2n1            lWB12JWY/XLKAAAAAAAC NetApp ONTAP Controller                  0x1        107.37  GB / 107.37  GB      4 KiB +  0 B   FFFFFFFF
   ```

   输出中的新设备为 `/dev/nvme2n1`。根据 Linux 安装情况，此命名方案可能会有所不同。

1. 验证每条路径的控制器状态是否处于活动状态，以及是否具有正确的非对称命名空间访问（ANA）多路径状态：

   ```
   ~$ nvme list-subsys /dev/nvme2n1
   nvme-subsys2 - NQN=nqn.1992-08.com.netapp:sn.656d410a146011efa612d320bd5b74a9:subsystem.rhel
                  hostnqn=nqn.2014-08.org.nvmexpress:uuid:ec2a70bf-3ab2-6cb0-f997-8730057ceb24
                  iopolicy=round-robin
   \
    +- nvme2 tcp traddr=172.31.26.134,trsvcid=4420,host_traddr=172.31.25.143,src_addr=172.31.25.143 live non-optimized
    +- nvme3 tcp traddr=172.31.16.19,trsvcid=4420,host_traddr=172.31.25.143,src_addr=172.31.25.143 live optimized
   ```

   在此示例中，NVMe 堆栈已自动发现了文件系统的备用 `iscsi_2` LIF，即 172.31.26.134。

1. 验证 NetApp 插件是否为每个 ONTAP 命名空间设备显示了正确的值：

   ```
   ~$ sudo nvme netapp ontapdevices -o column
   Device           Vserver                   Namespace Path                                     NSID UUID                                   Size     
   ---------------- ------------------------- -------------------------------------------------- ---- -------------------------------------- ---------
   /dev/nvme2n1     fsx                       /vol/nvme_vol1/ns_1                                1    0441c609-3db1-4b0b-aa83-790d0d448ece   107.37GB
   ```

**对设备进行分区**

1. 使用以下命令验证您的 device\$1name `nvme2n1` 路径是否存在。

   ```
   ~$ ls /dev/mapper/nvme2n1
   /dev/nvme2n1
   ```

1. 使用 `fdisk` 对磁盘进行分区。您需要输入交互式提示。按显示的顺序输入选项。您可以使用小于最后一个扇区的值来创建多个分区（在本例中为 `20971519`）。
**注意**  
`Last sector` 值根据 NVMe 设备的大小（在本例中为 100 GiB）而不同。

   ```
   ~$ sudo fdisk /dev/mapper/nvme2n1
   ```

   开始进行 `fsdisk` 交互式提示。

   ```
   Welcome to fdisk (util-linux 2.37.4). 
   Changes will remain in memory only, until you decide to write them. 
   Be careful before using the write command. 
   
   Device does not contain a recognized partition table. 
   Created a new DOS disklabel with disk identifier 0x66595cb0. 
   
   Command (m for help): n
   Partition type 
      p primary (0 primary, 0 extended, 4 free) 
      e extended (container for logical partitions) 
   Select (default p): p
   Partition number (1-4, default 1): 1 
   First sector (256-26214399, default 256): 
   Last sector, +sectors or +size{K,M,G,T,P} (256-26214399, default 26214399): 20971519
                                       
   Created a new partition 1 of type 'Linux' and of size 100 GiB.
   Command (m for help): w
   The partition table has been altered.
   Calling ioctl() to re-read partition table. 
   Syncing disks.
   ```

   输入 `w` 后，您的新分区 `/dev/nvme2n1` 即变为可用。*partition\$1name* 的格式为 *<device\$1name>**<partition\$1number>*。`1` 已用作上一步 `fdisk` 命令中的分区编号。

1. 使用 `/dev/nvme2n1` 作为创建文件系统的路径。

   ```
   ~$ sudo mkfs.ext4 /dev/nvme2n1
   ```

   系统将使用以下输出做出响应：

   ```
   mke2fs 1.46.5 (30-Dec-2021)
   Found a dos partition table in /dev/nvme2n1
   Proceed anyway? (y,N) y
   Creating filesystem with 26214400 4k blocks and 6553600 inodes
   Filesystem UUID: 372fb2fd-ae0e-4e74-ac06-3eb3eabd55fb
   Superblock backups stored on blocks: 
       32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 
       4096000, 7962624, 11239424, 20480000, 23887872
   
   Allocating group tables: done                            
   Writing inode tables: done                            
   Creating journal (131072 blocks): done
   Writing superblocks and filesystem accounting information: done
   ```

**在 Linux 客户端上挂载 NVMe 设备**

1. 创建一个目录 *directory\$1path* 作为 Linux 实例上的文件系统的挂载点。

   ```
   ~$ sudo mkdir /directory_path/mount_point
   ```

1. 使用以下命令挂载文件系统。

   ```
   ~$ sudo mount -t ext4 /dev/nvme2n1 /directory_path/mount_point
   ```

1. （可选）如果要向特定用户授予挂载目录的所有权，请将 *`username`* 替换为拥有者的用户名。

   ```
   ~$ sudo chown username:username /directory_path/mount_point
   ```

1. （可选）验证您是否可以从文件系统读取数据和将数据写入文件系统。

   ```
   ~$ echo "Hello world!" > /directory_path/mount_point/HelloWorld.txt
   ~$ cat directory_path/HelloWorld.txt
   Hello world!
   ```

   您在 Linux 客户端上成功创建并挂载了一个 NVMe 设备。

# 通过 Amazon S3 接入点访问您的数据
<a name="accessing-data-via-s3-access-points"></a>

您还可以使用 S3 接入点访问存储在 Amazon FSx 文件系统中的文件数据，就像这些数据存储在 S3 中一样，这样您就可以将其用于与 S3 配合使用的应用程序和服务，而无需更改应用程序或将数据移出文件存储。Amazon S3 接入点是连接到 S3 存储桶、ONTAP 和 FSx OpenZFS FSx 卷的 S3 终端节点。Amazon S3 接入点简化了任何与 S3 配合使用的应用程序或 AWS 服务的数据访问管理。借助 S3 接入点，拥有共享数据集（包括数据湖、媒体档案和用户生成的内容）的客户可以轻松控制和扩展数百个应用程序、团队或个人的数据访问权限，方法是创建个性化的接入点，并为每个应用程序、团队或个人自定义名称和权限。

连接到 Amazon FSx for NetApp ONTAP 卷的 S3 接入点支持对 Amazon S3 终端节点使用 S3 对象操作（例如`GetObject``PutObject`、和`ListObjectsV2`）对您的文件数据进行读写访问。

连接到 for ONTAP 文件系统的每个 S3 接入点都有一个 AWS Identity and Access Management (IAM) 接入点策略和一个关联的 UNIX 或 Windows 文件系统用户，用于授权通过该接入点发出的所有请求。 FSx 对于每个请求，S3 首先评估所有相关策略，包括用户、接入点、S3 VPC 端点和服务控制策略的策略，以授权请求。请求获得 S3 授权后，文件系统会对请求进行授权，文件系统会评估与 S3 接入点关联的文件系统用户是否有权访问文件系统上的数据。您可以将接入点配置为仅接受来自虚拟私有云 (VPC) 的请求，从而限制 Amazon S3 数据访问私有网络。默认情况下，Amazon S3 会对连接到 for ONTAP 卷的所有接入点强制禁止公开访问，并且您无法修改或禁用此设置。 FSx 

您可以使用 Amazon FSx 控制台、CLI 和 API [创建 S3 接入点并将其连接](fsxn-creating-access-points.md)到 for FSx ONTAP 卷。接入点允许您使用 S3 API 访问您的文件数据，但您的数据将继续驻留在您的 for ONTAP 文件系统上，并且您可以继续使用 NFS 和 SMB 协议与 S3 API 一起访问您的数据。 FSx 

适用于 ONTAP 文件系统 FSx 的 Amazon S3 接入点可提供数十毫秒范围内的延迟，这与 S3 存储桶访问一致。通过 S3 API 可以驱动到 Amazon FSx 文件系统的吞吐量和每秒请求数取决于文件系统的预配置吞吐量。有关文件系统性能功能的更多信息，请参见 [亚马逊 FSx 为 NetApp ONTAP 性能而设计性能](performance.md)

**Topics**
+ [

## AWS 区域 使用适用 FSx 于 ONTAP 的 Amazon S3 接入点
](#access-points-for-fsx-ontap-supported-regions)
+ [

# 接入点命名规则、限制和局限性
](access-point-for-fsxn-restrictions-limitations-naming-rules.md)
+ [

# 使用接入点别名来引用接入点 ARNs，或 virtual-hosted-style URIs
](referencing-access-points-for-fsxn.md)
+ [

# 接入点兼容性
](access-points-for-fsxn-object-api-support.md)
+ [

# 管理接入点接入
](s3-ap-manage-access-fsxn.md)
+ [

# 创建接入点
](fsxn-creating-access-points.md)
+ [

# 管理 Amazon S3 接入点
](access-points-for-fsxn-manage.md)
+ [

# 使用接入点
](access-points-for-fsxn-usage-examples.md)
+ [

# 对 S3 接入点问题进行故障排除
](troubleshooting-access-points-for-fsxn.md)

## AWS 区域 使用适用 FSx 于 ONTAP 的 Amazon S3 接入点
<a name="access-points-for-fsx-ontap-supported-regions"></a>

以下地区支持 ONTAP 的 Amazon S3 接入点 AWS 区域：非洲（开普敦）、亚太地区（香港、海得拉巴、雅加达、墨尔本、孟买、大阪、首尔、新加坡、悉尼、东京）、加拿大（中部）、加拿大西部（卡尔加里）、欧洲（爱尔兰法兰克福、伦敦、米兰、巴黎、西班牙、斯德哥尔摩、苏黎世）、以色列（特拉维夫）、中东（巴林）阿联酋巴林）、南美洲（圣保罗）、美国东部（弗吉尼亚北部、俄亥俄州）和美国西部（加利福尼亚北部、俄勒冈州）。 FSx 

# 接入点命名规则、限制和局限性
<a name="access-point-for-fsxn-restrictions-limitations-naming-rules"></a>

创建 S3 接入点时，您需要为其选择一个名称。以下主题提供有关 S3 接入点命名规则以及限制和限制的信息。

**Topics**
+ [

## 接入点命名规则
](#access-points-for-fsxn-naming-rules)
+ [

## 接入点限制和局限性
](#access-points-for-fsxn-restrictions-limitations)

## 接入点命名规则
<a name="access-points-for-fsxn-naming-rules"></a>

创建 S3 接入点时，您可以选择其名称。接入点名称在 AWS 账户 或之间不必是唯一的 AWS 区域。同样的 AWS 账户 方法可能会创建名称相同的不同接入点， AWS 区域 或者两个不同的接入点 AWS 账户 可能使用相同的接入点名称。但是，在一个 a AWS 区域 中 AWS 账户 可能没有两个名称相同的接入点。

S3 接入点名称不能以后缀结尾`-ext-s3alias`，后缀是为接入点别名保留的。有关接入点命名规则的完整列表，请参阅《[亚马逊*简单存储服务用户指南》中的 Amazon* S3 接入点命](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-points-restrictions-limitations-naming-rules.html#access-points-names)名规则。

## 接入点限制和局限性
<a name="access-points-for-fsxn-restrictions-limitations"></a>

连接到 ONTAP 卷 FSx 的 S3 接入点具有以下限制，这些限制不适用于连接到 S3 存储桶的接入点：
+ 您只能创建与要连接的 ONTAP 卷 AWS 区域 相同的 S3 接入点。 FSx 
+ ONTAP 文件系统和 S3 接入点 AWS 账户 必须由同一个人拥有。 FSx 您只能为自己拥有的 ONTAP 卷创建连接到 FSx 的 S3 接入点。您无法创建附加到其他卷所拥有的 S3 接入点 AWS 账户。
+ 您只能 FSx 为运行 NetApp ONTAP 版本 9.17.1 及更高版本的 ONTAP 文件系统创建 S3 接入点并将其附加到该接入点。

有关所有接入点限制和限制的完整列表，请参阅 *Amazon Simple Storage Service 用户指南*中的[接入点限制和限制](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-points-restrictions-limitations-naming-rules.html)。

# 使用接入点别名来引用接入点 ARNs，或 virtual-hosted-style URIs
<a name="referencing-access-points-for-fsxn"></a>

创建连接到 for ONTAP 卷 FSx 的接入点后，您可以通过 AWS CLI 和 S3 API 以及兼容 S3 的第三方 AWS 服务和应用程序访问您的数据。在 AWS 服务 或应用程序中提及接入点时，您可以使用 Amazon 资源名称 (ARN)、接入点别名或虚拟托管样式 URI。

**Topics**
+ [

## 接入点 ARNs
](#access-point-arns)
+ [

## 接入点别名
](#access-point-aliases)
+ [

## 虚拟托管类型 URI
](#virtual-hosted-style-uri)

## 接入点 ARNs
<a name="access-point-arns"></a>

接入点有 Amazon 资源名称 (ARNs)。接入点 ARNs 与 S3 存储桶类似 ARNs，但它们是显式键入的，并对接入点 AWS 区域 和接入点所有者的 AWS 账户 ID 进行编码。有关更多信息 ARNs，请参阅*AWS Identity and Access Management 用户指南*中的[使用 Amazon 资源名称识别 AWS 资源 (ARNs)](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference-arns.html)。

接入 ARNs 点采用以下格式：

```
arn:aws::s3:region:account-id:accesspoint/resource
```

`arn:aws:s3:us-west-2:777777777777:accesspoint/test`代表名为的接入点*test*，该接入点归该地区账户 7777777777 所有。*us-west-2*

ARNs 对于通过接入点访问的对象和文件，请使用以下格式：

```
arn:aws::s3:region:account-id:accesspoint/access-point-name/object/resource
```

`arn:aws:s3:us-west-2:111122223333:accesspoint/test/object/lions.jpg`表示通过名为的接入点访问的文件 *lions.jpg**test*，该接入点归该地区账户 111122223333 所有。*us-west-2*

有关接入点的更多信息 ARNs，请参阅 *Amazon 简单存储服务用户指南 ARNs*中的[接入点](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-points-naming.html#access-points-arns)。

## 接入点别名
<a name="access-point-aliases"></a>

创建接入点时，Amazon S3 会自动生成一个接入点别名，您可以在任何可以使用 S3 存储桶名称访问数据的地方使用该别名。

接入点别名无法更改。对于连接到 for ONTAP 卷 FSx 的接入点，接入点别名由以下部分组成：

```
access point prefix-metadata-ext-s3alias
```

下图显示了连接到 for ONTAP 卷的 S3 接入点的 ARN 和接入点别名，这些接入点作为对 CLI 命令`describe-s3-access-point-attachments` FSx 的响应的一部分返回。 FSx 本示例中的接入点名为`my-ontap-ap`。

```
...
        "S3AccessPoint": {
            "ResourceARN": "arn:aws:s3:us-east-1:111122223333:accesspoint/my-ontap-ap",
            "Alias": "my-ontap-ap-aqfqprnstn7aefdfbarligizwgyfouse1a-ext-s3alias",
...
```

**注意**  
该`-ext-s3alias`后缀保留给连接到 for ONTAP 卷的 S3 接入点 FSx 的别名，不能用于接入点名称。

在某些 S3 数据平面操作中，您可以使用接入点别名代替 Amazon S3 接入点 ARN。有关支持的操作的列表，请参阅[接入点兼容性](access-points-for-fsxn-object-api-support.md)。

有关完整的接入点别名限制，请参阅《*Amazon 简单存储服务用户指南*》中的[接入点别名限制](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-points-naming.html#access-points-alias)。

## 虚拟托管类型 URI
<a name="virtual-hosted-style-uri"></a>

接入点仅支持 virtual-host-style寻址。在虚拟托管式的 URI 中，接入点名称和 AWS 区域 是 URL 中域名的一部分。 AWS 账户要查看连接到 for ONTAP 卷的接入点的 S3 URI，请在 **S3 接入点详细信息下的接入点详细信息**页面中，选择为 S **3 接入点列出的接入点**名称。 FSx 这将带您进入 Amazon S3 控制台中的接入点详细信息页面。您可以在 “**属性**” 下找**到 S3 URI**。

有关更多信息，请参阅《*亚马逊简单*[存储服务用户指南》中的虚拟托管式 URI](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-points-naming.html#accessing-a-bucket-through-s3-access-point)。

# 接入点兼容性
<a name="access-points-for-fsxn-object-api-support"></a>

您可以使用访问点访问存储在 for ONTAP 卷上的数据，使用 FSx 以下 Amazon S3 APIs 进行数据访问。下面列出的所有操作都可以接受接入点 ARNs 或接入点别名。

下表是 Amazon S3 操作以及它们是否与接入点兼容的部分列表。下表显示了使用 for ONTAP 卷作为数据源的接入点支持哪些操作。 FSx 


| S3 操作 | 连接到 for ONTAP FSx 卷的接入点 | 
| --- | --- | 
|  `[AbortMultipartUpload](https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html)`  |  支持  | 
|  `[CompleteMultipartUpload](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html)`  |  支持  | 
|  `[CopyObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html)`（仅限同区域副本）  |  如果源和目标位于同一个接入点内，则支持  | 
|  `[CreateMultipartUpload](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html)`  |  支持  | 
|  `[DeleteObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObject.html)`  |  支持  | 
|  `[DeleteObjects](https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObjects.html)`  |  支持  | 
|  `[DeleteObjectTagging](https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObjectTagging.html)`  |  支持  | 
|  `[GetBucketAcl](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketAcl.html)`  |  不支持  | 
|  `[GetBucketCors](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketCors.html)`  |  不支持  | 
|  `[GetBucketLocation](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLocation.html)`  |  支持  | 
|  `[GetBucketNotificationConfiguration](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketNotificationConfiguration.html)`  |  不支持  | 
|  `[GetBucketPolicy](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketPolicy.html)`  |  不支持  | 
|  `[GetObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html)`  |  支持  | 
|  `[GetObjectAcl](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAcl.html)`  |  不支持  | 
|  `[GetObjectAttributes](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAttributes.html)`  |  支持  | 
|  `[GetObjectLegalHold](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectLegalHold.html)`  |  不支持  | 
|  `[GetObjectRetention](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectRetention.html)`  |  不支持  | 
|  `[GetObjectTagging](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectTagging.html)`  |  支持  | 
|  `[HeadBucket](https://docs.aws.amazon.com/AmazonS3/latest/API/API_HeadBucket.html)`  |  支持  | 
|  `[HeadObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_HeadObject.html)`  |  支持  | 
|  `[ListMultipartUploads](https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html)`  |  支持  | 
|  `[ListObjects](https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjects.html)`  |  支持  | 
|  `[ListObjectsV2](https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjectsV2.html)`  |  支持  | 
|  `[ListObjectVersions](https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjectVersions.html)`  |  不支持  | 
|  `[ListParts](https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html)`  |  支持  | 
|  `[Presign](https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-query-string-auth.html)`  |  不支持  | 
|  `[PutObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html)`  |  支持  | 
|  `[PutObjectAcl](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectAcl.html)`  |  不支持  | 
|  `[PutObjectLegalHold](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectLegalHold.html)`  |  不支持  | 
|  `[PutObjectRetention](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectRetention.html)`  |  不支持  | 
|  `[PutObjectTagging](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectTagging.html)`  |  支持  | 
|  `[RestoreObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_RestoreObject.html)`  |  不支持  | 
|  `[UploadPart](https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html)`  |  支持  | 
|  `[UploadPartCopy](https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html)`（仅限同区域副本）  |  如果源和目标位于同一个接入点内，则支持  | 

使用 Amazon S3 操作的限制如下：
+ 上传的最大对象大小为 5 GB，但您可以下载大于该值的对象
+ `FSX_ONTAP`是唯一支持的存储类别
+ SSE-FSX 是唯一支持的服务器端加密模式
+ 不支持以下 Amazon S3 功能：请求者付款之外的访问控制列表 (ACLs) `bucket-owner-full-control`、对象版本控制、对象锁定、对象生命周期、静态网站托管（例如网站重定向）、多因素身份验证 (MFA) 和条件写入

有关使用接入点对文件数据执行数据访问操作的示例，请参见[使用接入点](access-points-for-fsxn-usage-examples.md)。

**对象 ETag**  
实体标签是对象的哈希。仅 ETag 反映对象内容的更改，而不反映其元数据的更改。 ETag 不是对象数据的 MD5 摘要。

**对象校验和**  
您可以使用校验和值来验证所上传数据的完整性。当您上传数据并指定校验和算法时， AWS SDK 会在传输数据之前使用您选择的校验和算法来计算校验和值。然后，Amazon S3 会独立计算您的数据的校验和，并根据提供的校验和值对其进行验证。只有在确认传输到 Amazon S3 期间保持了数据完整性之后，才会接受对象。与 Amazon S3 通用存储桶中对象的校验和不同，校验和值不作为对象元数据存储在 NetApp ONTAP 卷中，也不是对象本 FSx 身。这意味着校验和值不会在响应中返回，也不会用于在下载时验证对象的完整性。

**使用亚马逊进行服务器端加密 FSx (SSE-FSX)**  
所有 Amazon FSx 文件系统都默认配置了加密，并使用使用管理的密钥进行静态加密 AWS Key Management Service。当向文件系统写入数据和从文件系统读取数据时，数据会在文件系统上自动加密和解密。这些流程由 Amazon FSx 以透明方式处理。

**分段上传**  
分段上传允许将单个对象作为一组分段上传。每个分段都是对象数据的连续部分。您可以独立上传以及按任意顺序上传这些对象分段。将 S3 接入点与 for ONTAP 配合 FSx 使用时，分段上传有以下注意事项：
+ ONTAP 卷备份中不包含与正在进行的分段上传（即未完成的上传）相关的部分。 FSx 
+ 与正在进行的分段上传（即未完成的上传）段相关的已用存储空间不会反映在目标卷的`StorageUsed`存储容量 CloudWatch 指标中，而是反映在父文件系统的`StorageUsed`存储容量 CloudWatch 指标中。
+ 分段上传操作完成后，关联的段元数据将不再与对象一起存储。这意味着您无法使用`GetObjectAttributes`正在读取的对象的部件号来检索对象部分元数据，也无法通过正在读取的对象的部件号下载对象的单个部分。

**访问控制列表（ACL）**  
使用 Amazon S3 访问控制列表 (ACLs)，您可以管理对存储桶和对象的访问权限。 FSx 仅适用于 S3 的接入点支持 `bucket-owner-full-control` ACL 值。使用任何其他 ACL 值都将导致`InvalidArgument`异常。

# 管理接入点接入
<a name="s3-ap-manage-access-fsxn"></a>

您可以为每个 S3 接入点配置不同的权限和网络控制，S3 适用于使用该接入点发出的任何请求。S3 接入点支持 AWS Identity and Access Management (IAM) 资源策略，您可以使用这些策略按资源、用户或其他条件控制接入点的使用。要使应用程序或用户通过接入点访问文件，接入点和底层卷都必须允许该请求。有关更多信息，请参阅 [IAM 接入点策略](#access-points-for-fsxn-policies)。

适用于 FSx ONTAP 的 Amazon S3 接入点使用双层授权模型，将 AWS IAM 权限与文件系统级权限相结合。这种方法可确保在 AWS 服务级别和底层文件系统级别对数据访问请求进行适当授权。

要使应用程序或用户成功地通过接入点访问数据，S3 接入点策略和 ONTAP 卷 FSx 的底层策略都必须允许该请求。

**Topics**
+ [

## 文件系统用户身份和授权
](#fsxn-file-system-user-identity)
+ [

## S3 API 请求授权
](#access-points-for-fsxn-s3-iam-auth)
+ [

## S3 阻止公有访问
](#access-points-for-fsxn-bpa)
+ [

## IAM 接入点策略
](#access-points-for-fsxn-policies)

## 文件系统用户身份和授权
<a name="fsxn-file-system-user-identity"></a>

在为 for ONTAP 卷创建 S3 接入点时，您需要指定一个文件系统身份，该身份将用于授权通过该访问点发出的所有文件系统请求。 FSx 此文件系统标识决定根据文件系统的权限模型授予对底层文件和目录的访问权限级别。文件系统用户是底层 Amazon FSx 文件系统上的用户账户。如果文件系统用户具有*只读*访问权限，则只有使用访问点发出的读取请求才会获得授权，并且写入请求会被阻止。如果文件系统用户具有读写访问权限，则使用访问点对连接的卷发出的读取和写入请求都将获得授权。

文件系统标识可以是以下两种类型之一：
+ **UNIX 身份** — 使用 UNIX 安全方式访问卷时使用 UNIX 身份（用户名）
+ **Windows 身份** — 使用 NTFS 安全模式访问卷时使用 Windows 身份（域和用户名）。

当您指定 UNIX 或 Windows 身份时，通过接入点执行的所有 S3 API 操作都将使用该用户在文件系统上的权限进行授权。

您与接入点关联的文件系统身份决定了对文件和目录的访问级别。例如，如果您将接入点与根 UNIX 身份 (UID 0) 相关联，后者通常对文件系统具有完全的文件访问权限，则所有文件操作都将获得授权。相反，如果您将接入点与受限制的用户身份相关联，则文件操作将仅限于该用户可以访问的内容，具体取决于文件系统的权限模型。

对于具有 UNIX 安全风格的卷，应使用 UNIX 文件系统标识类型，对于具有 NTFS 安全风格的卷，应使用 Windows 标识类型。这种调整可确保授权模型与卷的安全配置相匹配。

对于 UNIX 安全风格的卷，文件系统使用模式位或 NFSv4 ACLs 来控制访问权限。对于 NTFS 安全风格的卷，文件系统使用 Windows ACLs 来控制访问权限。

**重要**  
当通过 NFS 或 SM FSx B 直接访问该卷时，将 S3 接入点连接到 ONTAP 卷不会更改该卷的行为。所有针对该卷的现有操作都将像以前一样继续运行。您在 S3 接入点策略中包含的限制仅适用于使用接入点发出的请求。

## S3 API 请求授权
<a name="access-points-for-fsxn-s3-iam-auth"></a>

当您通过连接到 for NetApp ONTAP 卷的接入点发出 S3 API 请求时，Amazon S3 会根据接入点的 IAM 资源策略评估调用委托人的 IAM 权限。 FSx IAM 委托人调用者必须拥有通过其基于身份的策略授予的必要权限，并且接入点的资源策略也必须允许所请求的操作。

Amazon S3 会评估所有相关策略（包括用户策略、接入点策略、VPC 终端节点策略和服务控制策略），以确定是否对请求进行授权。

您还可以将 S3 接入点配置为仅接受来自特定虚拟私有云 (VPC) 的请求，以限制数据访问。有关更多信息，请参阅 [创建限制到 Virtual Private Cloud 的接入点](access-points-for-fsxn-vpc.md)。

## S3 阻止公有访问
<a name="access-points-for-fsxn-bpa"></a>

连接到 for ONTAP 卷的 Amazon S3 接入点会自动配置为启用封锁公共访问功能，但您无法更改此设置。 FSx 

## IAM 接入点策略
<a name="access-points-for-fsxn-policies"></a>

Amazon S3 接入点支持 AWS Identity and Access Management (IAM) 资源策略，允许您根据资源、用户或其他条件控制接入点的使用。为了使应用程序或用户能够通过接入点访问对象，接入点和底层数据源都必须允许该请求。

创建可选接入点策略需要该权限。`s3:PutAccessPointPolicy`

将 S3 接入点连接到 Amazon FSx 卷后，针对该卷的所有现有操作都将像以前一样继续运行。您在接入点策略中包括的限制仅适用于通过该接入点发出的请求。有关更多信息，请参阅 A *mazon 简单存储服务用户指南*中的[配置 IAM 策略以使用接入点](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-points-policies.html)。

使用 Amazon FSx 控制台创建连接到 for ONTAP 卷 FSx 的接入点时，您可以配置接入点策略。要在现有 S3 接入点上添加、修改或删除接入点策略，可以使用 S3 控制台、CLI 或 API。

# 创建接入点
<a name="fsxn-creating-access-points"></a>

您可以使用亚马逊 FSx 控制台、CLI、API 和支持创建和管理连接到亚马逊 FSx 卷的 S3 接入点 SDKs。

**注意**  
由于您可能需要公开 S3 接入点名称以便其他用户可以使用该接入点，因此请避免在 S3 接入点名称中包含敏感信息。接入点名称将在称为域名系统（DNS）的可公开访问的数据库中得以发布。有关接入点名称的更多信息，请参阅[接入点命名规则](access-point-for-fsxn-restrictions-limitations-naming-rules.md#access-points-for-fsxn-naming-rules)。

## 所需的权限
<a name="create-ap-permissions"></a>

创建连接到 Amazon FSx 卷的 S3 访问点需要以下权限：
+ `fsx:CreateAndAttachS3AccessPoint`
+ `s3:CreateAccessPoint`
+ `s3:GetAccessPoint`

使用 Amazon FSx 或 S3 控制台创建可选接入点策略需要该`s3:PutAccessPointPolicy`权限。有关更多信息，请参阅 [IAM 接入点策略](s3-ap-manage-access-fsxn.md#access-points-for-fsxn-policies)。

要创建接入点，请参阅以下主题。

**Topics**
+ [

## 所需的权限
](#create-ap-permissions)
+ [

# 创建接入点
](create-access-points.md)
+ [

# 创建限制到 Virtual Private Cloud 的接入点
](access-points-for-fsxn-vpc.md)

# 创建接入点
<a name="create-access-points"></a>

**重要**  
要将 S3 接入点连接到 f FSx or ONTAP 卷，必须安装该卷（具有接合路径）。有关更多详细信息，请参阅 [ONTAP 文档](https://docs.netapp.com/us-en/ontap/nfs-admin/mount-unmount-existing-volumes-nas-namespace-task.html)。

在 FSx 为您的卷创建 S3 接入点时，您的账户中必须已经存在适用于 ONTAP 的卷。

要创建连接到 for ONTAP 卷 FSx 的 S3 接入点，请指定以下属性：
+ 接入点名称。有关接入点命名规则的信息，请参阅[接入点命名规则](access-point-for-fsxn-restrictions-limitations-naming-rules.md#access-points-for-fsxn-naming-rules)。
+ 用于授权使用接入点发出的文件访问请求的文件系统用户身份。在 UNIX 或 Windows 中指定要包含的 POSIX 用户名。有关更多信息，请参阅 [文件系统用户身份和授权](s3-ap-manage-access-fsxn.md#fsxn-file-system-user-identity)。
+ 接入点的网络配置决定了接入点是可以从 Internet 访问还是仅限于特定的虚拟私有云 (VPC) 进行访问。有关更多信息，请参阅 [创建限制到 Virtual Private Cloud 的接入点](access-points-for-fsxn-vpc.md)。

## 创建连接到 FSx 卷的 S3 接入点（FSx 控制台）
<a name="access-points-for-fsxn-create-ap"></a>

1. 打开亚马逊 FSx 控制台，网址为[https://console.aws.amazon.com/fsx/](https://console.aws.amazon.com/fsx/)。

1. 在页面顶部的导航栏中，选择要 AWS 区域 在其中创建接入点的。接入点必须在与关联卷相同的区域中创建。

1. 在左侧导航窗格中，选择**卷**。

1. 在**卷**页面上，选择要将接入点连接到的 ONTAP 卷。 FSx 

1. 从 “**操作**” 菜单中选择 “**创建 S3 接入点**”，显示 “**创建 S3 接入点**” 页面。

1. 在**接入点名称**中，输入接入点的名称。有关接入点名称的准则和限制的更多信息，请参阅[接入点命名规则](access-point-for-fsxn-restrictions-limitations-naming-rules.md#access-points-for-fsxn-naming-rules)。

   **数据源详细**信息中填充了您在步骤 3 中选择的卷的信息。

1. Amazon 使用文件系统用户身份 FSx 对使用此访问点发出的文件访问请求进行身份验证。请确保您指定的文件系统用户对 ONTAP 卷具有正确的权限。 FSx 

   对于**文件系统用户身份类型**，请选择 UNIX 或 Windows。

1. 在**用户名**中输入用户的用户名。

1. 在**网络配置**面板中，您可以选择接入点是可以从 Internet 访问，还是只能访问特定的虚拟私有云。

   对于**网络来源**，选择 **Internet** 以使接入点可通过互联网访问，或者选择**虚拟私有云 (VPC)****，然后输入要限制访问接入点的 VPC ID**。

   有关接入点的网络源的更多信息，请参阅[创建限制到 Virtual Private Cloud 的接入点](access-points-for-fsxn-vpc.md)。

1. （可选）在 “**接入点策略-*可选***” 下，指定可选的接入点策略。请务必解决所有政策警告、错误和建议。有关指定接入点策略的更多信息，请参阅 A *mazon 简单存储服务用户指南*中的[配置 IAM 策略以使用接入点](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-points-policies.html)。

1. 选择**创建接入点**以查看接入点连接配置。

## 创建连接到 FSx 卷的 S3 接入点 (CLI)
<a name="creating-access-point-cli"></a>

以下示例命令创建一个名为的接入点*`my-ontap-ap`*，该接入点已连接到账户*`fsvol-0123456789abcdef9`**`111122223333`*中的 for ONTAP 卷。 FSx 

```
$ aws fsx create-and-attach-s3-access-point --name my-ontap-ap --type ONTAP --ontap-configuration \
   VolumeId=fsvol-0123456789abcdef9,FileSystemIdentity='{Type=UNIX,UnixUser={Name=ec2-user}}' \
   --s3-access-point VpcConfiguration='{VpcId=vpc-0123467},Policy=access-point-policy-json
```

如果请求成功，系统会通过返回新的 S3 接入点附件进行响应。

```
$ {
  {
     "S3AccessPointAttachment": {
        "CreationTime": 1728935791.8,
        "Lifecycle": "CREATING",
        "LifecycleTransitionReason": {
            "Message": "string"
        },
        "Name": "my-ontap-ap",
        "OntapConfiguration": {
            "VolumeId": "fsvol-0123456789abcdef9",
            "FileSystemIdentity": {
                "Type": "UNIX",
                "UnixUser": {
                    "Name": "ec2-user"
                }
            }
        },
        "S3AccessPoint": {
            "ResourceARN": "arn:aws:s3:us-east-1:111122223333:accesspoint/my-ontap-ap",
            "Alias": "my-ontap-ap-aqfqprnstn7aefdfbarligizwgyfouse1a-ext-s3alias",
            "VpcConfiguration": {
                "VpcId": "vpc-0123467"
        }
     }
  }
}
```

# 创建限制到 Virtual Private Cloud 的接入点
<a name="access-points-for-fsxn-vpc"></a>

创建接入点时，您可以选择允许通过互联网访问接入点，也可以指定通过该接入点发出的所有请求都必须来自特定的 Amazon Virtual Private Cloud。可从 Internet 访问的接入点被认为是具有 `Internet` 网络起源。它可以从互联网上的任何地方使用，但要遵守接入点、底层存储桶或 Amazon FSx 卷以及相关资源（例如请求的对象）的任何其他访问限制。只能从指定的 Amazon VPC 访问的接入点的网络来源为`VPC`，Amazon S3 会拒绝向该接入点发出的并非来自该亚马逊 VPC 的任何请求。

**重要**  
您只能在创建接入点时指定接入点的网络起源。创建接入点后，无法更改其网络起源。

要将接入点限制为仅限 Amazon VPC 的访问，请在创建接入点的请求中加入`VpcConfiguration`参数。在`VpcConfiguration`参数中，您可以指定您希望能够使用接入点的 Amazon VPC ID。如果请求是通过接入点发出的，则该请求必须来自亚马逊 VPC，否则 Amazon S3 将拒绝该请求。

您可以使用 AWS CLI、 AWS SDKs或 REST 检索接入点的网络来源 APIs。如果接入点指定了 Amazon VPC 配置，则其网络来源为`VPC`。否则，接入点的网络起源为 `Internet`。

**Example**  
***示例：创建仅限于 Amazon VPC 访问的接入点***  
以下示例在账户`amzn-s3-demo-bucket`中创建了一个名`example-vpc-ap`为存储桶的接入点`123456789012`，该接入点仅允许从 `vpc-1a2b3c` Amazon VPC 进行访问。然后，该示例验证新接入点是否具有 `VPC` 网络起源。  

```
$ aws fsx create-and-attach-s3-access-point --name example-vpc-ap --type ONTAP --ontap-configuration \
   VolumeId=fsvol-0123456789abcdef9,FileSystemIdentity='{Type=UNIX,UnixUser={Name=ec2-user}}' \
   --s3-access-point VpcConfiguration='{VpcId=vpc-id},Policy=access-point-policy-json
```

```
$ {
  {
     "S3AccessPointAttachment": {
        "Lifecycle": "CREATING",
        "CreationTime": 1728935791.8,
        "Name": "example-vpc-ap",
        "OntapConfiguration": {
            "VolumeId": "fsvol-0123456789abcdef9",
            "FileSystemIdentity": {
                "Type": "UNIX",
                "UnixUser": {
                    "Name": "my-unix-user"
                }
            }
        },
        "S3AccessPoint": {
            "ResourceARN": "arn:aws:s3:us-east-1:111122223333:accesspoint/example-vpc-ap",
            "Alias": "access-point-abcdef0123456789ab12jj77xy51zacd4-ext-s3alias",
            "VpcConfiguration": { 
                "VpcId": "vpc-1a2b3c"
            }
        }
     }
  }
```

要将接入点与 Amazon VPC 配合使用，您必须修改亚马逊 VPC 终端节点的访问策略。亚马逊 VPC 终端节点允许流量从您的亚马逊 VPC 流向亚马逊 S3。他们有访问控制策略，用于控制如何允许 Amazon VPC 内的资源与 Amazon S3 交互。只有当 Amazon VPC 终端节点策略授予访问接入点和底层存储桶的访问权限时，才能通过接入点成功从您的 Amazon VPC 发送到 Amazon S3 的请求。

**注意**  
要使资源只能在 Amazon VPC 内访问，请务必为您的 Amazon VPC 终端节点创建[私有托管区域](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/hosted-zone-private-creating.html)。要使用私有托管区域，请[修改您的 Amazon VPC 设置](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-dns.html#vpc-dns-updating)，将 [Amazon VPC 网络`enableDnsSupport`属`enableDnsHostnames`性和](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-dns.html#vpc-dns-support)设置为`true`。

以下示例策略声明配置了一个允许调用的 Amazon VPC 终端节点`GetObject`和一个名为`example-vpc-ap`的接入点。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
    {
        "Principal": "*",
        "Action": [
            "s3:GetObject"
        ],
        "Effect": "Allow",
        "Resource": [
            "arn:aws:s3:us-east-1:123456789012:accesspoint/example-vpc-ap/object/*"
        ]
    }]
}
```

------

**注意**  
此示例中的 `Resource` 声明使用 Amazon 资源名称（ARN）指定接入点。

有关亚马逊 VPC 终端节点策略的更多信息，请参阅 Amazon VP *C 用户指南中的 Amaz* [on S3 网关终端节点](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints-s3.html#vpc-endpoints-policies-s3)。

# 管理 Amazon S3 接入点
<a name="access-points-for-fsxn-manage"></a>

本节介绍如何使用、或 API 管理和使用您的 Amazon S3 接入点。 AWS 管理控制台 AWS Command Line Interface

**Topics**
+ [

# 列出 S3 接入点附件
](access-points-list.md)
+ [

# 查看接入点详情
](access-points-details.md)
+ [

# 删除 S3 接入点附件
](delete-access-point.md)

# 列出 S3 接入点附件
<a name="access-points-list"></a>

本节介绍如何使用 AWS 管理控制台、 AWS Command Line Interface或 REST API 列出 S3 接入点。

## 列出连接到 for ONTAP 卷 FSx 的所有 S3 接入点（亚马逊 FSx 控制台）
<a name="access-points-list-console"></a>

1. 打开 Amazon FSx 控制台，网址为[https://console.aws.amazon.com/fsx/](https://console.aws.amazon.com/fsx/)。

1. 在控制台左侧的导航窗格中，选择**卷**。

1. 在 “**卷**” 页面上，选择要查看其接入点附件的 **ONTAP** 卷。

1. 在卷详细信息页面上，选择 **S3** 以查看连接到该卷的所有 S3 接入点的列表。

## 列出连接到 for ONTAP 卷的所有 S3 接入点 () FSx AWS CLI
<a name="access-points-list-cli"></a>

以下[https://docs.aws.amazon.com/fsx/latest/APIReference/API_DescribeS3AccessPointAttachments.html](https://docs.aws.amazon.com/fsx/latest/APIReference/API_DescribeS3AccessPointAttachments.html)示例命令显示了如何使用列出 S3 接入点附件。 AWS CLI 

以下命令列出了连接到 for ONTAP 文件系统 fs-0abcdef123456789 上卷 FSx 的所有 S3 接入点。

```
aws fsx describe-s3-access-point-attachments --filter {[Name: file-system-id, Values:{[fs-0abcdef123456789]}} 
```

以下命令列出了连接到 for ONTAP 卷的 S3 接入点 vol-9 FSx abcdef123456789]。

```
aws fsx describe-s3-access-point-attachments --filter {[Name: volume-id, Values:{[vol-9abcdef123456789]}} 
```

有关更多信息和示例，请参阅《AWS CLI 命令参考》**中的 [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3control/list-access-points.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3control/list-access-points.html)。

# 查看接入点详情
<a name="access-points-details"></a>

本节介绍如何使用 AWS 管理控制台、 AWS Command Line Interface或 REST API 查看 S3 接入点的详细信息。

## 查看连接到 for ONTAP 卷的 S3 接入点 FSx 的详细信息（Amazon FSx 控制台）
<a name="access-points-details-console"></a>

1. 打开 Amazon FSx 控制台，网址为[https://console.aws.amazon.com/fsx/](https://console.aws.amazon.com/fsx/)。

1. 导航到连接到要查看其详细信息的接入点的卷。

1. 选择 **S3** 以显示连接到该卷的接入点列表。

1. 选择要查看其详细信息的接入点。

1. 在 **S3 接入点附件摘要**下，查看所选接入点的配置详细信息和属性。

   **接入点附件中还列出了**文件系统用户身份**配置和 S3 接入点权限**策略。

1. 要在 Amazon S3 控制台中查看接入点的 S3 配置，请选择 S3 接入点下显示的 **S3 接入点**名称。它会将您带到 Amazon S3 控制台中接入点的详细信息页面。

# 删除 S3 接入点附件
<a name="delete-access-point"></a>

本节介绍如何使用 AWS 管理控制台、 AWS Command Line Interface或 REST API 删除 S3 接入点。

删除 S3 接入点附件需要`fsx:DetatchAndDeleteS3AccessPoint`和`s3control:DeleteAccessPoint`权限。

## 删除连接到 for ONTAP 卷 FSx 的 S3 接入点（亚马逊 FSx 控制台）
<a name="access-points-delete-console"></a>

1. 打开 Amazon FSx 控制台，网址为[https://console.aws.amazon.com/fsx/](https://console.aws.amazon.com/fsx/)。

1. 导航到要删除的 S3 接入点附件所连接的卷。

1. 选择 **S3** 以显示连接到该卷的 S3 接入点列表。

1. 选择要删除的 S3 接入点附件。

1. 选择**删除**。

1. 确认要删除 S3 接入点，然后选择**删除**。

## 删除连接到 for ONTAP 卷 FSx 的 S3 接入点 ()AWS CLI
<a name="access-points-delete-cli"></a>
+ 要删除 S3 接入点附件，请使用 [detach-and-delete-s3 接入点](https://docs.aws.amazon.com/cli/latest/reference/fsx/detach-and-delete-s3-access-point.html) CLI 命令（或[DetachAndDelete等效](https://docs.aws.amazon.com/fsx/latest/APIReference/API_DetachAndDeleteS3AccessPoint.html)的 AccessPoint S3 API 操作），如以下示例所示。使用`--name`属性指定要删除的 S3 接入点附件的名称。

  ```
  aws fsx detach-and-delete-s3-access-point \
      --region us-east-1 \
      --name my-ontap-ap
  ```

# 使用接入点
<a name="access-points-for-fsxn-usage-examples"></a>

以下示例演示如何使用 S3 API 使用接入点访问存储在 fo FSx r ONTAP 卷上的文件数据。有关连接到 for ONTAP 卷的接入点所支持的 Amazon S3 API 操作 FSx 的完整列表，请参阅[接入点兼容性](access-points-for-fsxn-object-api-support.md)。

**注意**  
ONTAP 卷上的 FSx 文件以标识`StorageClass`为。`FSX_ONTAP`

**Topics**
+ [

# 使用 S3 接入点下载文件
](get-object-ap.md)
+ [

# 使用 S3 接入点上传文件
](put-object-ap.md)
+ [

# 使用 S3 接入点列出文件
](list-object-ap.md)
+ [

# 使用 S3 接入点标记文件
](add-tag-set-ap.md)
+ [

# 使用 S3 接入点删除文件
](delete-object-ap.md)

# 使用 S3 接入点下载文件
<a name="get-object-ap"></a>

以下`get-object`示例命令显示了如何使用通过接入点下载文件。 AWS CLI 您必须包括一个输出文件，这是已下载对象的文件名。

该示例*`my-image.jpg`*通过接入点请求文件*`my-ontap-ap`*并将下载的文件另存为*`download.jpg`*。

```
$ aws s3api get-object --key my-image.jpg --bucket my-ontap-ap-hrzrlukc5m36ft7okagglf3gmwluquse1b-ext-s3alias download.jpg
{
    "AcceptRanges": "bytes",
    "LastModified": "Mon, 14 Oct 2024 17:01:48 GMT",
    "ContentLength": 141756,
    "ETag": "\"00751974dc146b76404bb7290f8f51bb-1\"",
    "ContentType": "binary/octet-stream",
    "ServerSideEncryption": "SSE_FSX",
    "Metadata": {},
    "StorageClass": "FSX_ONTAP"
}
```

您也可以使用 REST API 通过接入点下载对象。有关更多信息，请参阅《Amazon Simple Storage Service API 参考》**中的 [https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html)。

# 使用 S3 接入点上传文件
<a name="put-object-ap"></a>

以下`put-object`示例命令显示了如何使用通过接入点上传文件。 AWS CLI 您必须包括一个输出文件，这是上传对象的文件名。

该示例*`my-new-image.jpg`*通过接入点上传文件*`my-ontap-ap`*并将上传的文件另存为*`my-new-image.jpg`*。

```
$ aws s3api put-object --bucket my-ontap-ap-hrzrlukc5m36ft7okagglf3gmwluquse1b-ext-s3alias --key my-new-image.jpg --body  my-new-image.jpg
```

您也可以使用 REST API 通过接入点上传对象。有关更多信息，请参阅《Amazon Simple Storage Service API 参考》**中的 [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html)。

# 使用 S3 接入点列出文件
<a name="list-object-ap"></a>

以下示例通过区域中账户 ID `my-ontap-ap-hrzrlukc5m36ft7okagglf3gmwluquse1b-ext-s3alias` *`111122223333`* 拥有的接入点别名列出文件*`us-east-2`*。

```
$ aws s3api list-objects-v2 --bucket my-ontap-ap-hrzrlukc5m36ft7okagglf3gmwluquse1b-ext-s3alias
{
    "Contents": [
        {
            "Key": ".hidden-dir-with-data/file.txt",
            "LastModified": "2024-10-29T14:22:05.4359",
            "ETag": "\"88990077ab44cd55ef66aa77-1\"",
            "Size": 18,
            "StorageClass": "FSX_ONTAP"
        },
        {
            "Key": "documents/report.rtf",
            "LastModified": "2024-11-02T10:18:15.6621",
            "ETag": "\"ab12cd34ef56a89219zg6aa77-1\"",
            "Size": 1048576,
            "StorageClass": "FSX_ONTAP"
        },
    ]
}
```

您也可以使用 REST API 列出您的文件。有关更多信息，请参阅《Amazon Simple Storage Service API 参考》**中的 [https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjectsV2.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjectsV2.html)。

# 使用 S3 接入点标记文件
<a name="add-tag-set-ap"></a>

以下`put-object-tagging`示例命令显示了如何使用通过接入点添加标签集。 AWS CLI 每个标签都是一个键-值对。有更多信息，请参阅《Amazon Simple Storage Service 用户指南》**中的[使用标签对存储进行分类](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-tagging.html)。

该示例`my-image.jpg`使用接入点向现有文件添加标签集。*`my-ontap-ap`*

```
$ aws s3api put-object-tagging --bucket my-ontap-ap-hrzrlukc5m36ft7okagglf3gmwluquse1b-ext-s3alias --key my-image.jpg --tagging TagSet=[{Key="finance",Value="true"}] 
```

您还可以使用 REST API 通过接入点向对象添加标签集。有关更多信息，请参阅《Amazon Simple Storage Service API 参考》**中的 [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectTagging.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectTagging.html)。

# 使用 S3 接入点删除文件
<a name="delete-object-ap"></a>

以下`delete-object`示例命令显示了如何使用通过接入点删除文件。 AWS CLI 

```
$ aws s3api delete-object --bucket my-ontap-ap-hrzrlukc5m36ft7okagglf3gmwluquse1b-ext-s3alias --key my-image.jpg 
```

您也可以使用 REST API 通过接入点删除对象。有关更多信息，请参阅《Amazon Simple Storage Service API 参考》**中的 [https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObject.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObject.html)。

# 对 S3 接入点问题进行故障排除
<a name="troubleshooting-access-points-for-fsxn"></a>

本节介绍从 S3 接入点访问 FSx 数据时遇到问题的症状、原因和解决方案。

## 由于文件系统用户身份查询失败，S3 接入点创建失败
<a name="name-mapping"></a>

创建和连接 S3 接入点时，[https://docs.aws.amazon.com/fsx/latest/APIReference/API_OntapFileSystemIdentity.html#FSx-Type-OntapFileSystemIdentity-Type](https://docs.aws.amazon.com/fsx/latest/APIReference/API_OntapFileSystemIdentity.html#FSx-Type-OntapFileSystemIdentity-Type)必须提供。您负责在 ONTAP 中配置提供的 UNIX 或 Windows 用户。

如果提供[https://docs.aws.amazon.com/fsx/latest/APIReference/API_OntapUnixFileSystemUser.html](https://docs.aws.amazon.com/fsx/latest/APIReference/API_OntapUnixFileSystemUser.html)了，则 ONTAP 必须能够将 UnixUser 名称映射到 UNIX U GIDs ID/。ONTAP 使用[名称服务交换机配置](https://docs.netapp.com/us-en/ontap/nfs-admin/ontap-name-service-switch-config-concept.html)来确定如何执行此映射。

```
> vserver services name-service ns-switch show
```

```
Vserver         Database       Order
--------------- ------------   ---------
svm_1           hosts          files,
                               dns
svm_1           group          files,
                               ldap
svm_1           passwd         files,
                               ldap
svm_1           netgroup       nis,
                               files
```

 请确保您在 UnixUser `passwd`和`group`数据库中有使用有效来源（`files``ldap`、等）的条目。可以使用`vserver services name-service unix-user`和`vserver services name-service unix-group`命令配置`files`源。可以使用`vserver services name-service ldap`命令配置`ldap`源。

 如果提供[https://docs.aws.amazon.com/fsx/latest/APIReference/API_OntapWindowsFileSystemUser.html](https://docs.aws.amazon.com/fsx/latest/APIReference/API_OntapWindowsFileSystemUser.html)了，则 ONTAP 必须能够在加入的 Active Directory 域中找到该 WindowsUser 名称。

 要确认提供的 UnixUser 或映射 WindowsUser 是否正确，`fsxadmin`可以使用以下命令（替换为 f `-unix-user-name` o `-win-name` r WindowsUsers）：

```
> vserver services access-check authentication show-creds -node FsxId0fd48ff588b9d3eee-01 -vserver svm_name -unix-user-name root -show-partial-unix-creds true
```

成功输出示例：

```
 UNIX UID: root

 GID: daemon
 Supplementary GIDs:
  daemon
```

不成功的输出示例：

```
Error: Acquire UNIX credentials procedure failed
  [  2 ms] Entry for user-name: unmapped-user not found in the
           current source: FILES. Entry for user-name: unmapped-user
           not found in any of the available sources
**[     3] FAILURE: Unable to retrieve UID for UNIX user
**         unmapped-user

Error: command failed: Failed to resolve user name to a UNIX ID. Reason: "SecD Error: object not found".
```

 不正确的用户映射可能会导致 S3 `Access Denied` 出现错误。请参阅下面的失败原因示例。

**`Entry for user-name not found in the current source: LDAP`**

如果您配置`ns-switch`为使用`ldap`源，请确保 ONTAP 已配置为正确使用您的 LDAP 服务器。有关更多信息 [NetApp，请参阅配置 LDAP 的技术报告](https://www.netapp.com/pdf.html?item=/media/19423-tr-4835.pdf)。

**`RESULT_ERROR_DNS_CANT_REACH_SERVER` 或 `RESULT_ERROR_SECD_IN_DISCOVERY`**

此错误表示 ONTAP 中虚拟服务器的 DNS 配置存在问题。运行以下命令以确保您的虚拟服务器的 DNS 配置正确：

```
> dns check -vserver svm_name
```

**`NT_STATUS_PENDING`**

此错误表示与域控制器通信时出现问题。根本原因可能是由于缺乏中小型企业积分。有关更多信息，请参阅 [NetApp KB](https://kb.netapp.com/on-prem/ontap/da/NAS/NAS-KBs/How_ONTAP_implements_SMB_crediting)。

## 由于未装入卷，S3 接入点创建失败。
<a name="junction"></a>

只能 FSx 为已安装的 ONTAP 卷（具有接合路径）连接到 S3 接入点。这也适用于 DP（数据保护）卷类型。有关更多信息，请参阅 [ONTAP 卷装载文档](https://docs.netapp.com/us-en/ontap/nfs-admin/mount-unmount-existing-volumes-nas-namespace-task.html)。

## 由于 SVM 上已禁用 S3 协议，S3 接入点创建失败
<a name="s3-protocol-not-allowed"></a>

S3 接入点要求在存储虚拟机 (SVM) 上启用 S3 协议。要启用 S3 协议，请使用`fsxadmin`以下命令在 ONTAP CLI 中运行以下命令：

```
> vserver add-protocols -vserver svm_name -protocols s3
```

要验证协议是否已启用，请执行以下操作：

```
> vserver show -vserver svm_name -fields allowed-protocols,disallowed-protocols
```

## 文件系统无法处理 S3 请求
<a name="no-request-handling"></a>

如果特定工作负载的 S3 请求量超过文件系统处理流量的容量，则可能会遇到 S3 请求错误（例如`Internal Server Error``503 Slow Down`、和`Service Unavailable`）。您可以使用 Amazon CloudWatch 指标（例如和`CPU utilization`）主动监控文件系统的性能`Network throughput utilization`并发出警报。如果您发现性能下降，则可以通过增加文件系统的吞吐容量来解决此问题。

## 使用自动创建的服务角色的默认 S3 接入点权限拒绝访问
<a name="ap-arn-format"></a>

某些 S3 集成 AWS 服务将创建自定义服务角色并针对您的特定用例自定义附加权限。将您的 S3 接入点别名指定为 S3 资源时，这些附加的权限可能包括使用存储桶 ARN 格式（例如`arn:aws:s3:::my-fsx-ap-foo7detztxouyjpwtu8krroppxytruse1a-ext-s3alias`）而不是接入点 ARN 格式（例如）的接入点。`arn:aws:s3:us-east-1:1234567890:accesspoint/my-fsx-ap`要解决此问题，请修改策略以使用接入点的 ARN。

# 访问来自其他 AWS 服务的数据
<a name="using-fsx-with-other-AWS-services"></a>

除了 Amazon EC2 之外，您还可以将其他 AWS 服务与您的卷一起使用来访问您的数据。

**Topics**
+ [

# 将 Amazon WorkSpaces 与 FSx for ONTAP 配合使用
](using-workspaces.md)
+ [

# 将亚马逊弹性容器服务与 ONTAP FSx 配合使用
](mount-ontap-ecs-containers.md)
+ [

# 将亚马逊弹性 VMware 服务与 ONTAP FSx 配合使用
](evs-ontap.md)
+ [

# 将 VMware 云与 ONTAP 搭 FSx 配使用
](vmware-cloud-ontap.md)

# 将 Amazon WorkSpaces 与 FSx for ONTAP 配合使用
<a name="using-workspaces"></a>

FSx for ONTAP 可与 Amazon WorkSpaces 配合使用，提供共享的网络附属存储（NAS）或存储 Amazon WorkSpaces 账户的漫游配置文件。连接到具有 WorkSpaces 实例的 SMB 文件共享后，用户可以在文件共享上创建和编辑文件。

以下过程说明了如何将 Amazon FSx 与 Amazon WorkSpaces 配合使用，提供漫游配置文件和主文件夹的访问，从而实现一致的体验，并为 Windows 和 Linux WorkSpaces 用户提供共享的团队文件夹。如果您是第一次使用 Amazon WorkSpaces，则可以按照《Amazon WorkSpaces 管理指南》**中[开始使用 WorkSpaces 快速设置功能](https://docs.aws.amazon.com/workspaces/latest/adminguide/getting-started.html)中的说明创建您的第一个 Amazon WorkSpaces 环境。

**Topics**
+ [

## 提供漫游配置文件支持
](#workspace-roaming-profile)
+ [

## 提供共享文件夹以访问常用文件
](#workspace-shared-folder)

## 提供漫游配置文件支持
<a name="workspace-roaming-profile"></a>

您可以使用 Amazon FSx 向组织中的用户提供漫游配置文件支持。用户仅有权访问自己的漫游配置文件。此文件夹将使用 Active Directory 组策略自动连接。借助漫游配置文件，在注销 Amazon FSx 文件共享时，用户的数据和桌面设置得以保存，从而可以在不同的 WorkSpaces 实例之间共享文档和设置，并使用 Amazon FSx 每日自动备份进行自动备份。

**第 1 步：使用 Amazon FSx 为域用户创建配置文件文件夹位置**

1. 使用 Amazon FSx 控制台创建 FSx for ONTAP 文件系统。有关更多信息，请参阅 [创建文件系统（控制台）](creating-file-systems.md#create-MAZ-file-system-console)。
**重要**  
每个 FSx for ONTAP 文件系统都有一个端点 IP 地址范围，从该范围创建与文件系统关联的端点。对于多可用区文件系统，FSx for ONTAP 会选择默认未使用的 IP 地址范围 198.19.0.0/16 作为端点 IP 地址范围。如《Amazon WorkSpaces 管理指南》**中的 [WorkSpaces 的 IP 地址和端口要求](https://docs.aws.amazon.com/workspaces/latest/adminguide/workspaces-port-requirements.html)所述，WorkSpaces 还使用此 IP 地址范围来管理流量范围。因此，要从 WorkSpaces 访问 FSx for ONTAP 文件系统的*多可用区*，必须选择不与 198.19.0.0/16 重叠的端点 IP 地址范围。

1. 如果您还没有将存储虚拟机（SVM）加入 Active Directory，请立即创建一个。例如，您可以配置一个名为 `fsx` 的 SVM，并将安全样式设置为 `NTFS`。有关更多信息，请参阅 [创建存储虚拟机（控制台）](creating-svms.md#create-svm-console)。

1. 为您的 SVM 创建卷。例如，您可以创建一个名为 `fsx-vol` 的卷，该卷沿用 SVM 根卷的安全样式。有关更多信息，请参阅 [创建 FlexVol 卷（控制台）](creating-volumes.md#create-volume-console)。

1. 在您的卷上创建 SMB 共享。例如，您可以在名为 `fsx-vol` 的卷上创建一个名为 `workspace` 的共享，在其中创建一个名为 `profiles` 的文件夹。有关更多信息，请参阅 [管理 SMB 共享](create-smb-shares.md)。

1. 从 WorkSpace 或从运行 Windows Server 的 Amazon EC2 实例访问 Amazon FSx SVM。有关更多信息，请参阅 [访问您的 fo FSx r ONTAP 数据](supported-fsx-clients.md)。

1. 您将共享映射到 Windows WorkSpaces 实例上的 `Z:\`：  
![\[显示 Windows Map Network Drive 对话框，可将 ONTAP SMB 共享映射到 WorkSpace 上的某个驱动器号。\]](http://docs.aws.amazon.com/zh_cn/fsx/latest/ONTAPGuide/images/workspace-map-drive.png)

**步骤 2：将 FSx for ONTAP 文件共享链接至用户账户**

1. 在测试用户的 WorkSpace 时，选择 **Windows > 系统 > 高级系统设置**。

1. 在**系统属性**中，选择**高级**选项卡，然后按**用户配置文件**部分的**设置**按钮。已登录的用户将具有 `Local` 的配置文件类型。

1. 将测试用户从 WorkSpace 注销。

1. 设置测试用户的漫游配置文件位于您的 Amazon FSx 文件系统上。在您的管理员 WorkSpaces 中，打开 PowerShell 控制台并使用类似于以下示例的命令（该示例使用您之前在步骤 1 中创建的 `profiles` 文件夹）：

   ```
   Set-ADUser username -ProfilePath \\filesystem-dns-name\sharename\foldername\username
   ```

   例如：

   ```
   Set-ADUser testuser01 -ProfilePath \\fsx.fsxnworkspaces.com\workspace\profiles\testuser01
   ```

1. 登录到测试用户 WorkSpace。

1. 在**系统属性**中，选择**高级**选项卡，然后按**用户配置文件**部分的**设置**按钮。已登录的用户将具有 `Roaming` 的配置文件类型。  
![\[“Windows 用户配置文件”对话框显示为 WorkSpace 用户配置的配置文件。\]](http://docs.aws.amazon.com/zh_cn/fsx/latest/ONTAPGuide/images/workspace-profiles.png)

1. 浏览 FSx 查看 ONTAP 共享文件夹。在 `profiles` 文件夹中，您将看到该用户的文件夹。  
![\[“Windows 文件资源管理器”对话框显示为 WorkSpace 用户创建的新文件夹。\]](http://docs.aws.amazon.com/zh_cn/fsx/latest/ONTAPGuide/images/workspace-new-folder.png)

1. 在测试用户的 `Documents` 文件夹中创建文档

1. 将测试用户从其 WorkSpace 注销。

1. 如果您以测试用户的身份重新登录并浏览至他们的配置文件存储位置，则会看到您创建的文档。  
![\[“Windows 文件资源管理器”对话框显示为 WorkSpace 用户创建的新文件。\]](http://docs.aws.amazon.com/zh_cn/fsx/latest/ONTAPGuide/images/workspace-new-file.png)

## 提供共享文件夹以访问常用文件
<a name="workspace-shared-folder"></a>

您可以使用 Amazon FSx 向组织中的用户提供共享文件夹。共享文件夹可用于存储您的用户社区使用的文件，例如演示文件、代码示例和所有用户都需要的说明手册。通常，您需为共享文件夹映射驱动器；但是，由于映射的驱动器使用驱动器号，因此您可拥有的共享数量有限。此过程将创建一个 Amazon FSx 共享文件夹，该文件夹无需驱动器号即可使用，这样您就可以更灵活地将共享分配给团队。

**挂载共享文件夹，以便从 Linux 和 Windows WorkSpaces 进行跨平台访问**

1. 从**任务栏**中选择**位置 > 连接到服务器**。

   1. 对于**服务器**，请输入 *file-system-dns-name*。

   1. 将**类型**设置为 `Windows share`。

   1. 将**共享**设置为 SMB 共享的名称，例如 `workspace`。

   1. 您可以将**文件夹**保留为 `/` 或将其设置为文件夹，例如名为 `team-shared` 的文件夹。

   1. 对于 Linux WorkSpace，如果您的 Linux WorkSpace 与 Amazon FSx 共享位于同一个域中，则无需输入用户详细信息。

   1. 选择**连接**。  
![\[“连接到服务器”对话框显示了与 SMB 共享的连接。\]](http://docs.aws.amazon.com/zh_cn/fsx/latest/ONTAPGuide/images/workspace-connect.png)

1. 建立连接后，您可以在名为 `workspace` 的 SMB 共享中看到共享文件夹（在本示例中名为 `team-shared`）。  
![\[Windows 对话框显示了共享文件夹。\]](http://docs.aws.amazon.com/zh_cn/fsx/latest/ONTAPGuide/images/workspace-mounted.png)

# 将亚马逊弹性容器服务与 ONTAP FSx 配合使用
<a name="mount-ontap-ecs-containers"></a>

你可以从亚马逊 EC2 Linux 或 Windows 实例上的亚马逊弹性容器服务 (Amazon ECS) Service Docker 容器访问适用于 NetApp ONTAP 文件系统的亚马逊 FSx。

## 在 Amazon ECS Linux 容器上挂载
<a name="mount-ecs-linux"></a>

1. 使用 EC2 Linux \$1 网络集群模板为您的 Linux 容器创建 ECS 集群。有关更多信息，请参阅《Amazon Elastic Container Service 开发人员指南》**中的[创建集群](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/create_cluster.html)。

1. 在 EC2 实例上创建用于挂载 SVM 卷的目录，如下所示：

   ```
   sudo mkdir /fsxontap
   ```

1. 在实例启动期间使用用户数据脚本或运行以下命令，在 Linux EC2 实例上挂载 FSx for ONTAP 卷：

   ```
   sudo mount -t nfs svm-ip-address:/vol1 /fsxontap
   ```

1. 使用以下命令挂载卷。

   ```
   sudo mount -t nfs -o nfsvers=NFS_version svm-dns-name:/volume-junction-path /fsxontap
   ```

   以下示例使用示例值。

   ```
   sudo mount -t nfs -o nfsvers=4.1 svm-01234567890abdef0.fs-01234567890abcdef1.fsx.us-east-1.amazonaws.com:/vol1 /fsxontap
   ```

   您也可以使用 SVM 的 IP 地址来代替其 DNS 名称。

   ```
   sudo mount -t nfs -o nfsvers=4.1 198.51.100.1:/vol1 /fsxontap
   ```

1. 创建 Amazon ECS 任务定义时，请在 JSON 容器定义中添加以下 `volumes` 和 `mountPoints` 容器属性。将`sourcePath`替换为 for ONTAP 文件系统中的 FSx 挂载点和目录。

   ```
   {
       "volumes": [
           {
               "name": "ontap-volume",
               "host": {
                   "sourcePath": "mountpoint"
               }
           }
       ],
       "mountPoints": [
           {
               "containerPath": "containermountpoint",
               "sourceVolume": "ontap-volume"
           }
       ],
       .
       .
       .
   }
   ```

## 在 Amazon ECS Windows 容器上挂载
<a name="mount-ecs-windows"></a>

1. 使用 EC2 Windows \$1 网络集群模板为您的 Windows 容器创建 ECS 集群。有关更多信息，请参阅《Amazon Elastic Container Service 开发人员指南》**中的[创建集群](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/create_cluster.html)。

1. 将加入域的 Windows EC2 实例添加到 ECS Windows 集群并映射 SMB 共享。

   启动已加入您的 Active Directory 域的 ECS 优化的 Windows EC2 实例，然后通过运行以下命令初始化 ECS 代理。

   ```
   PS C:\Users\user> Initialize-ECSAgent -Cluster windows-fsx-cluster -EnableTaskIAMRole
   ```

   您也可以将脚本中的信息传递到用户数据文本字段，如下所示。

   ```
   <powershell>
   Initialize-ECSAgent -Cluster windows-fsx-cluster -EnableTaskIAMRole
   </powershell>
   ```

1. 在 EC2 实例上创建 SMB 全局映射，以便您可以将 SMB 共享映射到驱动器。将 netbios 或 DNS 名称下方的值替换为 FSx 文件系统和共享名称。挂载在 Linux EC2 实例上的 NFS 卷 vol1 在文件系统上配置为 CIFS 共享 fsxontap。 FSx 

   ```
   vserver cifs share show -vserver svm08 -share-name fsxontap
   
   
                                         Vserver: svm08
                                           Share: fsxontap
                        CIFS Server NetBIOS Name: FSXONTAPDEMO
                                            Path: /vol1
                                Share Properties: oplocks
                                                  browsable
                                                  changenotify
                                                  show-previous-versions
                              Symlink Properties: symlinks
                         File Mode Creation Mask: -
                    Directory Mode Creation Mask: -
                                   Share Comment: -
                                       Share ACL: Everyone / Full Control
                   File Attribute Cache Lifetime: -
                                     Volume Name: vol1
                                   Offline Files: manual
                   Vscan File-Operations Profile: standard
               Maximum Tree Connections on Share: 4294967295
                      UNIX Group for File Create: -
   ```

1. 使用以下命令在 EC2 实例上创建 SMB 全局映射：

   ```
   New-SmbGlobalMapping -RemotePath \\fsxontapdemo.fsxontap.com\fsxontap -LocalPath Z:
   ```

1. 创建 Amazon ECS 任务定义时，请在 JSON 容器定义中添加以下 `volumes` 和 `mountPoints` 容器属性。将`sourcePath`替换为 for ONTAP 文件系统中的 FSx 挂载点和目录。

   ```
   {
       "volumes": [
           {
               "name": "ontap-volume",
               "host": {
                   "sourcePath": "mountpoint"
               }
           }
       ],
       "mountPoints": [
           {
               "containerPath": "containermountpoint",
               "sourceVolume": "ontap-volume"
           }
       ],
       .
       .
       .
   }
   ```

# 将亚马逊弹性 VMware 服务与 ONTAP FSx 配合使用
<a name="evs-ontap"></a>

您可以将 ONTAP 用作亚马逊弹性 VMware 服务 (Amazon EVS) 软件定义数据中心 () 的外部数据存储。 FSx SDDCs有关更多信息，请参阅使用 [Amazon FSx for NetApp ONTAP 运行高性能工作负载](https://docs.aws.amazon.com/evs/latest/userguide/fsx-ontap.html)。有关详细说明，请参阅[将适用 FSx 于 NetApp ONTAP 的亚马逊配置为 NFS 数据存储和将适用 FSx 于 ONTA](https://docs.aws.amazon.com/evs/latest/userguide/config-fsx-nfs-datastore.html) [P 的亚马逊配置 NetApp 为 iSCSI](https://docs.aws.amazon.com/evs/latest/userguide/config-fsx-iscsi-datastore.html) 数据存储。

# 将 VMware 云与 ONTAP 搭 FSx 配使用
<a name="vmware-cloud-ontap"></a>

您可以将 ONTAP 用作 AWS 软件定义数据中心上 VMware 云的外部数据存储库（）。 FSx SDDCs有关更多信息，请参阅《[使用亚马逊 NetApp ONTAP 版部署指南》将 FSx 适用于 ONTAP AWS 的亚马逊配置 FSx 为外部存储](https://docs.vmware.com/en/VMware-Cloud-on-AWS/services/com.vmware.vmc-aws-operations/GUID-D55294A3-7C40-4AD8-80AA-B33A25769CCA.html?hWord=N4IghgNiBcIGYGcAeIC+Q)[和 NetApp 开启VMware 云](https://vmc.techzone.vmware.com/fsx-guide#overview)。