创建服务时指定的值 - Amazon Cloud Map
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

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

创建服务时指定的值

在创建 Amazon Cloud Map 服务时,请指定以下值。

注意

您只能在创建服务后更改其中的标签。

Service name (服务名称)

输入一个描述您在使用此服务时注册的实例的名称。该值用于发现Amazon Cloud MapAPI 调用或 DNS 查询中的服务实例。这取决于您在创建命名空间时选择的实例发现方法。您可以使用以下方法之一::

  • API 调用— 当你的应用程序调用时DiscoverInstances中,API 调用将包含命名空间和服务名称。

  • VPC 中的 API 调用和 DNS 查询要么API 调用和公共 DNS 查询— 注册服务实例并创建命名空间时,Amazon Cloud Map创建 Amazon Route 53 私有或公共托管区域。它还在该托管区域中创建 DNS 记录。记录的名称采用以下格式:

    service-name.namespace-name

    在应用程序提交 DNS 查询以发现服务实例时,该查询针对的是将服务名称包含在记录名称中的记录。

注意

在支持 DNS 查询的命名空间中创建服务时,您可以选择仅通过调用DiscoverInstancesAPI 操作而不是 DNS 查询。请参阅Service discovery configuration

如果要Amazon Cloud Map创建SRV记录您注册实例的时间以及您使用的系统需要特定SRV格式(例如HAProxy),指定以下内容:Service name (服务名称)

  • 例如,名称以下划线 (_) 开头_examples 服务.

  • 用结束名字. _ 协议,例如. _tcp.

在您注册实例时,Amazon Cloud Map 会创建 SRV 记录并通过将服务名称和命名空间名称联接起来为其指定名称,例如:

_exampleservice._tcp.example.com

注意

对于 DNS 查询可以发现的服务,您不能创建多个名称仅因大小写而异的服务(例如示例和示例)。否则,这些服务具有相同的 DNS 名称,无法区分。

服务描述

输入服务的描述。您在此处输入的值将显示在 Services (服务) 页面以及每个服务的详细信息页面上。

服务发现配置

如果命名空间支持 DNS 查询,Amazon Cloud Map支持以下服务发现选项:

DNS 和

Amazon Cloud Map将创建SRV记录您注册服务的实例时。也可以使用DiscoverInstancesAPI 操作。

仅限 API

Amazon Cloud Map不会创建SRV例如,服务的记录。只能使用DiscoverInstancesAPI 操作。

路由策略(仅限公有和私有 DNS 命名空间)

如果您使用公有或私有 DNS 命名空间创建服务,请选择 Amazon Route 53 路由策略。Amazon Cloud Map在注册实例时创建。(公有 DNS 命名空间的值为 API calls and public DNS queries (API 调用和公共 DNS 查询),针对的是 Instance discovery (实例发现);私有 DNS 命名空间的值为 API calls and DNS queries in VPCs (VPC 中的 API 调用和 DNS 查询)。)

注意

您无法使用控制台配置Amazon Cloud Map在您注册实例时创建 Route 53 别名记录。如果要Amazon Cloud Map要在以编程方式注册实例时为 Elastic Load Balancing 负载均衡器创建别名记录,请选择加权路由为了路由策略.

Amazon Cloud Map支持以下 Route 53 路由策略:

加权路由

Route 53 从一个随机选择的实例(来自您使用同一服务注册的实例)返回适用的值。所有记录都具有相同的权重,因此,您无法将更多或更少的流量路由到任何实例。

例如,假设服务包含针对一个配置。一个记录和运行状况检查,并且您使用服务注册 10 个实例。Route 53 使用来自运行正常的实例中的一个随机选定实例的 IP 地址来响应 DNS 查询。如果没有运行正常的实例,Route 53 会像所有实例都运行正常那样响应 DNS 查询。

如果您没有为服务定义运行状况检查,Route 53 会假定所有实例都运行正常,并为随机选择的一个实例返回适用的值。

有关更多信息,请参阅 。加权路由中的Amazon Route 53 开发者指南.

多值应答路由

如果您为服务定义了运行状况检查,并且运行状况检查的结果为正常,则 Route 53 将为最多 8 个实例返回适用的值。

例如,假设服务包含针对一个配置。一个记录和健康检查。您使用服务注册 10 个实例。Route 53 将使用最多 8 个正常运行的实例的 IP 地址来响应 DNS 查询。如果正常的实例少于 8 个,Route 53 将使用所有正常运行的实例的 IP 地址来响应每个 DNS 查询。

如果您没有为服务定义运行状况检查,Route 53 将假定所有实例都是正常运行的,并为最多 8 个实例返回值。

有关更多信息,请参阅 。多值应答路由中的Amazon Route 53 开发者指南.

记录类型(仅限公有和私有 DNS 命名空间)

如果您使用公有或私有 DNS 命名空间创建服务,请选择以下记录的 DNS 记录类型。Amazon Cloud Map在注册实例时创建。Amazon Route 53 将返回适用的值,以响应针对已注册实例的 DNS 查询。

支持以下记录类型:

A

注册实例时,以 IPv4 格式指定资源的 IP 地址(如 192.0.2.44)。

AAAA

注册实例时,以 IPv6 格式指定资源的 IP 地址(如 2001:0db8:85a3:0000:0000:abcd:0001:2345)。

别名记录

注册实例时,指定资源的域名(如 www.example.com)。请注意以下几点:

  • 如果要选择CNAME,您必须选择加权路由为了路由策略.

  • 如果选择CNAME,您不能选择Route 53 健康检查为了运行状况检查选项.

SRV

SRV 记录的值使用以下值:

priority weight port service-hostname

请记下有关这些值的以下内容:

  • priorityweight 的值都设置为 1,且无法更改。

  • 对于 port,Amazon Cloud Map 将使用您在注册实例时为 Port (端口) 指定的值。

  • service-hostname 的值可以是以下值的联接:

    • 您在注册实例时为 Service instance ID (服务实例 ID) 指定的值

    • 服务的名称

    • 命名空间的名称

    例如,假设您指定测试为了服务实例 ID注册实例时。服务的名称是后端命名空间的名称是example.com.Amazon Cloud Map将以下值分配给service-hostname中的属性SRV记录:

    test.backend.example.com

如果您为 SRV 记录指定设置,请注意以下事项:

  • 如果指定的值IPv4 地址IPv6 地址或者两者兼而有,Amazon Cloud Map自动创建一个和/或AAAA与值具有相同名称的记录service-hostname中的SRV记录。

  • 如果您使用的系统需要特定的 SRV 格式(例如 HAProxy),请参阅服务名称,了解如何指定正确的名称格式。

您可按以下组合指定记录类型:

  • A

  • AAAA

  • AAAAA

  • 别名记录

  • SRV

如果您指定了 AAAAA 记录类型,则可以在注册实例时指定 IPv4 IP 地址和/或 IPv6 IP 地址。

TTL(仅限公有和私有 DNS 命名空间)

如果您使用公有或私有 DNS 命名空间创建服务,请为输入值。TTL,或生存期。的值TTL在解析程序将另一个 DNS 查询转发到 Amazon Route 53 以获取更新后的设置之前,将此记录的信息缓存时长。

运行状况检查选项

没有运行状况检查

如果您未配置运行状况检查,无论服务实例是否正常,流量都将路由到服务实例。

Route 53 运行状况检查(不受私有 DNS 命名空间)

如果您为亚马逊 Route 53 运行状况检查指定设置,Amazon Cloud Map在您注册实例时创建 Route 53 运行状况检查,并在您取消注册实例时删除运行状况检查。

对于公共 DNS 命名空间,Amazon Cloud Map将运行状况检查与 Route 53 记录关联起来Amazon Cloud Map在注册实例时创建。

对于使用 API 调用来发现实例的命名空间,Amazon Cloud Map创建 Route 53 运行状况检查。但是,没有 DNS 记录Amazon Cloud Map将运行状况检查与关联。要确定运行状况检查是否正常,您可以使用 Route 53 控制台或 Amazon CloudWatch 配置监控。有关使用 Route 53 控制台的更多信息,请参阅在运行状况检查失败时获取通知中的Amazon Route 53 开发者指南. 有关使用 CloudWatch 的更多信息,请参阅。PutMetricAlarm中的Amazon CloudWatch API 参考.

有关 Route 53 运行状况检查的费用的更多信息,请参阅Route 53 定价.

自定义运行状况检查

如果您将 Amazon Cloud Map 配置为在您注册实例时使用自定义运行状况检查,则必须使用第三方运行状况检查程序来评估资源的运行状况。自定义运行状况检查在以下情况下很有用:

  • 您无法使用 Route 53 运行状况检查,因为无法通过 Internet 获得资源。例如,假设您有一个位于 Amazon VPC 中的实例。您可以对此实例使用自定义运行状况检查。但是,为了运行状况检查工作,您的运行状况检查程序还必须与您的实例位于同一 VPC 中。

  • 您希望使用第三方运行状况检查程序,而不管您的资源位于何处。

失败阈值(仅限 Route 53 运行状况检查)

Amazon Route 53 将资源的当前状态在运行良好和运行不佳之间切换,该资源必须通过或未通过的连续 Route 53 运行状况检查次数。有关更多信息,请参阅 。Amazon Route 53 如何确定运行 Health 检查是否运行良好 Amazon Route 53 开发者指南.

运行 Health 检查协议(仅限 Route 53 运行状况检

您希望 Amazon Route 53 用于检查资源运行状况的方法:

HTTP

Route 53 尝试建立 TCP 连接。如果成功,Route 53 将提交 HTTP 请求并等待 2xx 或 3xx 格式的 HTTP 状态代码。

HTTPS

Route 53 尝试建立 TCP 连接。如果成功,Route 53 将提交 HTTPS 请求并等待 2xx 或 3xx 格式的 HTTP 状态代码。

重要

如果您选择 HTTPS,则资源必须支持 TLS v1.0 或更高版本。

如果您选择 HTTPS 作为的值运行状况检查协议,将收取额外费用。有关更多信息,请参阅 Route 53 定价

TCP

Route 53 尝试建立 TCP 连接。

有关更多信息,请参阅 。Amazon Route 53 如何确定运行 Health 检查是否运行良好.

运行 Health 况检查路径(仅限 Route 53 HTTP 和 HTTPS 运行状况检查)

您希望 Amazon Route 53 在执行运行状况检查时请求的路径。路径可以是任何值,例如文件/docs/route53-health-check.html. 当资源运行正常时,返回值为 2xx 或 3xx 格式的 HTTP 状态代码。您也可以包括查询字符串参数,例如,/welcome.html?language=jp&login=y。Amazon Cloud Map 控制台将自动添加一个前导斜杠 (/) 字符。

标签

您可以指定一个或多个要添加到服务的标签。标签是您可向其分配的可选标签。Amazon资源。每个标签均包含一个键和一个值。例如,您可以使用 “键 = 环境” 和 “值 = 生产” 来定义标签。使用标签进行分类Amazon资源可以使管理这些资源变得更容易

创建标签后,您可以随时更新或删除命名空间上的标签。有关更多信息,请参阅给您的 Amazon Cloud Map 资源加标签