Expand description
With AWS Cloud Map, you can configure public DNS, private DNS, or HTTP namespaces that your microservice applications run in. When an instance becomes available, you can call the AWS Cloud Map API to register the instance with AWS Cloud Map. For public or private DNS namespaces, AWS Cloud Map automatically creates DNS records and an optional health check. Clients that submit public or private DNS queries, or HTTP requests, for the service receive an answer that contains up to eight healthy records.
If you’re using the service, you’re probably looking for ServiceDiscoveryClient and ServiceDiscovery.
Structs§
- Create
Http Namespace Request - Create
Http Namespace Response - Create
Private DnsNamespace Request - Create
Private DnsNamespace Response - Create
Public DnsNamespace Request - Create
Public DnsNamespace Response - Create
Service Request - Create
Service Response - Delete
Namespace Request - Delete
Namespace Response - Delete
Service Request - Delete
Service Response - Deregister
Instance Request - Deregister
Instance Response - Discover
Instances Request - Discover
Instances Response - DnsConfig
A complex type that contains information about the Amazon Route 53 DNS records that you want AWS Cloud Map to create when you register an instance.
- DnsConfig
Change A complex type that contains information about changes to the Route 53 DNS records that AWS Cloud Map creates when you register an instance.
- DnsProperties
A complex type that contains the ID for the Route 53 hosted zone that AWS Cloud Map creates when you create a namespace.
- DnsRecord
A complex type that contains information about the Route 53 DNS records that you want AWS Cloud Map to create when you register an instance.
- GetInstance
Request - GetInstance
Response - GetInstances
Health Status Request - GetInstances
Health Status Response - GetNamespace
Request - GetNamespace
Response - GetOperation
Request - GetOperation
Response - GetService
Request - GetService
Response - Health
Check Config Public DNS and HTTP namespaces only. A complex type that contains settings for an optional health check. If you specify settings for a health check, AWS Cloud Map associates the health check with the records that you specify in
DnsConfig
.If you specify a health check configuration, you can specify either
HealthCheckCustomConfig
orHealthCheckConfig
but not both.Health checks are basic Route 53 health checks that monitor an AWS endpoint. For information about pricing for health checks, see Amazon Route 53 Pricing.
Note the following about configuring health checks.
- A and AAAA records
-
If
DnsConfig
includes configurations for bothA
andAAAA
records, AWS Cloud Map creates a health check that uses the IPv4 address to check the health of the resource. If the endpoint tthat's specified by the IPv4 address is unhealthy, Route 53 considers both theA
andAAAA
records to be unhealthy. - CNAME records
-
You can't specify settings for
HealthCheckConfig
when theDNSConfig
includesCNAME
for the value ofType
. If you do, theCreateService
request will fail with anInvalidInput
error. - Request interval
-
A Route 53 health checker in each health-checking AWS Region sends a health check request to an endpoint every 30 seconds. On average, your endpoint receives a health check request about every two seconds. However, health checkers don't coordinate with one another. Therefore, you might sometimes see several requests in one second that's followed by a few seconds with no health checks at all.
- Health checking regions
-
Health checkers perform checks from all Route 53 health-checking Regions. For a list of the current Regions, see Regions.
- Alias records
-
When you register an instance, if you include the
AWSALIASDNSNAME
attribute, AWS Cloud Map creates a Route 53 alias record. Note the following:-
Route 53 automatically sets
EvaluateTargetHealth
to true for alias records. WhenEvaluateTargetHealth
is true, the alias record inherits the health of the referenced AWS resource. such as an ELB load balancer. For more information, see <a href="https://docs.aws.amazon.com/Route53/latest/APIReference/APIAliasTarget.html#Route53-Type-AliasTarget-EvaluateTargetHealth">EvaluateTargetHealth. -
If you include
HealthCheckConfig
and then use the service to register an instance that creates an alias record, Route 53 doesn't create the health check.
-
- Charges for health checks
-
Health checks are basic Route 53 health checks that monitor an AWS endpoint. For information about pricing for health checks, see Amazon Route 53 Pricing.
- Health
Check Custom Config A complex type that contains information about an optional custom health check. A custom health check, which requires that you use a third-party health checker to evaluate the health of your resources, is useful in the following circumstances:
-
You can't use a health check that's defined by
HealthCheckConfig
because the resource isn't available over the internet. For example, you can use a custom health check when the instance is in an Amazon VPC. (To check the health of resources in a VPC, the health checker must also be in the VPC.) -
You want to use a third-party health checker regardless of where your resources are located.
If you specify a health check configuration, you can specify either
HealthCheckCustomConfig
orHealthCheckConfig
but not both.To change the status of a custom health check, submit an
UpdateInstanceCustomHealthStatus
request. AWS Cloud Map doesn't monitor the status of the resource, it just keeps a record of the status specified in the most recentUpdateInstanceCustomHealthStatus
request.Here's how custom health checks work:
-
You create a service.
-
You register an instance.
-
You configure a third-party health checker to monitor the resource that's associated with the new instance.
AWS Cloud Map doesn't check the health of the resource directly.
-
The third-party health-checker determines that the resource is unhealthy and notifies your application.
-
Your application submits an
UpdateInstanceCustomHealthStatus
request. -
AWS Cloud Map waits for 30 seconds.
-
If another
UpdateInstanceCustomHealthStatus
request doesn't arrive during that time to change the status back to healthy, AWS Cloud Map stops routing traffic to the resource.
-
- Http
Instance Summary In a response to a DiscoverInstances request,
HttpInstanceSummary
contains information about one instance that matches the values that you specified in the request.- Http
Properties A complex type that contains the name of an HTTP namespace.
- Instance
A complex type that contains information about an instance that AWS Cloud Map creates when you submit a
RegisterInstance
request.- Instance
Summary A complex type that contains information about the instances that you registered by using a specified service.
- List
Instances Request - List
Instances Response - List
Namespaces Request - List
Namespaces Response - List
Operations Request - List
Operations Response - List
Services Request - List
Services Response - List
Tags ForResource Request - List
Tags ForResource Response - Namespace
A complex type that contains information about a specified namespace.
- Namespace
Filter A complex type that identifies the namespaces that you want to list. You can choose to list public or private namespaces.
- Namespace
Properties A complex type that contains information that's specific to the namespace type.
- Namespace
Summary A complex type that contains information about a namespace.
- Operation
A complex type that contains information about a specified operation.
- Operation
Filter A complex type that lets you select the operations that you want to list.
- Operation
Summary A complex type that contains information about an operation that matches the criteria that you specified in a ListOperations request.
- Register
Instance Request - Register
Instance Response - Service
A complex type that contains information about the specified service.
- Service
Change A complex type that contains changes to an existing service.
- Service
Discovery Client - A client for the ServiceDiscovery API.
- Service
Filter A complex type that lets you specify the namespaces that you want to list services for.
- Service
Summary A complex type that contains information about a specified service.
- Tag
A custom key-value pair that's associated with a resource.
- TagResource
Request - TagResource
Response - Untag
Resource Request - Untag
Resource Response - Update
Instance Custom Health Status Request - Update
Service Request - Update
Service Response
Enums§
- Create
Http Namespace Error - Errors returned by CreateHttpNamespace
- Create
Private DnsNamespace Error - Errors returned by CreatePrivateDnsNamespace
- Create
Public DnsNamespace Error - Errors returned by CreatePublicDnsNamespace
- Create
Service Error - Errors returned by CreateService
- Delete
Namespace Error - Errors returned by DeleteNamespace
- Delete
Service Error - Errors returned by DeleteService
- Deregister
Instance Error - Errors returned by DeregisterInstance
- Discover
Instances Error - Errors returned by DiscoverInstances
- GetInstance
Error - Errors returned by GetInstance
- GetInstances
Health Status Error - Errors returned by GetInstancesHealthStatus
- GetNamespace
Error - Errors returned by GetNamespace
- GetOperation
Error - Errors returned by GetOperation
- GetService
Error - Errors returned by GetService
- List
Instances Error - Errors returned by ListInstances
- List
Namespaces Error - Errors returned by ListNamespaces
- List
Operations Error - Errors returned by ListOperations
- List
Services Error - Errors returned by ListServices
- List
Tags ForResource Error - Errors returned by ListTagsForResource
- Register
Instance Error - Errors returned by RegisterInstance
- TagResource
Error - Errors returned by TagResource
- Untag
Resource Error - Errors returned by UntagResource
- Update
Instance Custom Health Status Error - Errors returned by UpdateInstanceCustomHealthStatus
- Update
Service Error - Errors returned by UpdateService
Traits§
- Service
Discovery - Trait representing the capabilities of the ServiceDiscovery API. ServiceDiscovery clients implement this trait.