在虚拟私有云中创建服务器 - AWS Transfer Family

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

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

您可以将服务器的终端节点托管在虚拟私有云 (VPC) 中,用于在 Amazon S3 存储桶或亚马逊EFS文件系统之间传输数据,而无需通过公共互联网。

注意

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

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

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

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

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

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

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

创建只能在您内部访问的服务器端点 VPC

在以下过程中,您将创建一个服务器终端节点,该终端节点只能由您的内部资源访问VPC。

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

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

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

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

    注意

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

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

    注意

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

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

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

      注意

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

    3. 对于 VPC,请选择现有 VPC ID 或选择 “创建” VPC 来创建新 ID VPC。

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

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

      注意

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

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

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

      注意

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

    7. 选择下一步

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

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

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

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

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

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

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

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

      注意

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

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

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

      注意

      本节仅适用于从SFTP已启用该功能的现有服务器迁移用户。

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

    5. 选择下一步

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

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

      注意

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

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

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

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

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

注意

仅SFTPFTPS可在面向互联网的VPC托管终端节点上使用。

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

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

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

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

    注意

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

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

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

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

      注意

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

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

      注意

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

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

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

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

        注意

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

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

    4. 对于 VPC,请选择现有 VPC ID 或选择 “创建” VPC 来创建新 ID VPC。

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

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

      注意

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

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

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

      注意

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

    8. 选择下一步

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

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

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

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

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

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

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

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

      注意

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

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

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

      注意

      本节仅适用于从SFTP已启用该功能的现有服务器迁移用户。

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

    5. 选择下一步

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

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

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

      注意

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

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

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

注意

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

更改 SFTP 服务器的端点类型

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

注意

如果您的现有服务器VPC显示为VPC_ENDPOINT,我们建议您将其修改为新的VPC终端节点类型。有了这种新的终端节点类型,您就不再需要使用 Network Load Balancer (NLB) 将弹性 IP 地址与服务器的终端节点关联起来。此外,您还可以使用VPC安全组来限制对服务器端点的访问。不过,您可以按需继续使用 VPC_ENDPOINT 端点类型。

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

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

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

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

    重要

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

  4. 对于操作,选择停止

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

    注意

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

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

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

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

    1. 对于编辑终端节点类型,请选择VPC托管

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

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

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

        注意

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

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

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

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

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

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

    4. 对于 VPC,请选择现有 VPC ID,或者选择 “创建” VPC 来创建新的 ID VPC。

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

      注意

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

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

    6. 选择保存

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

    注意

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

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

停止使用 _ VPC ENDPOINT

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

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

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

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

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

您可以使用 Transfer Family 控制台、 AWS CLI APISDKs、或更改服务器的终端节点类型 AWS CloudFormation。要更改服务器的端点类型,请参阅 将 AWS Transfer Family 服务器端点类型从 VPC _ 更新ENDPOINT为 VPC

如果您有任何疑问,请联系 AWS Support 或您的 AWS 客户团队。

注意

我们不打算在 EndpointType = VPC _ 中添加这些功能和 FTPS /或FTP支持ENDPOINT。我们不再在 AWS Transfer Family 控制台上将其作为选项提供。

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