使用模板创建演示 Transfer Family AS2 堆栈 - Amazon Transfer Family
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

使用模板创建演示 Transfer Family AS2 堆栈

我们提供了一个独立的Amazon CloudFormation模板来快速创建启用 AS2 的 Transfer Family 服务器。该模板为服务器配置公有 Amazon VPC 端点、证书、本地和合作伙伴配置文件、协议和连接器。

在使用此模板之前,请注意以下事项:

  • 如果您根据此模板创建堆栈,则需为使用的 Amazon 资源计费。

  • 该模板会创建多个证书并将其放入Amazon Secrets Manager中以安全地存储它们。如果您愿意,您可以从 Secrets Manager 中删除这些证书,因为使用此服务需要付费。在 Secrets Manager 中删除这些证书不会将其从 Transfer Family 服务器中删除。因此,演示堆栈的功能不受影响。但是,对于要在生产 AS2 服务器上使用的证书,您可能需要使用 Secrets Manager 来管理和定期轮换存储的证书。

  • 我们建议您仅将模板用作基础,主要用于演示目的。如果您想在生产环境中使用此演示堆栈,我们建议您修改模板的 YAML 代码以创建更强大的堆栈。例如,创建生产级证书,并创建可在生产中使用的Amazon Lambda函数。

使用模板创建支持 AS2 的 Transfer Family 服务器 CloudFormation
  1. 打开 Amazon CloudFormation 控制台,地址:https://console.aws.amazon.com/cloudformation

  2. 在左侧导航窗格中,选择 Stacks (堆栈)

  3. 选择 Create stack (创建堆栈),然后选择 With new resources (standard) (使用新资源(标准))

  4. 先决条件 — 准备模板部分,请选择模板已就绪

  5. 复制此链接,即AS2 演示模板,然后将其粘贴到Amazon S3 URL字段中。

  6. 请选择 Next(下一步)

  7. 指定堆栈详细信息页面上,命名您的堆栈,然后指定以下参数:

    • AS2 下,输入本地 AS2 ID合作伙伴 AS2 ID 的值,或者分别接受默认值localpartner

    • 网络下,输入安全组入口 CIDR IP 的值,或接受默认值0.0.0.0/0

      注意

      此值采用 CIDR 格式,指定允许哪些 IP 地址可传入流量到 AS2 服务器。默认值0.0.0.0/0允许所有 IP 地址。

    • 常规下,输入前缀的值,或接受默认值transfer-as2。此前缀位于堆栈创建的任何资源名称之前。例如,如果您使用默认前缀,则会将您的 Amazon S3 存储桶命名为transfer-as2-TransferS3BucketName

  8. 请选择 Next(下一步)。在配置堆栈选项页面上,再次选择下一步

  9. 查看您正在创建的堆栈的详细信息,然后选择创建堆栈

    注意

    在页面底部的Capabilities(能力)下,您必须确认Amazon CloudFormation可能会创建 Amazon Identity and Access Management (IAM) 资源。

创建堆栈后,您可以使用 Amazon Command Line Interface (Amazon CLI) 将测试 AS2 消息从伙伴服务器发送到本地 Transfer Family 服务器。将创建用于发送测试消息的示例Amazon CLI命令以及堆栈中的所有其他资源。

要使用此示例命令,请转到堆栈的 “输出” 选项卡,然后复制 TransferExampleAs2Com mand。然后,您可以使用Amazon CLI运行该命令。如果尚未安装Amazon CLI,请参阅Amazon Command Line Interface用户指南中的安装或更新最新版本的Amazon CLI

此示例命令采用以下格式:

aws s3api put-object --bucket TransferS3BucketName --key test.txt && aws transfer start-file-transfer --region aws-region --connector-id TransferConnectorId --send-file-paths /TransferS3BucketName/test.txt
注意

此命令的版本包含堆栈中TransferS3BucketNameTransferConnectorId资源的实际值。

此示例命令由两个单独的命令组成,这两个命令使用&&字符串链接在一起。

第一个命令在您的存储桶中创建一个新的空文本文件:

aws s3api put-object --bucket TransferS3BucketName --key test.txt

然后,第二个命令使用连接器将文件从合作伙伴配置文件发送到本地配置文件。Transfer Family 服务器已设置协议,允许本地配置文件接受来自合作伙伴配置文件的消息。

aws transfer start-file-transfer --region aws-region --connector-id TransferConnectorId --send-file-paths /TransferS3BucketName/test.txt

运行命令后,您可以转到您的 Amazon S3 存储桶 (TransferS3BucketName) 并查看其内容。如果命令成功,您应看到存储桶中有以下对象:

  • processed/ – 此文件夹包含一个 JSON 文件,该文件描述传输的文件和 MDN 响应。

  • processing/ – 此文件夹暂时包含正在处理的文件,但在传输完成后,此文件夹应为空。

  • server-id/ – 此文件夹根据您的 Transfer Family 服务器 ID 命名。它包含from-partner(此文件夹根据合作伙伴的 AS2 ID 动态命名),其本身包含failed/processed/processing/文件夹。/server-id/from-partner/processed/文件夹包含传输的文本文件的副本以及相应的 JSON 和 MDN 文件。

  • test.txt – 此对象是传输的(空)文件。