本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用基于 VPC 的出口创建一个 SFTP 连接器
本主题提供创建具有 VPC 连接的 SFTP 连接器的 step-by-step说明。支持 vpc_Lattice 的连接器使用 Amazon VPC Lattice 通过您的虚拟私有云路由流量,从而实现与私有终端节点的安全连接或使用您自己的 NAT 网关访问互联网。
何时使用 VPC 连接
在以下情况下,对 SFTP 连接器使用 VPC 连接:
-
私有 SFTP 服务器:连接到只能从您的 VPC 访问的 SFTP 服务器。
-
本地连接:通过 Di Amazon rect Connect 或 Amazon Site-to-Site VPN 连接连接到本地 SFTP 服务器。
-
自定义 IP 地址:使用您自己的 NAT 网关和弹性 IP 地址,包括 BYOIP 场景。
-
集中式安全控制:通过组织的中央 ingress/egress 控制进行文件传输。
支持 vpc_lattice 的 SFTP 连接器的先决条件
在创建支持 vpc_lattice 的 SFTP 连接器之前,必须满足以下先决条件:
基于 VPC 的连接的工作原理
VPC Lattice 使您能够安全地与其他 Amazon 服务共享 VPC 资源。 Amazon Transfer Family 使用服务网络来简化资源共享过程。关键组件包括:
-
资源网关:用作您的 VPC 的访问点。你可以在你的 VPC 中创建它,至少有两个可用区。
-
资源配置:包含要连接的 SFTP 服务器的私有 IP 地址或公有 DNS 名称。
创建支持 vpc_Lattice 的连接器时, Amazon Transfer Family 使用正向访问会话 (FAS) 临时获取您的凭证,并将您的资源配置与我们的服务网络相关联。
必需的设置步骤
-
VPC 基础设施:确保您的 VPC 配置正确,其中包含满足您的 SFTP 服务器连接要求所需的子网、路由表和安全组。
-
资源网关:使用 VPC Lattice
create-resource-gateway命令在您的 VPC 中创建资源网关。资源网关必须与至少两个可用区中的子网关联。有关更多信息,请参阅 Amazon VPC Lattice 用户指南中的资源网关。 -
资源配置:使用 VPC Lattic
create-resource-configuratione 命令创建代表目标 SFTP 服务器的资源配置。您可以指定以下任一项:-
私有端点的私有 IP 地址
-
公共终端节点的公有 DNS 名称(公共终端节点不支持 IP 地址)
-
-
身份验证凭证: Amazon Secrets Manager 如中所述,将 SFTP 用户凭据存储在中。在 Secrets Manager 中存储 SFTP 连接器的身份验证凭证
重要
资源网关和资源配置必须在同一个 Amazon 账户中创建。创建资源配置时,必须先设置资源网关。
有关 VPC 资源配置的更多信息,请参阅 Amazon VPC Lattice 用户指南中的资源配置。
注意
在 Amazon VPC Lattice 资源可用 Amazon Web Services 区域 的地方,可以使用 SFTP 连接器的 VPC 连接。有关更多信息,请参阅 VPC 莱迪思。 FAQs
创建支持 vpc_lattice 的 SFTP 连接器
完成先决条件后,您可以使用 Amazon 管理控制台或 Amazon SDKs创建具有 VPC 连接的 Amazon CLI SFTP 连接器。
监控 VPC 连接器状态
支持 vpc_Lattice 的连接器具有异步设置过程。创建后,监控连接器状态:
-
待处理:连接器正在配置中。服务网络配置正在进行中,通常需要几分钟。
-
激活:连接器已准备就绪,可以传输文件。
-
错误:连接器配置失败。查看错误详细信息以获取疑难解答信息。
使用describe-connector以下命令检查连接器状态:
aws transfer describe-connector --connector-id c-1234567890abcdef0
在 PENDING 状态下,test-connectionAPI 将返回 “连接器不可用”,直到配置完成。
限制和注意事项
-
公共终端节点:通过 VPC 连接到公共终端节点时,必须在资源配置中提供 DNS 名称。不支持公有 IP 地址。
-
区域可用性:VPC 连接仅在部分区域提供 Amazon Web Services 区域。不支持跨区域资源共享。
-
可用区要求:资源网关必须与至少两个可用区中的子网关联。并非所有可用区在每个区域都支持 VPC Lattice。
-
连接限制:每个资源最多 350 个连接,TCP 连接的空闲超时时间为 350 秒。
成本考虑因素
Amazon Transfer Family 除常规服务费外,不收取任何额外费用。但是,如果客户使用自己的 NAT 网关访问互联网,则可能需要向 Amazon VPC Lattice 收取与共享其亚马逊虚拟私有云资源相关的额外费用;如果客户使用自己的 NAT 网关访问互联网,则可能需要支付 NAT 网关费用。
要了解完整的 Amazon Transfer Family 定价信息,请参阅定Amazon Transfer Family 价页面
SFTP 连接器的 VPC 连接示例
本节提供了在各种场景下创建具有 VPC 连接的 SFTP 连接器的示例。在使用这些示例之前,请确保您已按照 VPC 连接文档中所述完成了 VPC 基础设施设置。
示例:私有端点连接
此示例说明如何创建 SFTP 连接器,该连接器可连接到只能从您的 VPC 访问的私有 SFTP 服务器。
先决条件
-
在您的 VPC 中创建资源网关:
aws vpc-lattice create-resource-gateway \ --name my-private-server-gateway \ --vpc-identifier vpc-1234567890abcdef0 \ --subnet-ids subnet-1234567890abcdef0 subnet-0987654321fedcba0 -
为您的私有 SFTP 服务器创建资源配置:
aws vpc-lattice create-resource-configuration \ --name my-private-server-config \ --resource-gateway-identifier rgw-1234567890abcdef0 \ --resource-configuration-definition ipResource={ipAddress="10.0.1.100"} \ --port-ranges 22
创建支持 vpc_lattice 的连接器
-
创建具有 VPC 连接的 SFTP 连接器:
aws transfer create-connector \ --access-role arn:aws:iam::123456789012:role/TransferConnectorRole \ --sftp-config UserSecretId=my-private-server-credentials,TrustedHostKeys="ssh-rsa AAAAB3NzaC..." \ --egress-config VpcLattice={ResourceConfigurationArn=arn:aws:vpc-lattice:us-east-1:123456789012:resourceconfiguration/rcfg-1234567890abcdef0,PortNumber=22} -
监控连接器状态,直到它变成
ACTIVE:aws transfer describe-connector --connector-id c-1234567890abcdef0
远程 SFTP 服务器将看到来自您的 VPC CIDR 范围内的资源网关 IP 地址的连接。
示例:通过 VPC 的公共终端节点
此示例说明如何通过您的 VPC 将连接路由到公有 SFTP 服务器,以利用集中式安全控制并使用您自己的 NAT 网关 IP 地址。
先决条件
-
在您的 VPC 中创建资源网关(与私有终端节点示例相同)。
-
使用公共 SFTP 服务器的 DNS 名称为其创建资源配置:
aws vpc-lattice create-resource-configuration \ --name my-public-server-config \ --resource-gateway-identifier rgw-1234567890abcdef0 \ --resource-configuration-definition dnsResource={domainName="sftp.example.com"} \ --port-ranges 22注意
对于公共终端节点,必须使用 DNS 名称,而不是 IP 地址。
创建连接器
-
创建 SFTP 连接器:
aws transfer create-connector \ --access-role arn:aws:iam::123456789012:role/TransferConnectorRole \ --sftp-config UserSecretId=my-public-server-credentials,TrustedHostKeys="ssh-rsa AAAAB3NzaC..." \ --egress-config VpcLattice={ResourceConfigurationArn=arn:aws:vpc-lattice:us-east-1:123456789012:resourceconfiguration/rcfg-0987654321fedcba0,PortNumber=22}
流量将从连接器流向您的资源网关,然后通过您的 NAT 网关到达公共 SFTP 服务器。远程服务器会将您的 NAT 网关的弹性 IP 地址视为来源。
示例:跨账户私有终端节点
此示例说明如何使用资源共享以不同的 Amazon 账户连接到私有 SFTP 服务器。
注意
如果您已经通过其他机制(例如)启用了跨VPC资源共享 Amazon Transit Gateway,则无需配置此处所述的资源共享。SFTP 连接器会自动使用现有的路由机制,例如 Transit Gateway 路由表。您只需要在创建 SFTP 连接器的同一个帐户中创建资源配置即可。
账户 A(资源提供者)-共享资源配置
-
在账户 A 中创建资源网关和资源配置(与前面的示例相同)。
-
使用 Resource Access Manager 与账户 B 共享 Amazon 资源配置:
aws ram create-resource-share \ --name cross-account-sftp-share \ --resource-arns arn:aws:vpc-lattice:us-east-1:111111111111:resourceconfiguration/rcfg-1234567890abcdef0 \ --principals 222222222222
账户 B(资源使用者)-接受并使用共享
-
接受资源共享邀请:
aws ram accept-resource-share-invitation \ --resource-share-invitation-arn arn:aws:ram:us-east-1:111111111111:resource-share-invitation/invitation-id -
在账户 B 中创建 SFTP 连接器:
aws transfer create-connector \ --access-role arn:aws:iam::222222222222:role/TransferConnectorRole \ --sftp-config UserSecretId=cross-account-server-credentials,TrustedHostKeys="ssh-rsa AAAAB3NzaC..." \ --egress-config VpcLattice={ResourceConfigurationArn=arn:aws:vpc-lattice:us-east-1:111111111111:resourceconfiguration/rcfg-1234567890abcdef0,PortNumber=22}
账户 B 中的连接器现在可以通过共享资源配置访问账户 A 中的专用 SFTP 服务器。
常见故障排除场景
以下是创建启用 vpc_Lattice 的连接器时常见问题的解决方案:
-
连接器停留在 PENDING 状态:检查您的资源网关是否处于活动状态,并且子网位于支持的可用区中。如果连接器仍处于 PENDING 状态,请
UpdateConnector使用最初使用的相同配置参数进行调用。这会触发可能解决问题的新状态事件。 -
连接超时:验证安全组规则允许端口 22 上的流量以及您的 VPC 路由是否正确。
-
DNS 解析问题:对于公共终端节点,请确保您的 VPC 通过 NAT 网关或 Internet Gateway 实现互联网连接。
-
跨账户访问被拒绝:验证资源共享是否被接受以及资源配置 ARN 是否正确。如果在原始账户创建资源共享时将适当的权限策略附加到资源配置中,则需要以下权限:
vpc-lattice:AssociateViaAWSService、vpc-lattice:AssociateViaAWSService-EventsAndStates、vpc-lattice:CreateServiceNetworkResourceAssociation、vpc-lattice:GetResourceConfiguration。