

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

# 使用自定义主机名
<a name="requirements-dns"></a>

*服务器主机名*是用户连接到服务器时在客户端中输入的主机名。使用时，您可以使用已注册的自定义域作为服务器主机名 AWS Transfer Family。例如，您可以使用类似于 `mysftpserver.mysubdomain.domain.com` 的自定义主机名。

要将流量从注册的自定义域重定向到您的服务器端点，您可以使用 Amazon Route 53 或任何域名系统 (DNS) 提供商。Route 53 是 AWS Transfer Family 原生支持的 DNS 服务。

**Topics**
+ [使用 Amazon Route 53 作为 DNS 提供商](#requirements-use-r53)
+ [使用其他 DNS 提供商](#requirements-use-alt-dns)
+ [非控制台创建的服务器的自定义主机名](#tag-custom-hostname-cdk)

在控制台上，您可以选择下列选项之一来设置自定义主机名：
+ **Amazon Route 53 DNS 别名**— 如果要使用的主机名已注册到 Route 53。然后，您可以输入主机名。
+ **其他 DNS**— 如果要使用的主机名已注册到另一个 DNS 提供商。然后，您可以输入主机名。
+ **无** — 使用服务器的端点，而不是使用自定义主机名。

在创建新的服务器或编辑现有服务器的配置时设置此选项。有关创建新的服务器的更多信息，请参阅 [步骤 2：创建启用 SFTP 的服务器](getting-started.md#getting-started-server)。有关编辑现有服务器配置的更多信息，请参阅 [编辑服务器详细信息](edit-server-config.md)。

有关使用自己的域作为服务器主机名以及如何 AWS Transfer Family 使用 Route 53 的更多详细信息，请参阅以下各节。

## 使用 Amazon Route 53 作为 DNS 提供商
<a name="requirements-use-r53"></a>

当您创建服务器时，您可以使用 Amazon Route 53 作为您的 DNS 提供程序。在将一个域用于 Route 53 之前，请先注册该域。有关更多信息，请参阅 *Amazon Route 53 开发人员指南*中的[域注册工作原理](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/welcome-domain-registration.html)。

当您使用 Route 53 为服务器提供 DNS 路由时，会 AWS Transfer Family 使用您输入的自定义主机名来提取其托管区域。 AWS Transfer Family 提取托管区域时，可能会发生三种情况：

1. 如果您是 Route 53 的新手并且没有托管区域，请 AWS Transfer Family 添加新的托管区域和`CNAME`记录。此 `CNAME` 记录的值为服务器的端点主机名。*CNAME *为备用域名。

1. 如果您在 Route 53 中有一个不带任何 `CNAME` 记录的托管区域，则 AWS Transfer Family 会向该托管区域添加一条 `CNAME` 记录。

1. 如果服务检测到该托管区域中已有一条 `CNAME` 记录，则会显示一个错误，指示 `CNAME` 记录已存在。在此情况下，请将 `CNAME` 记录的值更改为服务器的主机名。

有关 Route 53 中托管区域的更多信息，请参阅 [Amazon Route 53 开发人员指南](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/CreatingHostedZone.html)中的*托管区域*。

## 使用其他 DNS 提供商
<a name="requirements-use-alt-dns"></a>

在创建服务器时，您还可以使用 Amazon Route 53 之外的 DNS 提供商。如果您使用替代 DNS 提供商，请确保域中的流量被定向到服务器端点。

为此，请将域设置为服务器的端点主机名。
+ 对于 IPv4 端点，控制台中的主机名如下所示：

   `serverid.server.transfer.region.amazonaws.com` 
+ 对于双栈端点，主机名在控制台中如下所示：

   `serverid.transfer-server.region.on.aws` 

**注意**  
如果您的服务器有 VPC 终端节点，则主机名的格式与上述格式不同。要查找您的 VPC 端点，请在服务器的详细信息页面上选择 VPC，然后在 VPC 控制面板上选择 **VPC 端点 ID**。端点是列出的第一个 DNS 名称。

## 非控制台创建的服务器的自定义主机名
<a name="tag-custom-hostname-cdk"></a>

使用 AWS Cloud Development Kit (AWS CDK) CloudFormation、或 CLI 创建服务器时，如果您希望该服务器具有自定义主机名，则必须添加标记。当您使用控制台创建 Transfer Family 服务器时，会自动完成标记。

**注意**  
您还需要创建 DNS 记录，以将流量从您的域名重定向到服务器端点。有关详细信息，请参阅《*Amazon Route 53 开发者指南》*中的[处理记录](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/rrsets-working-with.html)。

使用以下密钥作为您的自定义主机名：
+ 添加 `transfer:customHostname` 以在控制台中显示自定义主机名。
+ 如果您使用 Route 53 作为 DNS 提供商，请添加 `transfer:route53HostedZoneId`。此标签将自定义主机名链接到您的 Route 53 托管区 ID。

要添加自定义主机名，请发出以下 CLI 命令。

```
aws transfer tag-resource --arn arn:aws:transfer:region:AWS 账户:server/server-ID --tags Key=transfer:customHostname,Value="custom-host-name"
```

例如：

```
aws transfer tag-resource --arn arn:aws:transfer:us-east-1:111122223333:server/s-1234567890abcdef0 --tags Key=transfer:customHostname,Value="abc.example.com"
```

如果您使用的是 Route 53，请发出以下命令将您的自定义主机名链接到您的 Route 53 托管区 ID。

```
aws transfer tag-resource --arn server-ARN:server/server-ID --tags Key=transfer:route53HostedZoneId,Value=HOSTED-ZONE-ID
```

例如：

```
aws transfer tag-resource --arn arn:aws:transfer:us-east-1:111122223333:server/s-1234567890abcdef0 --tags Key=transfer:route53HostedZoneId,Value=ABCDE1111222233334444
```

假设上一个命令中的示例值，运行以下命令来查看标签：

```
aws transfer list-tags-for-resource --arn arn:aws:transfer:us-east-1:111122223333:server/s-1234567890abcdef0
```

```
"Tags": [
   {
      "Key": "transfer:route53HostedZoneId",
      "Value": "/hostedzone/ABCDE1111222233334444"
   },
   {
      "Key": "transfer:customHostname",
      "Value": "abc.example.com"
   }
 ]
```

**注意**  
 您的公共、托管区域及其 IDs 在 Amazon Route 53 上可用。  
登录 AWS 管理控制台 并打开 Route 53 控制台，网址为[https://console.aws.amazon.com/route53/](https://console.aws.amazon.com/route53/)。