AWS::Transfer::Server - AWS CloudFormation
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

AWS::Transfer::Server

AWS::Transfer::Server 资源在 AWS 中基于文件传输协议实例化 Auto Scaling 虚拟服务器。当您更新服务器或与用户一起工作时,使用分配给新创建的服务器的服务生成的 ServerId 属性。

语法

要在 AWS CloudFormation 模板中声明此实体,请使用以下语法:

JSON

{ "Type" : "AWS::Transfer::Server", "Properties" : { "Certificate" : String, "EndpointDetails" : EndpointDetails, "EndpointType" : String, "IdentityProviderDetails" : IdentityProviderDetails, "IdentityProviderType" : String, "LoggingRole" : String, "Protocols" : [ Protocol, ... ], "SecurityPolicyName" : String, "Tags" : [ Tag, ... ] } }

属性

Certificate

AWS Certificate Manager (ACM) 证书的 Amazon 资源名称 (ARN)。在 Protocols 设置为 FTPS 时是必需的。

要请求新的公有证书,请参阅 AWS Certificate Manager 用户指南 中的请求公有证书

要将现有证书导入到 ACM,请参阅 AWS Certificate Manager 用户指南 中的将证书导入到 ACM

要请求私有证书以通过私有 IP 地址使用 FTPS,请参阅 AWS Certificate Manager 用户指南 中的创建和管理私有 CA

支持具有以下加密算法和密钥大小的证书:

  • 2048 位 RSA (RSA_2048)

  • 4096 位 RSA (RSA_4096)

  • Elliptic Prime Curve 256 位 (EC_prime256v1)

  • Elliptic Prime Curve 384 位 (EC_secp384r1)

  • Elliptic Prime Curve 521 位 (EC_secp521r1)

注意

证书必须是指定了 FQDN 或 IP 地址且具有有关颁发者的信息的有效 SSL/TLS X.509 版本 3 证书。

必需:否

类型:字符串

最高1600

Update requires: No interruption

EndpointDetails

要为服务器配置的 Virtual Private Cloud (VPC) 终端节点设置。当您在 VPC 中托管终端节点时,您可以使其仅可供 VPC 内的资源访问,也可以附加弹性 IP 并使其可由客户端通过 Internet 访问。您 VPC 的默认安全组会自动分配到您的终端节点。

必需:否

类型EndpointDetails

Update requires: No interruption

EndpointType

您希望服务器连接到的 VPC 终端节点的类型。您可以选择连接到公共 Internet 或 Virtual Private Cloud (VPC) 终端节点。使用 VPC 终端节点,您可以将对服务器和资源的访问权限限制在 VPC 内。

注意

建议您使用 VPC 作为 EndpointType。使用此终端节点类型,您可以选择将最多三个弹性 IPv4 地址(包括 BYO IP)直接与服务器的终端节点相关联,并使用 VPC 安全组限制客户端的公有 IP 地址的流量。如果 EndpointType 设置为 VPC_ENDPOINT,则无法实现此操作。

必需:条件

类型:字符串

允许的值PUBLIC | VPC | VPC_ENDPOINT

Update requires: No interruption

IdentityProviderDetails

IdentityProviderType 设置为 API_GATEWAY 时是必需的。接受包含调用客户提供的身份验证 API(包括 API 网关 URL)所需的所有信息的数组。在 IdentityProviderType 设置为 SERVICE_MANAGED 时不是必需的。

必需:否

类型IdentityProviderDetails

Update requires: No interruption

IdentityProviderType

指定启用文件传输协议的服务器的身份验证模式。默认值为 SERVICE_MANAGED,这允许您在 AWS Transfer Family 服务中存储和访问用户凭证。使用 API_GATEWAY 值以与您选择的身份提供商集成。API_GATEWAY 设置要求您提供 API Gateway 终端节点 URL 以使用 IdentityProviderDetails 参数调用身份验证。

必需:否

类型:字符串

允许的值API_GATEWAY | SERVICE_MANAGED

Update requires: Replacement

LoggingRole

允许服务将用户的活动写入 Amazon CloudWatch 日志,以便进行监控和审计。

必需:否

类型:字符串

最低20

最高2048

模式arn:.*role/.*

Update requires: No interruption

Protocols

指定文件传输协议客户端可以用来连接到服务器终端节点的一个或多个文件传输协议。

必需:否

类型协议的列表

最高3

Update requires: No interruption

SecurityPolicyName

指定连接到服务器的安全策略的名称。

必需:否

类型:字符串

最高100

模式TransferSecurityPolicy-.+

Update requires: No interruption

Tags

可用于对启用文件传输协议的服务器进行分组和搜索的键/值对。

必需:否

类型Tag 的列表

最高50

Update requires: No interruption

返回值

Ref

在将此资源的逻辑 ID 传递给内部 Ref 函数时,Ref 返回 ServerId(例如 s-01234567890abcdef)和服务器 ARN(例如 arn:aws:transfer:us-east-1:123456789012:server/s-01234567890abcdef)。

For more information about using the Ref function, see Ref.

Fn::GetAtt

Fn::GetAtt 内部函数返回此类型的一个指定属性的值。以下为可用属性和示例返回值。

有关使用 Fn::GetAtt 内部函数的更多信息,请参阅 Fn::GetAtt

Arn

与服务器关联的 Amazon 资源名称,格式为 arn:aws:transfer:region:account-id:server/server-id/

服务器 ARN 的示例是:arn:aws:transfer:us-east-1:123456789012:server/s-01234567890abcdef

ServerId

创建的服务器的服务分配的 ID。

示例 ServerIds-01234567890abcdef

示例

创建具有 VPC 托管终端节点类型的服务器

下面的示例使用 VPC 托管的终端节点类型以及自定义身份提供程序、CloudWatch 日志记录角色、安全策略和标签,创建启用了 Secure Shell (SSH) 文件传输协议 (SFTP) 的服务器。

JSON

{ "MyTransferServer": { "Type": "AWS::Transfer::Server", "Properties": { "EndpointDetails": { "AddressAllocationIds": [ { "Ref": "MyTransferServerAddressAllocationId01" }, { "Ref": "MyTransferServerAddressAllocationId02" } ], "SubnetIds": [ { "Ref": "MyTransferServerSubnet01" }, { "Ref": "MyTransferServerSubnet02" } ] }, "EndpointType": "VPC", "IdentityProviderDetails": { "InvocationRole": { "Ref": "MyTransferServerIdentityProviderInvocationRole" }, "Url": { "Ref": "MyTransferServerIdentityProviderUrl" } }, "IdentityProviderType": "API_GATEWAY", "LoggingRole": { "Ref": "AWSTransferLoggingAccess" }, "Protocols": "SFTP", "SecurityPolicy": { "Ref": "TransferSecurityPolicy-2020-06" }, "Tags": [ { "Key": "KeyName", "Value": "ValueName" } ] } } }

YAML

MyTransferServer: Type : AWS::Transfer::Server Properties : EndpointDetails: AddressAllocationIds: - Ref: MyTransferServerAddressAllocationId01 - Ref: MyTransferServerAddressAllocationId02 SubnetIds: - Ref: MyTransferServerSubnet01 - Ref: MyTransferServerSubnet02 EndpointType: VPC IdentityProviderDetails: InvocationRole: Ref: MyTransferServerIdentityProviderInvocationRole Url: Ref: MyTransferServerIdentityProviderUrl IdentityProviderType: API_GATEWAY LoggingRole: Ref: AWSTransferLoggingAccess Protocols: SFTP SecurityPolicy: TransferSecurityPolicy-2020-06 Tags: - Key: KeyName Value: ValueName

另请参阅

AWS Transfer 系列用户指南 中的 CreateServer