本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
创建 AS2 服务器
本主题提供使用控制台或 AWS CloudFormation 模板创建 AS2启用的 Transfer Family 服务器的说明。有关 AS2 配置示 end-to-end例,请参阅设置 AS2 配置。创建 AS2 服务器后,可以向服务器添加协议。
-
创建 AS2 服务器
使用 Tran AS2 sfer Family 控制台创建服务器
此过程说明了如何使用 Transfer AS2 Family 控制台创建支持该功能的服务器。如果要 AWS CLI 改用,请参阅步骤 4:创建使用该 AS2协议的 Transfer Family 服务器。
注意
您可以将文件处理工作流程附加到使用该 AS2 协议的 Transfer Family 服务器:但是, AS2 消息不会执行附加到服务器的工作流程。
创建 AS2启用了-的服务器
-
打开 AWS Transfer Family 控制台,网址为https://console.aws.amazon.com/transfer/
。 -
在左侧的导航窗格中,选择服务器,然后选择创建服务器。
-
在 “选择协议” 页上,选择 AS2(适用性声明 2),然后选择下一步。
-
在选择身份提供商页面上,选择下一步。
注意
对于 AS2,您无法选择身份提供商,因为该 AS2 协议不支持基本身份验证。相反,您可以通过虚拟私有云 (VPC) 安全组控制访问权限。
-
在选择端点页面上,执行以下操作:
-
对于端点类型,选择托管服务器端点的 VPC 托管。有关设置 VPC 主机端点的信息,请参阅 在虚拟私有云中创建服务器。
注意
该 AS2协议不支持可公开访问的端点。要使您的 VPC 端点可通过互联网访问,请在访问权限下选择面向互联网,然后提供您的弹性 IP 地址。
-
对于访问权限,请选择下列选项之一:
-
内部 — 选择此选项可在您的 VPC 和 VPC 连接的环境中提供访问权限,例如通过 AWS Direct Connect 或 VPN 的本地数据中心。
-
面向互联网 — 选择此选项可通过互联网以及您的 VPC 和 VPC 连接的环境(例如本地数据中心或 VPN)提供访问权限。 AWS Direct Connect
如果您选择面向互联网,请在出现提示时提供您的弹性 IP 地址。
-
-
对于 VPC,选择现有 VPC 或选择创建 VPC 以创建新的 VPC。
-
对于启用 FIPS,请清除启用 FIPS 端点复选框。
注意
该协议不支持启用 FIPS 的端点。 AS2
-
选择下一步。
-
-
在选择域页面上,选择 Amazon S3 以使用所选协议将文件作为对象存储和访问。
选择下一步。
-
在配置其他详细信息页面上,选择所需的设置。
注意
如果您同时配置任何其他协议 AS2,则所有其他详细设置均适用。但是,对于该 AS2 协议,唯一适用的设置是CloudWatch 日志和标签部分中的设置。
尽管设置 CloudWatch 日志记录角色是可选的,但我们强烈建议您对其进行设置,以便您可以查看消息状态并解决配置问题。
-
在查看并创建页面上,查看您的选择以确保它们正确无误。
-
如果要编辑任何设置,请选择要更改步骤旁边的编辑。
注意
如果您编辑某个步骤,我们建议您在选择编辑的步骤之后查看每个步骤。
-
如果没有任何更改,请选择创建服务器来创建您的服务器。您将转至如下所示的服务器页面,其中列出了您的新服务器。
您的新服务器状态更改为在线可能需要几分钟时间。到时候,您的服务器可以执行用户的文件操作。
-
使用模板创建演示 Transfer Family AS2 堆栈
我们提供了一个独立的 AWS CloudFormation 模板来快速创建 AS2支持的 Transfer Family 服务器。该模板为服务器配置公有 Amazon VPC 端点、证书、本地和合作伙伴配置文件、协议和连接器。
基本 AS2 服务器模板创建以下资源:
-
一台 AS2启用了 Transfer Family 的服务器,带有 VPC 终端节点
-
带有证书的本地和合作伙伴 AS2 档案
-
个人资料之间的协议
-
用于文件存储的 Amazon S3 存储桶
-
所需的 IAM 角色和策略
-
CloudWatch 日志配置
在使用此模板之前,请注意以下事项:
-
如果您根据此模板创建堆栈,则需为使用的 AWS 资源计费。
-
该模板会创建多个证书并将其放入其中 AWS Secrets Manager 以安全地存储它们。如果您愿意,您可以从 Secrets Manager 中删除这些证书,因为使用此服务需要付费。在 Secrets Manager 中删除这些证书不会将其从 Transfer Family 服务器中删除。因此,演示堆栈的功能不受影响。但是,对于要用于生产 AS2 服务器的证书,您可能需要使用 Secrets Manager 来管理和定期轮换存储的证书。
-
我们建议您仅将模板用作基础,主要用于演示目的。如果您想在生产环境中使用此演示堆栈,我们建议您修改模板的 YAML 代码以创建更强大的堆栈。例如,创建生产级证书,并创建可在生产中使用的 AWS Lambda 函数。
使用模板创建 AS2启用了 Transfer Family CloudFormation 服务器
-
在 https://console.aws.amazon.com/cloudformat
ion 上打开 AWS CloudFormation 控制台。 -
在左侧导航窗格中,选择堆栈。
-
选择创建堆栈,然后选择使用新资源(标准)。
-
在 “先决条件-准备模板” 部分,选择 “选择现有模板”。
-
复制此链接、AS2 演示模板
,然后将其粘贴到 Amazon S3 网址字段中。 -
选择下一步。
-
在指定堆栈详细信息页面上,命名您的堆栈,然后指定以下参数:
-
在下方 AS2,输入本地 AS2 ID 和合作伙伴 AS2 ID 的值,或者分别接受默认值和。
local
partner
-
在网络下,输入安全组入口 CIDR IP 的值,或接受默认值
0.0.0.0/0
。注意
此值采用 CIDR 格式,指定允许向 AS2 服务器传入流量使用哪些 IP 地址。默认值
0.0.0.0/0
允许所有 IP 地址。 -
在常规下,输入前缀的值,或接受默认值
transfer-as2
。此前缀位于堆栈创建的任何资源名称之前。例如,如果您使用默认前缀,则会将您的 Amazon S3 存储桶命名为transfer-as2-
。amzn-s3-demo-bucket
-
-
选择下一步。在配置堆栈选项页面上,再次选择下一步。
-
查看您正在创建的堆栈的详细信息,然后选择创建堆栈。
注意
在页面底部的能力下,您必须确认这 AWS CloudFormation 可能会创建 AWS Identity and Access Management (IAM) 资源。
创建堆栈后,您可以使用 AWS Command Line Interface (AWS CLI) 将测试 AS2 消息从伙伴服务器发送到本地 Transfer Family 服务器。将创建用于发送测试消息的示例 AWS CLI 命令以及堆栈中的所有其他资源。
要使用此示例命令,请转到堆栈的 “输出” 选项卡,然后复制 TransferExampleAs2Com mand。然后,您可以使用 AWS CLI运行该命令。如果您尚未安装 AWS CLI,请参阅AWS Command Line Interface 用户指南 AWS CLI中的安装或更新最新版本的。
此示例命令采用以下格式:
aws s3api put-object --bucket
amzn-s3-demo-bucket
--key test.txt && aws transfer start-file-transfer --regionaws-region
--connector-idTransferConnectorId
--send-file-paths /amzn-s3-demo-bucket
/test.txt
注意
此命令的版本包含堆栈中
和 amzn-s3-demo-bucket
资源的实际值。TransferConnectorId
此示例命令由两个单独的命令组成,这两个命令使用 &&
字符串链接在一起。
第一个命令在您的存储桶中创建一个新的空文本文件:
aws s3api put-object --bucket
amzn-s3-demo-bucket
--key test.txt
然后,第二个命令使用连接器将文件从合作伙伴配置文件发送到本地配置文件。Transfer Family 服务器已设置协议,允许本地配置文件接受来自合作伙伴配置文件的消息。
aws transfer start-file-transfer --region
aws-region
--connector-idTransferConnectorId
--send-file-paths /amzn-s3-demo-bucket
/test.txt
运行命令后,您可以转到您的 Amazon S3 存储桶 (
) 并查看其内容。如果命令成功,您应看到存储桶中有以下对象:amzn-s3-demo-bucket
-
processed/
– 此文件夹包含一个 JSON 文件,该文件描述传输的文件和 MDN 响应。 -
processing/
– 此文件夹暂时包含正在处理的文件,但在传输完成后,此文件夹应为空。 -
– 此文件夹根据您的 Transfer Family 服务器 ID 命名。它包含server-id
/from-
(此文件夹根据合作伙伴的 AS2 ID 动态命名),该文件夹本身包含partner
failed/
processed/
、和processing/
文件夹。/
文件夹包含传输的文本文件的副本以及相应的 JSON 和 MDN 文件。server-id
/from-partner
/processed/ -
test.txt
– 此对象是传输的(空)文件。
创建 AS2 协议
协议与 Transfer Family 服务器相关联。它们为使用该 AS2 协议通过Transfer Family交换消息或文件的贸易伙伴以及入站传输(将 AS2 文件从合作伙伴拥有的外部来源发送到Transfer Family服务器)提供了详细信息。
此过程说明了如何使用 Transfer Family 控制台创建 AS2 协议。如果要 AWS CLI 改用,请参阅第 5 步:创建您与合作伙伴之间的协议。
要为 Transfer Family 服务器创建协议
-
打开 AWS Transfer Family 控制台,网址为https://console.aws.amazon.com/transfer/
。 -
在左侧导航窗格中,选择 Servers,然后选择使用该 AS2 协议的服务器。
或者,只要您至少有一台使用该协议的 Transfer Family 服务器,请从 “AS2 交易伙伴” 菜单中选择 “协议” 以接收消息。 AS2 然后,在创建协议屏幕中,选择要与该协议关联的 AS2 服务器。
-
在服务器详细信息页面上,向下滚动到协议部分。
-
选择添加协议。
-
填写协议参数,如下所示:
-
在协议配置部分中,输入描述性名称。确保您可以通过协议名称来识别协议的目的。此外,还要设置协议的状态:活动(默认选中)或非活动。
-
在通信配置部分,选择本地配置文件和合作伙伴配置文件。此外,还要选择是否强制执行消息签名。
-
默认情况下,“强制消息签名” 处于启用状态,这意味着 Transfer Family 会拒绝您的交易伙伴为此协议发送的未签名消息。
-
清除此设置可允许 Transfer Family 接受交易伙伴为本协议发送的未签名消息。
-
-
在收件箱目录配置部分,提供以下信息。
-
确定是否选择指定单独的目录来存储您的 AS2 消息、MDN 文件和 JSON 状态文件。
-
如果选择此选项,则可以为负载文件、失败文件、MDN 文件、状态文件和临时文件指定单独的位置。
-
如果清除此选项,则所有 AS2 文件都会进入您为基目录指定的位置。
-
-
对于 S3 存储桶,请选择一个 Amazon S3 存储桶。
-
在 P refix 中,您可以输入用于在存储桶中存储文件的前缀(文件夹)。
例如,如果您
amzn-s3-demo-bucket
为存储桶和incoming
前缀输入,则您的 AS2文件将保存到该文件/
夹。amzn-s3-demo-bucket
/incoming -
对于 AWS IAM 角色,请选择可以访问您指定的存储桶的角色。
-
在 “保留文件名” 中,选择是否为传入的 AS2 邮件负载保留原始文件名。
-
如果您选择此设置,则在将文件保存到 Amazon S3 中时,您的交易伙伴提供的文件名将被保留。
-
如果清除此设置,则在 Transfer Family 保存文件时,会调整文件名,如中所述文件名和位置。
-
-
-
(可选)在标签部分中,添加标签。
-
输入协议的所有信息后,选择创建协议。
-
新协议显示在服务器详细信息页面的协议部分。