

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

# VPC Lattice 中的服务
<a name="services"></a>

VPC Lattice 中的服务是一个可独立部署的软件单元，用于交付特定的任务或函数。服务可以在实例、容器上运行，也可以在账户或虚拟私有云（VPC）中作为无服务器函数运行。服务有一个监听器，它使用称为侦听器规则的规则，您可以配置这些规则来帮助将流量路由到目标。支持的目标类型包括 EC2 实例、IP 地址、Lambda 函数、应用程序负载均衡器、Amazon ECS 任务和 Kubernetes Pod。有关更多信息，请参阅 [VPC Lattice 中的目标组](target-groups.md)。您可以将服务与多个服务网络关联。下图显示 VPC Lattice 中典型服务的关键组件。

![具有侦听器、侦听器规则和两个目标组的服务。](http://docs.aws.amazon.com/zh_cn/vpc-lattice/latest/ug/images/service.png)


您可以通过为服务提供名称和描述来创建服务。但是，要控制和监控您的服务流量，务必包含访问设置和监控详细信息。要将流量从服务发送到目标，必须设置侦听器并配置规则。要让流量从服务网络流向服务，必须将您的服务与服务网络关联。

对于目标连接，存在空闲超时和总体连接超时。空闲连接超时为 1 分钟，之后会关闭连接。最长持续时间为 10 分钟，之后我们不允许连接上有新的流，同时开始关闭现有流的过程。

**Topics**
+ [步骤 1：创建 VPC Lattice 服务](#create-service)
+ [步骤 2：定义路由](#define-routing)
+ [步骤 3：创建网络关联](#associate-to-networks)
+ [步骤 4：审核并创建](#review-and-create)
+ [管理关联](service-associations.md)
+ [编辑访问设置](service-access.md)
+ [编辑监控详细信息](service-monitoring.md)
+ [管理标签](service-tags.md)
+ [配置自定义域名](service-custom-domain-name.md)
+ [BYOC](service-byoc.md)
+ [删除服务](delete-service.md)

## 步骤 1：创建 VPC Lattice 服务
<a name="create-service"></a>

创建具有访问设置和监控详细信息的基本 VPC Lattice 服务。但是，在定义路由配置并将其与服务网络关联之前，服务不会完全正常运行。

**要使用控制台创建基本服务**

1. 打开位于 [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/) 的 Amazon VPC 控制台。

1. 在导航窗格中的 **VPC Lattice** 下，选择**服务**。

1. 选择 **Create service**。

1. 对于**标识符**，执行以下操作：

   1. 输入服务的名称。名称必须介于 3-40 个字符之间，并使用小写字母、数字和连字符。必须以字母或数字开头和结尾。不要使用双连字符。

   1. （可选）输入服务网络的描述。您可以在创建过程中或创建后设置或更改描述。描述最多可包含 256 个字符。

1. 要为您的服务指定自定义域名，请选择**指定自定义域名配置**并输入自定义域名。

   对于 HTTPS 侦听器，您可以选择 VPC 莱迪思用于执行 TLS 终止的证书。如果您现在不选择证书，则可以在为服务创建 HTTPS 侦听器时选择该证书。

   对于 TCP 监听器，您必须为服务指定自定义域名。如果您指定证书，则不使用该证书。相反，您可以在应用程序中执行 TLS 终止。

1. 对于**服务访问权限**，如果您希望与服务网络 VPCs 关联的客户端访问您的服务，请选择**无**。要应用[验证策略](auth-policies.md)来控制对服务的访问，请选择 **AWS IAM**。要将资源策略应用于服务，请对**验证策略**执行以下操作之一：
   + 在输入字段中输入策略。对于可以复制和粘贴的示例策略，请选择**策略示例**。
   + 选择**应用策略模板**，然后选择**允许已验证和未验证访问**模板。此模板允许来自其他账户的客户端通过签署请求（表示已验证），或以匿名方式（表示未验证）访问服务。
   + 选择**应用策略模板**，然后选择**允许仅限已验证访问**模板。此模板允许来自其他账户的客户端通过签署请求（表示已验证）访问服务。

1. （可选）要启用[访问日志](monitoring-access-logs.md)，请开启**访问日志**切换开关，并按如下方式指定访问日志的目标：
   + 选择**CloudWatch 日志组**，然后选择一个 CloudWatch 日志组。要创建日志组，请选择**在中创建日志组 CloudWatch**。
   + 选择 **S3 存储桶**并输入 S3 存储桶路径，包括任何前缀。要搜索 S3 存储桶，请选择**浏览 S3**。
   + 选择 **Kinesis Data Firehose 传输流**，然后选择一个传输流。要创建传输流，请选择**在 Kinesis 中创建传输流**。

1. （可选）要与其他账户[共享您的服务](sharing.md)，请从 AWS RAM 资源共享中选择一个**资源共享**。要创建资源共享，请选择**在 RAM 控制台中创建资源共享**。

1. 要查看配置并创建服务，请选择**跳转到查看和创建**。否则，请选择**下一步**，定义服务的路由配置。

## 步骤 2：定义路由
<a name="define-routing"></a>

使用侦听器定义路由配置，以便服务可以将流量发送到您指定的目标。

**先决条件**  
在添加侦听器之前，必须先创建 VPC Lattice 目标组。有关更多信息，请参阅 [创建 VPC Lattice 目标组](create-target-group.md)。

**要使用控制台为服务定义路由**

1. 选择**添加侦听器**。

1. 对于**侦听器名称**，您可以提供自定义侦听器名称，也可以使用侦听器的协议和端口作为侦听器名称。您指定的自定义名称最多可包含 63 个字符，且对账户中的每项服务必须是唯一的。有效字符：a-z、0-9 和连字符（-）。不能将连字符用作第一个或最后一个字符，也不能紧跟在另一个连字符之后。创建侦听器后，不能更改其名称。

1. 选择协议，然后输入端口号。

1. 对于**默认操作**，选择要接收流量的 VPC Lattice 目标组，然后选择要分配给该目标组的权重。您可以选择为默认操作添加另一个目标组。选择**添加操作**，然后选择其他目标组并指定其权重。

1. （可选）要添加其他规则，请选择**添加规则**，然后输入规则的名称、优先级、条件和操作。

   您可以为每条规则指定一个 1 到 100 之间的优先级编号。侦听器不能具有优先级相同的多个规则。规则是按优先级顺序 (从最低值到最高值) 计算的。最后评估默认规则。

   对于**条件**，输入路径匹配条件的路径模式。每个字符串的最大长度为 200 个字符。比较不区分大小写。

1. （可选）要添加标签，请展开**侦听器标签**，选择**添加新标签**，然后输入标签键和标签值。

1. 要查看配置并创建服务，请选择**跳转到查看和创建**。否则，请选择**下一步**，将服务与服务网络关联。

## 步骤 3：创建网络关联
<a name="associate-to-networks"></a>

将服务与服务网络关联，以便客户端可以与之通信。

**要使用控制台将服务与服务网络关联**

1. 对于 **VPC Lattice 服务网络**，请选择服务网络。要创建服务网络，请选择**创建 VPC Lattice 网络**。您可以将您的服务与多个服务网络关联。

1. （可选）要添加标签，请展开**服务网络关联标签**，选择**添加新标签**，然后输入标签键和标签值。

1. 选择**下一步**。

## 步骤 4：审核并创建
<a name="review-and-create"></a>

**要使用控制台查看配置并创建服务**

1. 查看服务的配置。

1. 如果需要修改服务配置的任何部分，请选择**编辑**。

1. 查看或编辑配置后，选择**创建 VPC Lattice 服务**。

1. 如果为服务指定了自定义域名，则必须在创建服务后配置 DNS 路由。有关更多信息，请参阅 [为您的 VPC 莱迪思服务配置自定义域名](service-custom-domain-name.md)。