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

AWS::ServiceDiscovery::Service

一个复杂类型,包含有关服务的信息,该服务定义以下实体的配置:

  • 对于公有和私有 DNS 名称空间,为 Amazon Route 53 中的下列 DNS 记录组合之一:

    • A

    • AAAA

    • A 和 AAAA

    • SRV

    • 别名记录

  • (可选)运行状况检查

语法

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

JSON

{ "Type" : "AWS::ServiceDiscovery::Service", "Properties" : { "Description" : String, "DnsConfig" : DnsConfig, "HealthCheckConfig" : HealthCheckConfig, "HealthCheckCustomConfig" : HealthCheckCustomConfig, "Name" : String, "NamespaceId" : String } }

YAML

Type: AWS::ServiceDiscovery::Service Properties: Description: String DnsConfig: DnsConfig HealthCheckConfig: HealthCheckConfig HealthCheckCustomConfig: HealthCheckCustomConfig Name: String NamespaceId: String

属性

Description

服务的描述。

必需:否

类型:字符串

最高1024

Update requires: No interruption

DnsConfig

一个复杂类型,它包含有关您希望 AWS Cloud Map 在您注册实例时创建的 Route 53 DNS 记录的信息。

必需:否

类型DnsConfig

Update requires: No interruption

HealthCheckConfig

仅限公有 DNS 和 HTTP 命名空间。 一个复杂类型,包含可选运行状况检查的设置。如果为运行状况检查指定设置,则 AWS Cloud Map 会将运行状况检查与 DnsConfig 中指定的记录关联。

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

必需:否

类型HealthCheckConfig

Update requires: No interruption

HealthCheckCustomConfig

一个复杂类型,它包含有关可选自定义运行状况检查的信息。

重要

如果您指定运行状况检查配置,则可以指定 HealthCheckCustomConfigHealthCheckConfig,但不能同时指定两者。

必需:否

类型HealthCheckCustomConfig

Update requires: Replacement

Name

服务的名称。

必需:否

类型:字符串

模式((?=^.{1,127}$)^([a-zA-Z0-9_][a-zA-Z0-9-_]{0,61}[a-zA-Z0-9_]|[a-zA-Z0-9])(\.([a-zA-Z0-9_][a-zA-Z0-9-_]{0,61}[a-zA-Z0-9_]|[a-zA-Z0-9]))*$)|(^\.$)

Update requires: Replacement

NamespaceId

已用于创建服务的命名空间的 ID。

重要

对于服务属性或 DnsConfig,必须指定 NamespaceId 的值。不要在两个位置都指定一个值。

必需:否

类型:字符串

最高64

Update requires: Replacement

返回值

Ref

在将此资源的逻辑 ID 传递给内部 Ref 函数时,Ref 返回服务的 Id 的值,例如 srv-e4anhexample0004

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

Fn::GetAtt

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

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

Arn

服务的 Amazon 资源名称 (ARN)。

Id

服务的 ID。

Name

已分配给服务的名称。

示例

创建服务

以下示例创建一个基于公有 DNS 命名空间的服务。该服务包含具有 WEIGHTED 的路由策略的 Amazon Route 53 A 和 AAAA 记录的设置。它还包括 Route 53 运行状况检查。

JSON

{ "Type" : "AWS::ServiceDiscovery::Service", "Properties" : { "Description" : "Service based on a public DNS namespace", "DnsConfig" : { "DnsRecords" : [ { "Type" : "A", "TTL" : 60 }, { "Type" : "AAAA", "TTL" : 60 } ], "RoutingPolicy" : "WEIGHTED" }, "HealthCheckConfig" : { "FailureThreshold" : 3, "ResourcePath" : "/", "Type" : "HTTPS" }, "Name" : "example-public-DNS-service", "NamespaceId" : "ns-e4anhexample0004" } }

YAML

Type: 'AWS::ServiceDiscovery::Service' Properties: Description: Service based on a public DNS namespace DnsConfig: DnsRecords: - Type: A TTL: 60 - Type: AAAA TTL: 60 RoutingPolicy: WEIGHTED HealthCheckConfig: FailureThreshold: 3 ResourcePath: / Type: HTTPS Name: example-public-DNS-service NamespaceId: ns-e4anhexample0004

另请参阅