在虚拟私有云中创建服务器 - Amazon Transfer Family
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

在虚拟私有云中创建服务器

您可以将服务器的端点托管在虚拟私有云 (VPC) 中,用于在不通过公共互联网的情况下向 Amazon S3 存储桶或 Amazon EFS 文件系统传输数据和从 Amazon S3 存储桶或 Amazon EFS 文件系统中传输数据。

注意

2021 年 5 月 19 日之后,如果您的账户在 2021 年 5 月 19 日之前尚未在EndpointType=VPC_ENDPOINT 账户中使用 Amazon 创建服务器,则您将无法创建服务器。如果您在 2021 年 2 月 21 日当天或之前已经在 EndpointType=VPC_ENDPOINT 账户中使用 Amazon 创建了服务器,则不会受到影响。在此日期之后,使用 EndpointType = VPC。有关更多信息,请参阅 停止使用 VPC_ENDPOINT

如果您使用 Amazon Virtual Private Cloud (Amazon VPC) 托管您的 Amazon 资源,则可以在您的 VPC 和服务器之间建立私有连接。然后,您可以使用此服务器通过客户端将数据传输到您的 Amazon S3 存储桶或从您的 Amazon S3 存储桶中传输数据,而无需使用公有 IP 地址或需要互联网网关。

使用 Amazon VPC,您可以在自定义虚拟网络中启动 Amazon 资源。可以使用 VPC 控制您的网络设置,例如 IP 地址范围、子网、路由表和网络网关。有关 VPC 的更多信息,请参阅 Amazon VPC 用户指南中的什么是 Amazon VPC?

在下一部分中,查找如何创建 VPC 并将其连接到服务器的说明。作为概述,您可以按如下方式执行此操作:

  1. 使用 VPC 端点设置服务器。

  2. 使用 VPC 内的客户端通过 VPC 端点连接到您的服务器。这样,您就可以使用Amazon Transfer Family通过客户端传输存储在 Amazon S3 存储桶中的数据。即使网络已与公共互联网断开连接,您也可以执行此传输。

  3. 此外,如果您选择将服务器的端点设为面向互联网,则可以将弹性 IP 地址与您的端点相关联。这样做可以让 VPC 之外的客户端连接到您的服务器。您可以使用 VPC 安全组以控制请求仅来自允许地址的经过身份验证的用户的访问权限。

创建仅在您的 VPC 内访问的服务器端点

在以下步骤中,您将创建仅由您的 VPC 内的资源访问的服务器端点。

在 VPC 内创建服务器端点
  1. 打开Amazon Transfer Family控制台,网址为 https://console.aws.amazon.com/transfer/

  2. 从导航窗格中,选择服务器,然后选择创建服务器

  3. 选择协议中,选择一个或多个协议,然后选择下一步。有关协议的更多信息,请参阅 步骤 2:创建启用 SFTP 的服务器

  4. 选择身份提供商中,选择服务托管以在 Amazon Transfer Family 中存储用户身份和密钥,然后选择下一步

    注意

    此过程使用服务托管选项。如果您选择自定义,则提供 Amazon API Gateway 端点和 Amazon Identity and Access ManagementIAM 角色来访问端点。执行此操作后,您可以集成目录服务,用于对用户进行身份验证和授权。要了解有关使用自定义身份提供商的更多信息,请参阅使用自定义身份提供程序

  5. 选择端点中,执行以下操作:

    注意

    Transfer Family 的 FTP 和 FTPS 服务器通过端口 21(控制通道)和端口范围 8192–8200(数据通道)运行。

    1. 对于端点类型,选择托管服务器端点的 VPC 托管端点类型。

    2. 对于访问,请选择内部,使您的端点仅可由使用端点的私有 IP 地址的客户端访问。

      注意

      有关面向互联网选项的详细信息,请参阅为服务器创建面向互联网的端点。在 VPC 中创建的仅用于内部访问的服务器不支持自定义主机名。

    3. 对于 VPC,选择现有 VPC ID 或选择创建 VPC 以创建新的 VPC。

    4. 可用区部分,最多选择三个可用区和关联的子网。

    5. 安全组部分,选择一个或多个现有安全组 ID 或选择创建安全组来创建新的安全组。有关安全组的更多信息,请参阅 Amazon Virtual Private Cloud 用户指南VPC 的安全组。要创建安全组,请参阅 Amazon Virtual Private Cloud 用户指南中的创建安全组

      注意

      您的 VPC 会自动带有默认的安全组。如果您在启动服务器时没有指定其他安全组或组,我们会将默认安全组与您的服务器相关联。

      对于安全组的入站规则,您可以将 SSH 流量配置为使用端口 22、2222 或两者兼而有之。默认配置端口 22。要使用端口 2222,您需要向安全组添加入站规则。对于类型,选择 “自定义 TCP”,然后在 2222端口范围” 中输入;对于源,输入与 SSH 端口 22 规则相同的 CIDR 范围。

      
               示例安全组的入站规则,显示了端口 22 上的 SSH 规则和端口 2222 上的 Custom TCP 规则。
    6. (可选)对于启用 FIPS,请选中启用 FIPS 的端点复选框以确保端点符合联邦信息处理标准 (FIPS)。

      注意

      启用 FIPS 的端点仅在北美Amazon地区可用。有关可用区域,请参阅Amazon Web Services 一般参考中的Amazon Transfer Family端点和限额。有关 FIPS 的更多信息,请参阅联邦信息处理标准 (FIPS) 140-2

    7. 请选择 Next(下一步)

  6. 配置其他详细信息中,执行以下操作:

    1. 要进行CloudWatch 日志记录,请选择以下选项之一以启用 Amazon CloudWatch 记录您的用户活动:

      • 创建一个新角色,允许 Transfer Family 自动创建 IAM 角色,前提是您拥有创建新角色的相应权限。创建的 IAM 角色被称为AWSTransferLoggingAccess

      • 选择现有角色以从您的帐户中选择现有 IAM 角色。在日志记录角色下,选择该角色。此 IAM 角色应包括将服务设置为transfer.amazonaws.com的信任策略。

        有关 CloudWatch 日志记录的更多信息,请参阅配置 CloudWatch 日志记录角色

      注意
      • 如果您未指定日志记录角色, CloudWatch 则无法在中查看最终用户活动。

      • 如果您不想设置 CloudWatch 日志记录角色,请选择选择现有角色,但不要选择日志记录角色。

    2. 对于加密算法选项,请选择包含允许服务器使用的加密算法的安全策略。

      注意

      默认情况下,除非选择不同的服务器,否则TransferSecurityPolicy-2020-06安全策略将连接到服务器。

      有关安全策略的更多信息,请参阅的安全策略 Amazon Transfer Family

    3. (可选)对于 服务器主机密钥,输入 RSA、ED25519 或 ECDSA 私有密钥,该私有密钥将用于在客户端通过 SFTP 连接到服务器时识别服务器。

      注意

      该部分仅适用于从启用 SFTP 的现有服务器迁移用户。

    4. (可选)对于标签,在密钥中,输入一个或多个标签作为键值对,然后选择添加标签

    5. 请选择 Next(下一步)

  7. 审核和创建页面上,审核您的选择。如果您:

    • 要编辑其中任何一个,请选择该步骤旁边的编辑

      注意

      在选择编辑的步骤之后,您将需要查看每个步骤。

    • 如果没有更改,请选择创建服务器来创建您的服务器。您将转至如下所示的 Servers (服务器) 页面,其中列出了您的新服务器。

您的新服务器状态更改为在线可能需要几分钟时间。到时候,您的服务器可以执行用户的文件操作。

为服务器创建面向互联网的端点

在以下过程中,创建服务器端点。只有在您的 VPC 默认安全组中允许其源 IP 地址的客户端才能通过互联网访问此端点。此外,通过使用弹性 IP 地址使您的端点面向互联网,您的客户可以使用弹性 IP 地址来允许在其防火墙中访问您的端点。

注意

在面向互联网的 VPC 托管端点上,只能使用 SFTP 和 FTPS。

创建面向互联网的端点
  1. 打开Amazon Transfer Family控制台,网址为 https://console.aws.amazon.com/transfer/

  2. 从导航窗格中,选择服务器,然后选择创建服务器

  3. 选择协议中,选择一个或多个协议,然后选择下一步。有关协议的更多信息,请参阅 步骤 2:创建启用 SFTP 的服务器

  4. 选择身份提供商中,选择服务托管以在 Amazon Transfer Family 中存储用户身份和密钥,然后选择下一步

    注意

    此过程使用服务托管选项。如果您选择自定义,则提供 Amazon API Gateway 端点和 Amazon Identity and Access ManagementIAM 角色来访问端点。执行此操作后,您可以集成目录服务,用于对用户进行身份验证和授权。要了解有关使用自定义身份提供商的更多信息,请参阅使用自定义身份提供程序

  5. 选择端点中,执行以下操作:

    1. 对于端点类型,选择托管服务器端点的 VPC 托管端点类型。

    2. 对于访问,请选择面向互联网,使客户端可以通过互联网访问您的端点。

      注意

      选择面向互联网时,可以在每个子网或多个子网中选择一个现有的弹性 IP 地址。或者您可以前往 VPC 控制台 (https://console.aws.amazon.com/vpc/) 分配一个或多个新的弹性 IP 地址。这些地址可以归Amazon所有,也可以归您所有。您无法将已在使用的弹性 IP 地址与您的端点相关联。

    3. (可选)对于自定义主机名,请选择以下选项之一:

      注意

      Amazon GovCloud (US)需要直接通过弹性 IP 地址进行连接的客户,或者在商用 Route 53 中创建指向其 EIP 的主机名记录。有关将 Route 53 用于 GovCloud 终端节点的更多信息,请参阅Amazon GovCloud (US)用户指南中的使用您的Amazon GovCloud (US)资源设置 Amazon Route 53

      • Amazon Route 53 DNS 别名— 如果要使用的主机名已注册到 Route 53。然后,您可以输入主机名。

      • 其他 DNS— 如果要使用的主机名已注册到另一个 DNS 提供商。然后,您可以输入主机名。

      • — 使用服务器的端点,而不是使用自定义主机名。服务器主机名使用格式 server-id.server.transfer.region.amazonaws.com

        注意

        对于中的客户Amazon GovCloud (US),选择 “” 不会以这种格式创建主机名。

      要了解有关使用自定义主机名的更多信息,请参阅使用自定义主机名

    4. 对于 VPC,选择现有 VPC ID 或选择创建 VPC 以创建新的 VPC。

    5. 可用区部分,最多选择三个可用区和关联的子网。对于 IPv4 地址,为每个子网选择一个弹性 IP 地址。这是您的客户端可用来允许在其防火墙中访问您的端点的 IP 地址。

    6. 安全组部分,选择一个或多个现有安全组 ID 或选择创建安全组来创建新的安全组。有关安全组的更多信息,请参阅 Amazon Virtual Private Cloud 用户指南VPC 的安全组。要创建安全组,请参阅 Amazon Virtual Private Cloud 用户指南中的创建安全组

      注意

      您的 VPC 会自动带有默认的安全组。如果您在启动服务器时没有指定其他安全组或组,我们会将默认安全组与您的服务器相关联。

      对于安全组的入站规则,您可以将 SSH 流量配置为使用端口 22、2222 或两者兼而有之。默认配置端口 22。要使用端口 2222,您需要向安全组添加入站规则。对于类型,选择 “自定义 TCP”,然后在 2222端口范围” 中输入;对于源,输入与 SSH 端口 22 规则相同的 CIDR 范围。

      
               示例安全组的入站规则,显示了端口 22 上的 SSH 规则和端口 2222 上的 Custom TCP 规则。
    7. (可选)对于启用 FIPS,请选中启用 FIPS 的端点复选框以确保端点符合联邦信息处理标准 (FIPS)。

      注意

      启用 FIPS 的端点仅在北美Amazon地区可用。有关可用区域,请参阅Amazon Web Services 一般参考中的Amazon Transfer Family端点和限额。有关 FIPS 的更多信息,请参阅联邦信息处理标准 (FIPS) 140-2

    8. 请选择 Next(下一步)

  6. 配置其他详细信息中,执行以下操作:

    1. 要进行CloudWatch 日志记录,请选择以下选项之一以启用 Amazon CloudWatch 记录您的用户活动:

      • 创建一个新角色,允许 Transfer Family 自动创建 IAM 角色,前提是您拥有创建新角色的相应权限。创建的 IAM 角色被称为AWSTransferLoggingAccess

      • 选择现有角色以从您的帐户中选择现有 IAM 角色。在日志记录角色下,选择该角色。此 IAM 角色应包括将服务设置为transfer.amazonaws.com的信任策略。

        有关 CloudWatch 日志记录的更多信息,请参阅配置 CloudWatch 日志记录角色

      注意
      • 如果您未指定日志记录角色, CloudWatch 则无法在中查看最终用户活动。

      • 如果您不想设置 CloudWatch 日志记录角色,请选择选择现有角色,但不要选择日志记录角色。

    2. 对于加密算法选项,请选择包含允许服务器使用的加密算法的安全策略。

      注意

      默认情况下,除非选择不同的服务器,否则TransferSecurityPolicy-2020-06安全策略将连接到服务器。

      有关安全策略的更多信息,请参阅的安全策略 Amazon Transfer Family

    3. (可选)对于 服务器主机密钥,输入 RSA、ED25519 或 ECDSA 私有密钥,该私有密钥将用于在客户端通过 SFTP 连接到服务器时识别服务器。

      注意

      该部分仅适用于从启用 SFTP 的现有服务器迁移用户。

    4. (可选)对于标签,在密钥中,输入一个或多个标签作为键值对,然后选择添加标签

    5. 请选择 Next(下一步)

    6. (可选)对于托管工作流程,请选择 Transfer Family 在执行工作流程时应承担的工作流程 ID(和相应的角色)。您可以选择一个工作流程在完成上传后执行,选择另一个工作流程在部分上传时执行。要了解有关使用托管工作流程处理文件的更多信息,请参阅Amazon Transfer Family 托管工作流程

      
                                托管工作流程控制台部分。
  7. 审核和创建页面上,审核您的选择。如果您:

    • 要编辑其中任何一个,请选择该步骤旁边的编辑

      注意

      在选择编辑的步骤之后,您将需要查看每个步骤。

    • 如果没有更改,请选择创建服务器来创建您的服务器。您将转至如下所示的 Servers (服务器) 页面,其中列出了您的新服务器。

您可以选择服务器 ID,以查看您已创建的服务器的详细设置。填充公有 IPv4 地址列后,您提供的弹性 IP 地址将成功关联到服务器的端点。

注意

当 VPC 中的服务器处于联机状态时,只能通过 UpdateServerAPI 修改子网。必须停止服务器才能添加或更改服务器端点的弹性 IP 地址。

更改 SFTP 服务器的端点类型

如果您现有的服务器可通过互联网访问(即,具有公有端点类型),您可以将其端点更改为 VPC 端点。

注意

如果您在 VPC 中有一台显示为VPC_ENDPOINT的现有服务器,建议您将其修改为新的 VPC 端点类型。有了这种新的端点类型,您就不再需要使用网络负载均衡器 (NLB) 将弹性 IP 地址与服务器的端点关联起来。此外,您还可以使用 VPC 安全组来限制对服务器端点的访问。不过,您可以按需继续使用VPC_ENDPOINT端点类型。

以下过程假设您具有使用当前公有端点类型或较旧VPC_ENDPOINT类型的服务器。

更改服务器的端点类型
  1. 打开Amazon Transfer Family控制台,网址为 https://console.aws.amazon.com/transfer/

  2. 在导航窗格中,选择 Servers (服务器)

  3. 选中要更改其端点类型的服务器的复选框。

    重要

    您必须先停止服务器,然后才能更改其终端节点。

  4. 对于操作,请选择停止

  5. 在出现的确认对话框中,通过选择停止来确认您要停止服务器。

    注意

    在继续下一步之前,在 端点详细信息 中,等待服务器的 状态 更改为 离线;这可能需要几分钟时间。您可能必须在服务器页面上选择刷新才能查看状态更改。

    服务器离线之前,您无法进行任何编辑。

  6. 端点详细信息中,选择编辑

  7. 编辑端点配置中,执行以下操作:

    1. 对于端点类型,选择 VPC 托管

    2. 对于访问权限,请选择下列选项之一:

      • 内部,使您的端点只能由使用端点的私有 IP 地址的客户端访问。

      • 面向互联网,使客户端可以通过公共互联网访问您的端点。

        注意

        选择面向互联网时,可以在每个子网或多个子网中选择一个现有的弹性 IP 地址。或者,您可以前往 VPC 控制台 (https://console.aws.amazon.com/vpc/) 分配一个或多个新的弹性 IP 地址。这些地址可以归Amazon所有,也可以归您所有。您无法将已在使用的弹性 IP 地址与您的端点相关联。

    3. (仅适用于面向互联网的访问权限是可选的)对于自定义主机名,请选择以下选项之一:

      • Amazon Route 53 DNS 别名— 如果要使用的主机名已注册到 Route 53。然后,您可以输入主机名。

      • 其他 DNS— 如果要使用的主机名已注册到另一个 DNS 提供商。然后,您可以输入主机名。

      • — 使用服务器的端点,而不是使用自定义主机名。服务器主机名使用格式 serverId.server.transfer.regionId.amazonaws.com

        要了解有关使用自定义主机名的更多信息,请参阅使用自定义主机名

    4. 对于 VPC,选择现有 VPC ID 或选择创建 VPC 以创建新的 VPC。

    5. 可用区部分,最多选择三个可用区和关联的子网。如果选择面向互联网,则还要为每个子网选择一个弹性 IP 地址。

      注意

      如果您想要最多三个可用区,但可用区域不足,则在 VPC 控制台中创建它们 (https://console.aws.amazon.com/vpc/)。

      如果您修改子网或弹性 IP 地址,则服务器需要几分钟才能更新。在服务器更新完成之前,您无法保存更改。

    6. 选择保存

  8. 操作中,选择启动,然后等待服务器状态更改为在线;这可能需要几分钟。

    注意

    如果您将公有端点类型更改为 VPC 端点类型,请注意您的服务器的端点类型已更改为 VPC

默认安全组已附加到端点。要更改或添加其他安全组,请参阅创建安全组

停止使用 VPC_ENDPOINT

Amazon Transfer Family将停止使用EndpointType=VPC_ENDPOINT为新Amazon帐户创建服务器的功能。截至 2021 年 5 月 19 日,不拥有端点类型为Amazon的Amazon Transfer Family服务器的VPC_ENDPOINT账户将无法使用EndpointType=VPC_ENDPOINT创建新服务器。如果您已经拥有使用该VPC_ENDPOINT端点类型的服务器,建议您EndpointType=VPC尽快开始使用。有关详细信息,请参阅将您的Amazon Transfer Family服务器端点类型从 VPC_ENDPOINT 更新为 VPC

我们在 2020 年初推出了新的VPC端点类型。有关更多信息,Amazon Transfer Family请参阅 SFTP 支持 VPC 安全组和弹性 IP 地址。这个新的端点功能更丰富,更具成本效益,而且不 PrivateLink 收费。有关更多信息,请参阅Amazon PrivateLink 定价

此端点类型在功能上等同于以前的端点类型 (VPC_ENDPOINT)。您可以将弹性 IP 地址直接附加到端点,使其面向互联网,并使用安全组进行源 IP 筛选。有关更多信息,请参阅使用 IP 允许列表来保护您的 SFTP 服务器Amazon Transfer Family安全博客文章。

您也可以在共享 VPC 环境中托管此端点。有关更多信息,请参阅Amazon Transfer Family现在支持共享服务 VPC 环境

除了 SFTP 之外,您还可以使用 VPC EndpointType来启用 FTPS 和 FTP。我们不打算将这些功能和 FTPS/FTP 支持添加到EndpointType=VPC_ENDPOINT。我们还从Amazon Transfer Family控制台中删除了此端点类型选项。

您可以使用 Transfer Family 控制台、Amazon CLI、API、开发工具包或Amazon CloudFormation更改服务器的端点类型。要更改服务器的端点类型,请参阅将Amazon Transfer Family服务器端点类型从 VPC_ENDPOINT 更新为 VPC

如有任何疑问,请联系Amazon Web Services Support或您的Amazon客户团队。

注意

我们不打算在 EndpointType =VPC_ENDPOINT 中添加这些功能以及 FTPS 或 FTP 支持。我们不再在Amazon Transfer Family控制台上将其作为选项提供。

如果您还有其他问题,可以通过Amazon Web Services Support或您的客户团队联系我们。