如何使用自定义侦听器端口在支持 AWS Transfer Family SFTP 的服务器端点上启用弹性 IP 地址?

2 分钟阅读
0

我想让我的支持 AWS Transfer Family SFTP 的服务器可以使用弹性 IP 地址访问。但是,侦听器端口不能是端口 22。

解决方法

如果可以将端口 22 用作侦听器端口,则为服务器创建面向互联网的端点

但是,如果必须将侦听器端口更改为端口 22 以外的其他端口(用于迁移),请按照以下步骤操作:

创建 Amazon Virtual Private Cloud (Amazon VPC) 并分配 IP 地址

  1. 在与服务器相同的 AWS 区域内创建 Amazon VPC
  2. 在要从中使用服务器的可用区内的 VPC 中创建子网
    **注意:**一台 AWS Transfer Family 服务器最多可以支持三个可用区。
  3. 在服务器所处的区域内最多分配三个弹性 IP 地址。您也可以自带 IP 地址范围(BYOIP)
    **注意:**弹性 IP 地址的数量必须与在其中使用服务器端点的可用区数量相一致。

创建具有内部 VPC 端点类型的支持 AWS Transfer Family SFTP 的服务器

  1. 按照步骤创建只能从 VPC 内部访问的服务器端点
  2. 创建服务器后,请从 AWS Transfer Family 控制台查看服务器的详细信息。在端点配置下,记下私有 IPv4 地址。您需要这些 IP 地址才能创建网络负载均衡器。

创建一个网络负载均衡器,并将服务器的 VPC 端点定义为该负载均衡器的目标

  1. 打开 Amazon Elastic Compute Cloud (Amazon EC2) 控制台
  2. 在导航窗格中,选择负载均衡器
  3. 选择创建负载均衡器
  4. 网络负载均衡器下,选择创建
  5. 对于步骤 1: 配置负载均衡器,输入以下内容:
    对于名称,输入负载均衡器的名称。
    对于方案,选择面向互联网
    对于侦听器,将负载均衡器协议保留为 TCP。然后,将关联的负载均衡器端口更改为您的自定义侦听器端口。
    对于 VPC,选择已创建的 Amazon VPC。
    对于可用区,选择与公有子网关联的可用区,这些子网在与服务器端点一起使用的同一 VPC 中可用。
    对于每个子网的 IPv4 地址,选择您分配的一个弹性 IP 地址。
  6. 选择下一步: 配置安全设置
  7. 选择下一步: 配置路由
  8. 对于步骤 3: 配置路由,输入以下内容:
    对于目标组,选择新建目标组
    对于名称,输入目标组的名称。
    对于目标类型,选择 IP
    对于协议,选择 TCP
    对于端口,输入 22
    注意: AWS Transfer Family 服务器仅支持通过端口 22 进行通信。负载均衡器必须通过端口 22 与服务器通信。
    运行状况检查下,对于协议,选择 TCP
  9. 选择下一步: 注册目标
  10. 对于步骤 4: 注册目标,输入以下内容:
    对于网络,确认选择要使用的 Amazon VPC。
    对于 IP,输入服务器端点的私有 IPv4 地址。您在创建服务器后复制了这些 IP 地址。
  11. 选择添加到列表
  12. 重复步骤 10 和 11,直到输入所有服务器端点的私有 IP 地址。
  13. 选择下一步: 审核
  14. 选择创建

设置服务器和负载均衡器后,客户端会通过自定义端口侦听器与负载均衡器进行通信。然后,负载均衡器会通过端口 22 与服务器进行通信。

测试从某个弹性 IP 地址访问服务器

通过弹性 IP 地址或者网络负载均衡器的 DNS 名称,利用自定义端口连接到服务器。例如,以下 OpenSSH 命令会通过弹性 IP 地址和自定义端口连接到服务器:

**注意:**请将 [port] 替换为您的自定义端口。然后,请将 192.0.2.3 替换为您分配的弹性 IP 地址。

sftp -i sftpuserkey -P [port] sftpuser@192.0.2.3

**重要提示:**要管理从客户端 IP 地址对服务器的访问,请使用负载均衡器的网络访问控制列表(网络 ACL)和安全组。如果网络负载均衡器的运行状况检查失败,则说明负载均衡器无法连接到服务器端点。要解决此问题,请检查以下情况:

  • 确认服务器端点的关联安全组允许来自负载均衡器子网的入站连接。负载均衡器必须能够通过端口 22 连接到服务器端点。
  • 确认服务器的状态联机

相关信息

将 SFTP 服务器直接迁移到 AWS

AWS 官方
AWS 官方已更新 5 个月前