对 SFTP 连接器问题进行故障排除 - AWS Transfer Family

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

对 SFTP 连接器问题进行故障排除

本节介绍了 SFTP 连接器问题的可能解决方案。

为您的 SFTP 连接器添加可信主机密钥进行故障排除

描述

创建或编辑 SFTP 连接器并添加可信主机密钥时,您会收到以下错误:Failed to edit connector details (Invalid host key format.)

原因

如果您粘贴了正确的公钥,则问题可能在于您包含了密钥的comment部分。 AWS Transfer Family 目前不接受密钥的注释部分。

解决方案

将密钥的注释部分粘贴到文本字段中时,将其删除。例如,假设您的密钥可能如下所示:

ssh-rsa AAAA...== marymajor@dev-dsk-marymajor-1d-c1234567.us-east-1.amazon.com

删除 == 字符后面的文本,然后仅粘贴密钥中直至并包括 == 的部分。

ssh-rsa AAAA...==

密钥协商失败

描述

您会收到密钥交换协商失败的错误。例如:

Key exchange negotiation failed due to incompatible host key algorithms. Client offered: [ecdsa-sha2-nistp256, ecdsa-sha2-nistp384, ecdsa-sha2-nistp521, rsa-sha2-512, rsa-sha2-256] Server offered: [ssh-rsa]

原因

出现此错误是因为服务器支持的主机密钥算法与连接器支持的主机密钥算法之间没有重叠。

解决方案

确保远程服务器支持错误消息中列出的至少一种客户端主机密钥算法。有关支持的算法列表,请参阅 AWS Transfer Family SFTP 连接器的安全策略

SFTP 连接器限制

描述

使用 SFTP 连接器进行文件传输时,您会遇到以下错误:

{"type":"ExecutionThrottled","details":{},"connectorId":"c-1234567890abcdef0"}

或者,您会注意到在大容量操作期间,文件传输会间歇性延迟或失败。

原因

SFTP 连接器的服务配额限制了并发文件传输和 API 操作的数量。当超过这些限制时,会进行限流以保护服务并确保所有客户的公平使用。

解决方案

要解决 SFTP 连接器问题,请尝试以下解决方案:

  1. 在应用程序中实现指数退避和重试逻辑。例如,创建一个函数,该函数会自动重试失败的操作,并且两次尝试之间的等待时间会增加。

  2. 在您的应用程序中实现速率限制:

    • 限制并发传输的数量。

    • 添加传输批次之间的延迟。

  3. 根据服务配额监控您的使用情况:

    • 使用 CloudWatch 指标来跟踪 API 使用情况。

    • 设置警报,以便在接近配额限制时通知您。

  4. 有关扩展 SFTP 连接器的选项,请参阅扩展您的 SFTP 连接器

  5. 如果限制仍然存在并影响您的业务运营,请通过 Service Quotas 控制台申请增加配额。

优化 SFTP 连接器性能

描述

您的 SFTP 连接器传输速度比预期的要慢,或者性能不稳定。

原因

SFTP 连接器的性能可能会受到各种因素的影响,包括网络状况、文件大小、远程服务器配置和并发传输限制。

解决方案

优化 SFTP 连接器性能,请执行以下操作:

  • 配置您的远程 SFTP 服务器以获得最佳性能:

    • 增加每个会话的最大会话数和传输次数

    • 为高延迟连接优化 TCP 窗口大小

    • 如果两端都支持,则使用压缩

  • 考虑网络优化,将 Transfer Family 连接器放置在靠近远程 SFTP 服务器的区域。

  • 实施监控策略以识别性能瓶颈:

    • 监控网络吞吐量和延迟

    • 分析日志以了解慢速传输中的模式

排除 VPC 连接问题

本节介绍启用了 vpc_Lattice 的 SFTP 连接器常见问题的解决方案。

连接器停留在 “待处理” 状态

描述

您的启用 vpc_lattice 的 SFTP 连接器会在很长一段时间(超过 10 分钟)内保持PENDING状态。

原因

这可能是由于 DNS 解析延迟、资源网关配置问题或 VPC Lattice 服务网络关联问题造成的。

解决方案

请通过 AWS 支持 C AWS ontact.contact. 联系以帮助分析问题的根本原因。您也可以尝试以下解决方法。

  1. 验证您的资源网关是否处于ACTIVE状态:

    aws vpc-lattice get-resource-gateway --resource-gateway-identifier rgw-1234567890abcdef0
  2. 检查您的资源配置是否正确配置且处于活动状态:

    aws vpc-lattice get-resource-configuration --resource-configuration-identifier rcfg-1234567890abcdef0
  3. 确保您的资源网关在至少两个支持 VPC Lattice 的可用区中有子网。

  4. 如果问题仍然存在,请删除并重新创建具有相同配置的连接器。

连接器处于 “错误” 状态

描述

您的启用 vpc_Lattice 的 SFTP 连接器会显示状态和错误详情。ERRORED

原因

常见原因包括资源配置 ARN 无效、VPC 子网中的 IP 地址不足或尝试跨区域资源共享。

解决方案

  1. 使用describe-connector以下命令查看错误详情:

    aws transfer describe-connector --connector-id c-1234567890abcdef0
  2. 验证资源配置 ARN 是否正确且与您的连接器位于同一区域。

  3. 确保您的 VPC 子网有足够的可用的 IP 地址用于资源网关。

  4. 检查您的资源配置目标(IP 地址或 DNS 名称)是否可以从您的 VPC 访问。

不支持公有 IP 地址错误

描述

在尝试使用公有 IP 地址创建资源配置时,您会收到错误消息:ValidationException: IP address x.x.x.x is not in allowed ranges.

原因

公共终端节点的资源配置必须使用 DNS 名称,而不是 IP 地址。

解决方案

创建资源配置时,使用 SFTP 服务器的公有 DNS 名称而不是其 IP 地址:

aws vpc-lattice create-resource-configuration \ --name my-public-server-config \ --resource-gateway-identifier rgw-1234567890abcdef0 \ --resource-configuration-definition dnsResource={domainName="my.sftp.server.com"} \ --port-ranges 22

不支持可用区错误

描述

创建资源网关时收到错误消息:Subnet subnet-xxx is not valid because it is not in a supported Availability Zone.

原因

并非所有可用区都支持 VPC 莱迪思跨VPC资源访问。错误消息列出了您所在地区支持的 AZs 内容。

解决方案

  1. 在错误消息中列出的支持的可用区中创建子网。

  2. 更新您的资源网关,使其 AZs仅使用支持的子网。

  3. 确保在不同的支持 AZs中至少有两个子网。

使用 VPC_LATTICE 连接器的连接超时

描述

通过 VPC 连接器传输文件会间歇性超时或失败。

原因

VPC Lattice 有连接限制(每个资源 350 个连接)和空闲超时(TCP 为 350 秒)。

解决方案

  1. 监控并发连接,使其保持在每个资源的 350 个连接限制之内。

  2. 在应用程序中实现连接池和重复使用。

  3. 在 SFTP 客户端应用程序中配置适当的超时值(小于 350 秒)。

  4. 考虑为同一个目标创建多个资源配置来分配负载。

其他 SFTP 连接器问题

描述

运行后您会收到错误StartFileTransfer,但不知道问题的原因,并且在 API 调用后只返回连接器 ID。

原因

此错误可能有多种原因。要排除故障,我们建议您测试连接器并搜索 CloudWatch 日志。

解决方案

  • 测试您的连接器:请参阅测试 SFTP 连接器。如果测试失败,系统会根据测试失败的原因提供错误消息。该部分介绍如何通过控制台或使用 TestConnectionAPI 命令测试您的连接器。

  • 查看您的连接器的 CloudWatch 日志:请参阅SFTP 连接器的日志条目示例。本主题提供了 SFTP 连接器日志条目的示例,以及命名惯例,以帮助您找到相应的日志。