Class: Aws::ServiceDiscovery::Types::ServiceSummary
- Inherits:
-
Struct
- Object
- Struct
- Aws::ServiceDiscovery::Types::ServiceSummary
- Includes:
- Aws::Structure
- Defined in:
- lib/aws-sdk-servicediscovery/types.rb
Overview
A complex type that contains information about a specified service.
Instance Attribute Summary collapse
-
#arn ⇒ String
The Amazon Resource Name (ARN) that AWS Cloud Map assigns to the service when you create it.
-
#create_date ⇒ Time
The date and time that the service was created.
-
#description ⇒ String
The description that you specify when you create the service.
-
#dns_config ⇒ Types::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.
-
#health_check_config ⇒ Types::HealthCheckConfig
*Public DNS namespaces only.* A complex type that contains settings for an optional health check.
-
#health_check_custom_config ⇒ Types::HealthCheckCustomConfig
A complex type that contains information about an optional custom health check.
-
#id ⇒ String
The ID that AWS Cloud Map assigned to the service when you created it.
-
#instance_count ⇒ Integer
The number of instances that are currently associated with the service.
-
#name ⇒ String
The name of the service.
Instance Attribute Details
#arn ⇒ String
The Amazon Resource Name (ARN) that AWS Cloud Map assigns to the service when you create it.
2628 2629 2630 2631 2632 2633 2634 2635 2636 2637 2638 2639 |
# File 'lib/aws-sdk-servicediscovery/types.rb', line 2628 class ServiceSummary < Struct.new( :id, :arn, :name, :description, :instance_count, :dns_config, :health_check_config, :health_check_custom_config, :create_date) include Aws::Structure end |
#create_date ⇒ Time
The date and time that the service was created.
2628 2629 2630 2631 2632 2633 2634 2635 2636 2637 2638 2639 |
# File 'lib/aws-sdk-servicediscovery/types.rb', line 2628 class ServiceSummary < Struct.new( :id, :arn, :name, :description, :instance_count, :dns_config, :health_check_config, :health_check_custom_config, :create_date) include Aws::Structure end |
#description ⇒ String
The description that you specify when you create the service.
2628 2629 2630 2631 2632 2633 2634 2635 2636 2637 2638 2639 |
# File 'lib/aws-sdk-servicediscovery/types.rb', line 2628 class ServiceSummary < Struct.new( :id, :arn, :name, :description, :instance_count, :dns_config, :health_check_config, :health_check_custom_config, :create_date) include Aws::Structure end |
#dns_config ⇒ Types::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.
2628 2629 2630 2631 2632 2633 2634 2635 2636 2637 2638 2639 |
# File 'lib/aws-sdk-servicediscovery/types.rb', line 2628 class ServiceSummary < Struct.new( :id, :arn, :name, :description, :instance_count, :dns_config, :health_check_config, :health_check_custom_config, :create_date) include Aws::Structure end |
#health_check_config ⇒ Types::HealthCheckConfig
*Public DNS 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` or `HealthCheckConfig` 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 both A and AAAA records, AWS Cloud Map creates a health check that uses the IPv4 address to check the health of the resource. If the endpoint that is specified by the IPv4 address is unhealthy, Route 53 considers both the A and AAAA records to be unhealthy.
**CNAME records**
You can’t specify settings for ‘HealthCheckConfig` when the `DNSConfig` includes `CNAME` for the value of `Type`. If you do, the `CreateService` request will fail with an `InvalidInput` error.
**Request interval**
A Route 53 health checker in each health-checking 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, so you’ll sometimes see several requests per second 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 ‘AWS_ALIAS_DNS_NAME` attribute, AWS Cloud Map creates a Route 53 alias record. Note the following:
-
Route 53 automatically sets ‘EvaluateTargetHealth` to true for alias records. When `EvaluateTargetHealth` is true, the alias record inherits the health of the referenced AWS resource. such as an ELB load balancer. For more information, see [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].
[1]: aws.amazon.com/route53/pricing/ [2]: docs.aws.amazon.com/Route53/latest/APIReference/API_HealthCheckConfig.html#Route53-Type-HealthCheckConfig-Regions [3]: docs.aws.amazon.com/Route53/latest/APIReference/API_AliasTarget.html#Route53-Type-AliasTarget-EvaluateTargetHealth
2628 2629 2630 2631 2632 2633 2634 2635 2636 2637 2638 2639 |
# File 'lib/aws-sdk-servicediscovery/types.rb', line 2628 class ServiceSummary < Struct.new( :id, :arn, :name, :description, :instance_count, :dns_config, :health_check_config, :health_check_custom_config, :create_date) include Aws::Structure end |
#health_check_custom_config ⇒ Types::HealthCheckCustomConfig
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 is 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.
If you specify a health check configuration, you can specify either ‘HealthCheckCustomConfig` or `HealthCheckConfig` but not both.
To change the status of a custom health check, submit an ‘UpdateInstanceCustomHealthStatus` request. Cloud Map doesn’t monitor the status of the resource, it just keeps a record of the status specified in the most recent ‘UpdateInstanceCustomHealthStatus` request.
Here’s how custom health checks work:
-
You create a service and specify a value for ‘FailureThreshold`.
The failure threshold indicates the number of 30-second intervals you want AWS Cloud Map to wait between the time that your application sends an UpdateInstanceCustomHealthStatus request and the time that AWS Cloud Map stops routing internet traffic to the corresponding resource.
-
You register an instance.
-
You configure a third-party health checker to monitor the resource that is associated with the new instance.
<note markdown=“1”> AWS Cloud Map doesn’t check the health of the resource directly.
</note>
-
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 (‘FailureThreshold` x 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.
Note the following about configuring custom health checks.
2628 2629 2630 2631 2632 2633 2634 2635 2636 2637 2638 2639 |
# File 'lib/aws-sdk-servicediscovery/types.rb', line 2628 class ServiceSummary < Struct.new( :id, :arn, :name, :description, :instance_count, :dns_config, :health_check_config, :health_check_custom_config, :create_date) include Aws::Structure end |
#id ⇒ String
The ID that AWS Cloud Map assigned to the service when you created it.
2628 2629 2630 2631 2632 2633 2634 2635 2636 2637 2638 2639 |
# File 'lib/aws-sdk-servicediscovery/types.rb', line 2628 class ServiceSummary < Struct.new( :id, :arn, :name, :description, :instance_count, :dns_config, :health_check_config, :health_check_custom_config, :create_date) include Aws::Structure end |
#instance_count ⇒ Integer
The number of instances that are currently associated with the service. Instances that were previously associated with the service but that have been deleted are not included in the count.
2628 2629 2630 2631 2632 2633 2634 2635 2636 2637 2638 2639 |
# File 'lib/aws-sdk-servicediscovery/types.rb', line 2628 class ServiceSummary < Struct.new( :id, :arn, :name, :description, :instance_count, :dns_config, :health_check_config, :health_check_custom_config, :create_date) include Aws::Structure end |
#name ⇒ String
The name of the service.
2628 2629 2630 2631 2632 2633 2634 2635 2636 2637 2638 2639 |
# File 'lib/aws-sdk-servicediscovery/types.rb', line 2628 class ServiceSummary < Struct.new( :id, :arn, :name, :description, :instance_count, :dns_config, :health_check_config, :health_check_custom_config, :create_date) include Aws::Structure end |