CfnHealthCheck

class aws_cdk.aws_route53.CfnHealthCheck(scope, id, *, health_check_config, health_check_tags=None)

Bases: CfnResource

The AWS::Route53::HealthCheck resource is a Route 53 resource type that contains settings for a Route 53 health check.

For information about associating health checks with records, see HealthCheckId in ChangeResourceRecordSets . .. epigraph:

You can't create a health check with simple routing.

ELB Load Balancers

If you’re registering EC2 instances with an Elastic Load Balancing (ELB) load balancer, do not create Amazon Route 53 health checks for the EC2 instances. When you register an EC2 instance with a load balancer, you configure settings for an ELB health check, which performs a similar function to a Route 53 health check.

Private Hosted Zones

You can associate health checks with failover records in a private hosted zone. Note the following:

  • Route 53 health checkers are outside the VPC. To check the health of an endpoint within a VPC by IP address, you must assign a public IP address to the instance in the VPC.

  • You can configure a health checker to check the health of an external resource that the instance relies on, such as a database server.

  • You can create a CloudWatch metric, associate an alarm with the metric, and then create a health check that is based on the state of the alarm. For example, you might create a CloudWatch metric that checks the status of the Amazon EC2 StatusCheckFailed metric, add an alarm to the metric, and then create a health check that is based on the state of the alarm. For information about creating CloudWatch metrics and alarms by using the CloudWatch console, see the Amazon CloudWatch User Guide .

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-healthcheck.html

CloudformationResource:

AWS::Route53::HealthCheck

ExampleMetadata:

fixture=_generated

Example:

# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
from aws_cdk import aws_route53 as route53

cfn_health_check = route53.CfnHealthCheck(self, "MyCfnHealthCheck",
    health_check_config=route53.CfnHealthCheck.HealthCheckConfigProperty(
        type="type",

        # the properties below are optional
        alarm_identifier=route53.CfnHealthCheck.AlarmIdentifierProperty(
            name="name",
            region="region"
        ),
        child_health_checks=["childHealthChecks"],
        enable_sni=False,
        failure_threshold=123,
        fully_qualified_domain_name="fullyQualifiedDomainName",
        health_threshold=123,
        insufficient_data_health_status="insufficientDataHealthStatus",
        inverted=False,
        ip_address="ipAddress",
        measure_latency=False,
        port=123,
        regions=["regions"],
        request_interval=123,
        resource_path="resourcePath",
        routing_control_arn="routingControlArn",
        search_string="searchString"
    ),

    # the properties below are optional
    health_check_tags=[route53.CfnHealthCheck.HealthCheckTagProperty(
        key="key",
        value="value"
    )]
)
Parameters:
  • scope (Construct) – Scope in which this resource is defined.

  • id (str) – Construct identifier for this resource (unique in its scope).

  • health_check_config (Union[IResolvable, HealthCheckConfigProperty, Dict[str, Any]]) – A complex type that contains detailed information about one health check. For the values to enter for HealthCheckConfig , see HealthCheckConfig

  • health_check_tags (Union[IResolvable, Sequence[Union[IResolvable, HealthCheckTagProperty, Dict[str, Any]]], None]) – The HealthCheckTags property describes key-value pairs that are associated with an AWS::Route53::HealthCheck resource.

Methods

add_deletion_override(path)

Syntactic sugar for addOverride(path, undefined).

Parameters:

path (str) – The path of the value to delete.

Return type:

None

add_dependency(target)

Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.

This can be used for resources across stacks (or nested stack) boundaries and the dependency will automatically be transferred to the relevant scope.

Parameters:

target (CfnResource) –

Return type:

None

add_depends_on(target)

(deprecated) Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.

Parameters:

target (CfnResource) –

Deprecated:

use addDependency

Stability:

deprecated

Return type:

None

add_metadata(key, value)

Add a value to the CloudFormation Resource Metadata.

Parameters:
  • key (str) –

  • value (Any) –

See:

Return type:

None

https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html

Note that this is a different set of metadata from CDK node metadata; this metadata ends up in the stack template under the resource, whereas CDK node metadata ends up in the Cloud Assembly.

add_override(path, value)

Adds an override to the synthesized CloudFormation resource.

To add a property override, either use addPropertyOverride or prefix path with “Properties.” (i.e. Properties.TopicName).

If the override is nested, separate each nested level using a dot (.) in the path parameter. If there is an array as part of the nesting, specify the index in the path.

To include a literal . in the property name, prefix with a \. In most programming languages you will need to write this as "\\." because the \ itself will need to be escaped.

For example:

cfn_resource.add_override("Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes", ["myattribute"])
cfn_resource.add_override("Properties.GlobalSecondaryIndexes.1.ProjectionType", "INCLUDE")

would add the overrides Example:

"Properties": {
  "GlobalSecondaryIndexes": [
    {
      "Projection": {
        "NonKeyAttributes": [ "myattribute" ]
        ...
      }
      ...
    },
    {
      "ProjectionType": "INCLUDE"
      ...
    },
  ]
  ...
}

The value argument to addOverride will not be processed or translated in any way. Pass raw JSON values in here with the correct capitalization for CloudFormation. If you pass CDK classes or structs, they will be rendered with lowercased key names, and CloudFormation will reject the template.

Parameters:
  • path (str) –

    • The path of the property, you can use dot notation to override values in complex types. Any intermediate keys will be created as needed.

  • value (Any) –

    • The value. Could be primitive or complex.

Return type:

None

add_property_deletion_override(property_path)

Adds an override that deletes the value of a property from the resource definition.

Parameters:

property_path (str) – The path to the property.

Return type:

None

add_property_override(property_path, value)

Adds an override to a resource property.

Syntactic sugar for addOverride("Properties.<...>", value).

Parameters:
  • property_path (str) – The path of the property.

  • value (Any) – The value.

Return type:

None

apply_removal_policy(policy=None, *, apply_to_update_replace_policy=None, default=None)

Sets the deletion policy of the resource based on the removal policy specified.

The Removal Policy controls what happens to this resource when it stops being managed by CloudFormation, either because you’ve removed it from the CDK application or because you’ve made a change that requires the resource to be replaced.

The resource can be deleted (RemovalPolicy.DESTROY), or left in your AWS account for data recovery and cleanup later (RemovalPolicy.RETAIN). In some cases, a snapshot can be taken of the resource prior to deletion (RemovalPolicy.SNAPSHOT). A list of resources that support this policy can be found in the following link:

Parameters:
  • policy (Optional[RemovalPolicy]) –

  • apply_to_update_replace_policy (Optional[bool]) – Apply the same deletion policy to the resource’s “UpdateReplacePolicy”. Default: true

  • default (Optional[RemovalPolicy]) – The default policy to apply in case the removal policy is not defined. Default: - Default value is resource specific. To determine the default value for a resource, please consult that specific resource’s documentation.

See:

https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options

Return type:

None

get_att(attribute_name, type_hint=None)

Returns a token for an runtime attribute of this resource.

Ideally, use generated attribute accessors (e.g. resource.arn), but this can be used for future compatibility in case there is no generated attribute.

Parameters:
  • attribute_name (str) – The name of the attribute.

  • type_hint (Optional[ResolutionTypeHint]) –

Return type:

Reference

get_metadata(key)

Retrieve a value value from the CloudFormation Resource Metadata.

Parameters:

key (str) –

See:

Return type:

Any

https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html

Note that this is a different set of metadata from CDK node metadata; this metadata ends up in the stack template under the resource, whereas CDK node metadata ends up in the Cloud Assembly.

inspect(inspector)

Examines the CloudFormation resource and discloses attributes.

Parameters:

inspector (TreeInspector) – tree inspector to collect and process attributes.

Return type:

None

obtain_dependencies()

Retrieves an array of resources this resource depends on.

This assembles dependencies on resources across stacks (including nested stacks) automatically.

Return type:

List[Union[Stack, CfnResource]]

obtain_resource_dependencies()

Get a shallow copy of dependencies between this resource and other resources in the same stack.

Return type:

List[CfnResource]

override_logical_id(new_logical_id)

Overrides the auto-generated logical ID with a specific ID.

Parameters:

new_logical_id (str) – The new logical ID to use for this stack element.

Return type:

None

remove_dependency(target)

Indicates that this resource no longer depends on another resource.

This can be used for resources across stacks (including nested stacks) and the dependency will automatically be removed from the relevant scope.

Parameters:

target (CfnResource) –

Return type:

None

replace_dependency(target, new_target)

Replaces one dependency with another.

Parameters:
Return type:

None

to_string()

Returns a string representation of this construct.

Return type:

str

Returns:

a string representation of this resource

Attributes

CFN_RESOURCE_TYPE_NAME = 'AWS::Route53::HealthCheck'
attr_health_check_id

The identifier that Amazon Route 53 assigned to the health check when you created it.

When you add or update a resource record set, you use this value to specify which health check to use. The value can be up to 64 characters long.

CloudformationAttribute:

HealthCheckId

cfn_options

Options for this resource, such as condition, update policy etc.

cfn_resource_type

AWS resource type.

creation_stack

return:

the stack trace of the point where this Resource was created from, sourced from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most node +internal+ entries filtered.

health_check_config

A complex type that contains detailed information about one health check.

health_check_tags

The HealthCheckTags property describes key-value pairs that are associated with an AWS::Route53::HealthCheck resource.

logical_id

The logical ID for this CloudFormation stack element.

The logical ID of the element is calculated from the path of the resource node in the construct tree.

To override this value, use overrideLogicalId(newLogicalId).

Returns:

the logical ID as a stringified token. This value will only get resolved during synthesis.

node

The tree node.

ref

Return a string that will be resolved to a CloudFormation { Ref } for this element.

If, by any chance, the intrinsic reference of a resource is not a string, you could coerce it to an IResolvable through Lazy.any({ produce: resource.ref }).

stack

The stack in which this element is defined.

CfnElements must be defined within a stack scope (directly or indirectly).

Static Methods

classmethod is_cfn_element(x)

Returns true if a construct is a stack element (i.e. part of the synthesized cloudformation template).

Uses duck-typing instead of instanceof to allow stack elements from different versions of this library to be included in the same stack.

Parameters:

x (Any) –

Return type:

bool

Returns:

The construct as a stack element or undefined if it is not a stack element.

classmethod is_cfn_resource(x)

Check whether the given object is a CfnResource.

Parameters:

x (Any) –

Return type:

bool

classmethod is_construct(x)

Checks if x is a construct.

Use this method instead of instanceof to properly detect Construct instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the constructs library on disk are seen as independent, completely different libraries. As a consequence, the class Construct in each copy of the constructs library is seen as a different class, and an instance of one class will not test as instanceof the other class. npm install will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the constructs library can be accidentally installed, and instanceof will behave unpredictably. It is safest to avoid using instanceof, and using this type-testing method instead.

Parameters:

x (Any) – Any object.

Return type:

bool

Returns:

true if x is an object created from a class which extends Construct.

AlarmIdentifierProperty

class CfnHealthCheck.AlarmIdentifierProperty(*, name, region)

Bases: object

A complex type that identifies the CloudWatch alarm that you want Amazon Route 53 health checkers to use to determine whether the specified health check is healthy.

Parameters:
  • name (str) – The name of the CloudWatch alarm that you want Amazon Route 53 health checkers to use to determine whether this health check is healthy. .. epigraph:: Route 53 supports CloudWatch alarms with the following features: - Standard-resolution metrics. High-resolution metrics aren’t supported. For more information, see High-Resolution Metrics in the Amazon CloudWatch User Guide . - Statistics: Average, Minimum, Maximum, Sum, and SampleCount. Extended statistics aren’t supported.

  • region (str) – For the CloudWatch alarm that you want Route 53 health checkers to use to determine whether this health check is healthy, the region that the alarm was created in. For the current list of CloudWatch regions, see Amazon CloudWatch endpoints and quotas in the Amazon Web Services General Reference .

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-healthcheck-alarmidentifier.html

ExampleMetadata:

fixture=_generated

Example:

# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
from aws_cdk import aws_route53 as route53

alarm_identifier_property = route53.CfnHealthCheck.AlarmIdentifierProperty(
    name="name",
    region="region"
)

Attributes

name

The name of the CloudWatch alarm that you want Amazon Route 53 health checkers to use to determine whether this health check is healthy.

Route 53 supports CloudWatch alarms with the following features:

  • Standard-resolution metrics. High-resolution metrics aren’t supported. For more information, see High-Resolution Metrics in the Amazon CloudWatch User Guide .

  • Statistics: Average, Minimum, Maximum, Sum, and SampleCount. Extended statistics aren’t supported.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-healthcheck-alarmidentifier.html#cfn-route53-healthcheck-alarmidentifier-name

region

For the CloudWatch alarm that you want Route 53 health checkers to use to determine whether this health check is healthy, the region that the alarm was created in.

For the current list of CloudWatch regions, see Amazon CloudWatch endpoints and quotas in the Amazon Web Services General Reference .

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-healthcheck-alarmidentifier.html#cfn-route53-healthcheck-alarmidentifier-region

HealthCheckConfigProperty

class CfnHealthCheck.HealthCheckConfigProperty(*, type, alarm_identifier=None, child_health_checks=None, enable_sni=None, failure_threshold=None, fully_qualified_domain_name=None, health_threshold=None, insufficient_data_health_status=None, inverted=None, ip_address=None, measure_latency=None, port=None, regions=None, request_interval=None, resource_path=None, routing_control_arn=None, search_string=None)

Bases: object

A complex type that contains information about the health check.

Parameters:
  • type (str) –

    The type of health check that you want to create, which indicates how Amazon Route 53 determines whether an endpoint is healthy. .. epigraph:: You can’t change the value of Type after you create a health check. You can create the following types of health checks: - HTTP : Route 53 tries to establish a TCP connection. If successful, Route 53 submits an HTTP request and waits for an HTTP status code of 200 or greater and less than 400. - HTTPS : Route 53 tries to establish a TCP connection. If successful, Route 53 submits an HTTPS request and waits for an HTTP status code of 200 or greater and less than 400. .. epigraph:: If you specify HTTPS for the value of Type , the endpoint must support TLS v1.0 or later. - HTTP_STR_MATCH : Route 53 tries to establish a TCP connection. If successful, Route 53 submits an HTTP request and searches the first 5,120 bytes of the response body for the string that you specify in SearchString . - HTTPS_STR_MATCH : Route 53 tries to establish a TCP connection. If successful, Route 53 submits an HTTPS request and searches the first 5,120 bytes of the response body for the string that you specify in SearchString . - TCP : Route 53 tries to establish a TCP connection. - CLOUDWATCH_METRIC : The health check is associated with a CloudWatch alarm. If the state of the alarm is OK , the health check is considered healthy. If the state is ALARM , the health check is considered unhealthy. If CloudWatch doesn’t have sufficient data to determine whether the state is OK or ALARM , the health check status depends on the setting for InsufficientDataHealthStatus : Healthy , Unhealthy , or LastKnownStatus . .. epigraph:: Route 53 supports CloudWatch alarms with the following features: - Standard-resolution metrics. High-resolution metrics aren’t supported. For more information, see High-Resolution Metrics in the Amazon CloudWatch User Guide . - Statistics: Average, Minimum, Maximum, Sum, and SampleCount. Extended statistics aren’t supported. - CALCULATED : For health checks that monitor the status of other health checks, Route 53 adds up the number of health checks that Route 53 health checkers consider to be healthy and compares that number with the value of HealthThreshold . - RECOVERY_CONTROL : The health check is assocated with a Route53 Application Recovery Controller routing control. If the routing control state is ON , the health check is considered healthy. If the state is OFF , the health check is considered unhealthy. For more information, see How Route 53 Determines Whether an Endpoint Is Healthy in the Amazon Route 53 Developer Guide .

  • alarm_identifier (Union[IResolvable, AlarmIdentifierProperty, Dict[str, Any], None]) – A complex type that identifies the CloudWatch alarm that you want Amazon Route 53 health checkers to use to determine whether the specified health check is healthy.

  • child_health_checks (Optional[Sequence[str]]) – (CALCULATED Health Checks Only) A complex type that contains one ChildHealthCheck element for each health check that you want to associate with a CALCULATED health check.

  • enable_sni (Union[bool, IResolvable, None]) – Specify whether you want Amazon Route 53 to send the value of FullyQualifiedDomainName to the endpoint in the client_hello message during TLS negotiation. This allows the endpoint to respond to HTTPS health check requests with the applicable SSL/TLS certificate. Some endpoints require that HTTPS requests include the host name in the client_hello message. If you don’t enable SNI, the status of the health check will be SSL alert handshake_failure . A health check can also have that status for other reasons. If SNI is enabled and you’re still getting the error, check the SSL/TLS configuration on your endpoint and confirm that your certificate is valid. The SSL/TLS certificate on your endpoint includes a domain name in the Common Name field and possibly several more in the Subject Alternative Names field. One of the domain names in the certificate should match the value that you specify for FullyQualifiedDomainName . If the endpoint responds to the client_hello message with a certificate that does not include the domain name that you specified in FullyQualifiedDomainName , a health checker will retry the handshake. In the second attempt, the health checker will omit FullyQualifiedDomainName from the client_hello message.

  • failure_threshold (Union[int, float, None]) – The number of consecutive health checks that an endpoint must pass or fail for Amazon Route 53 to change the current status of the endpoint from unhealthy to healthy or vice versa. For more information, see How Amazon Route 53 Determines Whether an Endpoint Is Healthy in the Amazon Route 53 Developer Guide . If you don’t specify a value for FailureThreshold , the default value is three health checks.

  • fully_qualified_domain_name (Optional[str]) – Amazon Route 53 behavior depends on whether you specify a value for IPAddress . If you specify a value for IPAddress : Amazon Route 53 sends health check requests to the specified IPv4 or IPv6 address and passes the value of FullyQualifiedDomainName in the Host header for all health checks except TCP health checks. This is typically the fully qualified DNS name of the endpoint on which you want Route 53 to perform health checks. When Route 53 checks the health of an endpoint, here is how it constructs the Host header: - If you specify a value of 80 for Port and HTTP or HTTP_STR_MATCH for Type , Route 53 passes the value of FullyQualifiedDomainName to the endpoint in the Host header. - If you specify a value of 443 for Port and HTTPS or HTTPS_STR_MATCH for Type , Route 53 passes the value of FullyQualifiedDomainName to the endpoint in the Host header. - If you specify another value for Port and any value except TCP for Type , Route 53 passes FullyQualifiedDomainName:Port to the endpoint in the Host header. If you don’t specify a value for FullyQualifiedDomainName , Route 53 substitutes the value of IPAddress in the Host header in each of the preceding cases. If you don’t specify a value for ``IPAddress`` : Route 53 sends a DNS request to the domain that you specify for FullyQualifiedDomainName at the interval that you specify for RequestInterval . Using an IPv4 address that DNS returns, Route 53 then checks the health of the endpoint. .. epigraph:: If you don’t specify a value for IPAddress , Route 53 uses only IPv4 to send health checks to the endpoint. If there’s no record with a type of A for the name that you specify for FullyQualifiedDomainName , the health check fails with a “DNS resolution failed” error. If you want to check the health of multiple records that have the same name and type, such as multiple weighted records, and if you choose to specify the endpoint only by FullyQualifiedDomainName , we recommend that you create a separate health check for each endpoint. For example, create a health check for each HTTP server that is serving content for www.example.com. For the value of FullyQualifiedDomainName , specify the domain name of the server (such as us-east-2-www.example.com), not the name of the records (www.example.com). .. epigraph:: In this configuration, if you create a health check for which the value of FullyQualifiedDomainName matches the name of the records and you then associate the health check with those records, health check results will be unpredictable. In addition, if the value that you specify for Type is HTTP , HTTPS , HTTP_STR_MATCH , or HTTPS_STR_MATCH , Route 53 passes the value of FullyQualifiedDomainName in the Host header, as it does when you specify a value for IPAddress . If the value of Type is TCP , Route 53 doesn’t pass a Host header.

  • health_threshold (Union[int, float, None]) – The number of child health checks that are associated with a CALCULATED health check that Amazon Route 53 must consider healthy for the CALCULATED health check to be considered healthy. To specify the child health checks that you want to associate with a CALCULATED health check, use the ChildHealthChecks element. Note the following: - If you specify a number greater than the number of child health checks, Route 53 always considers this health check to be unhealthy. - If you specify 0 , Route 53 always considers this health check to be healthy.

  • insufficient_data_health_status (Optional[str]) – When CloudWatch has insufficient data about the metric to determine the alarm state, the status that you want Amazon Route 53 to assign to the health check: - Healthy : Route 53 considers the health check to be healthy. - Unhealthy : Route 53 considers the health check to be unhealthy. - LastKnownStatus : Route 53 uses the status of the health check from the last time that CloudWatch had sufficient data to determine the alarm state. For new health checks that have no last known status, the default status for the health check is healthy.

  • inverted (Union[bool, IResolvable, None]) – Specify whether you want Amazon Route 53 to invert the status of a health check, for example, to consider a health check unhealthy when it otherwise would be considered healthy.

  • ip_address (Optional[str]) – The IPv4 or IPv6 IP address of the endpoint that you want Amazon Route 53 to perform health checks on. If you don’t specify a value for IPAddress , Route 53 sends a DNS request to resolve the domain name that you specify in FullyQualifiedDomainName at the interval that you specify in RequestInterval . Using an IP address returned by DNS, Route 53 then checks the health of the endpoint. Use one of the following formats for the value of IPAddress : - IPv4 address : four values between 0 and 255, separated by periods (.), for example, 192.0.2.44 . - IPv6 address : eight groups of four hexadecimal values, separated by colons (:), for example, 2001:0db8:85a3:0000:0000:abcd:0001:2345 . You can also shorten IPv6 addresses as described in RFC 5952, for example, 2001:db8:85a3::abcd:1:2345 . If the endpoint is an EC2 instance, we recommend that you create an Elastic IP address, associate it with your EC2 instance, and specify the Elastic IP address for IPAddress . This ensures that the IP address of your instance will never change. For more information, see FullyQualifiedDomainName . Constraints: Route 53 can’t check the health of endpoints for which the IP address is in local, private, non-routable, or multicast ranges. For more information about IP addresses for which you can’t create health checks, see the following documents: - RFC 5735, Special Use IPv4 Addresses - RFC 6598, IANA-Reserved IPv4 Prefix for Shared Address Space - RFC 5156, Special-Use IPv6 Addresses When the value of Type is CALCULATED or CLOUDWATCH_METRIC , omit IPAddress .

  • measure_latency (Union[bool, IResolvable, None]) – Specify whether you want Amazon Route 53 to measure the latency between health checkers in multiple AWS regions and your endpoint, and to display CloudWatch latency graphs on the Health Checks page in the Route 53 console. .. epigraph:: You can’t change the value of MeasureLatency after you create a health check.

  • port (Union[int, float, None]) – The port on the endpoint that you want Amazon Route 53 to perform health checks on. .. epigraph:: Don’t specify a value for Port when you specify a value for Type of CLOUDWATCH_METRIC or CALCULATED .

  • regions (Optional[Sequence[str]]) – A complex type that contains one Region element for each region from which you want Amazon Route 53 health checkers to check the specified endpoint. If you don’t specify any regions, Route 53 health checkers automatically performs checks from all of the regions that are listed under Valid Values . If you update a health check to remove a region that has been performing health checks, Route 53 will briefly continue to perform checks from that region to ensure that some health checkers are always checking the endpoint (for example, if you replace three regions with four different regions).

  • request_interval (Union[int, float, None]) – The number of seconds between the time that Amazon Route 53 gets a response from your endpoint and the time that it sends the next health check request. Each Route 53 health checker makes requests at this interval. .. epigraph:: You can’t change the value of RequestInterval after you create a health check. If you don’t specify a value for RequestInterval , the default value is 30 seconds.

  • resource_path (Optional[str]) – The path, if any, that you want Amazon Route 53 to request when performing health checks. The path can be any value for which your endpoint will return an HTTP status code of 2xx or 3xx when the endpoint is healthy, for example, the file /docs/route53-health-check.html. You can also include query string parameters, for example, /welcome.html?language=jp&login=y .

  • routing_control_arn (Optional[str]) – The Amazon Resource Name (ARN) for the Route 53 Application Recovery Controller routing control. For more information about Route 53 Application Recovery Controller, see Route 53 Application Recovery Controller Developer Guide. .

  • search_string (Optional[str]) – If the value of Type is HTTP_STR_MATCH or HTTPS_STR_MATCH , the string that you want Amazon Route 53 to search for in the response body from the specified resource. If the string appears in the response body, Route 53 considers the resource healthy. Route 53 considers case when searching for SearchString in the response body.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-healthcheck-healthcheckconfig.html

ExampleMetadata:

fixture=_generated

Example:

# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
from aws_cdk import aws_route53 as route53

health_check_config_property = route53.CfnHealthCheck.HealthCheckConfigProperty(
    type="type",

    # the properties below are optional
    alarm_identifier=route53.CfnHealthCheck.AlarmIdentifierProperty(
        name="name",
        region="region"
    ),
    child_health_checks=["childHealthChecks"],
    enable_sni=False,
    failure_threshold=123,
    fully_qualified_domain_name="fullyQualifiedDomainName",
    health_threshold=123,
    insufficient_data_health_status="insufficientDataHealthStatus",
    inverted=False,
    ip_address="ipAddress",
    measure_latency=False,
    port=123,
    regions=["regions"],
    request_interval=123,
    resource_path="resourcePath",
    routing_control_arn="routingControlArn",
    search_string="searchString"
)

Attributes

alarm_identifier

A complex type that identifies the CloudWatch alarm that you want Amazon Route 53 health checkers to use to determine whether the specified health check is healthy.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-healthcheck-healthcheckconfig.html#cfn-route53-healthcheck-healthcheckconfig-alarmidentifier

child_health_checks

(CALCULATED Health Checks Only) A complex type that contains one ChildHealthCheck element for each health check that you want to associate with a CALCULATED health check.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-healthcheck-healthcheckconfig.html#cfn-route53-healthcheck-healthcheckconfig-childhealthchecks

enable_sni

Specify whether you want Amazon Route 53 to send the value of FullyQualifiedDomainName to the endpoint in the client_hello message during TLS negotiation.

This allows the endpoint to respond to HTTPS health check requests with the applicable SSL/TLS certificate.

Some endpoints require that HTTPS requests include the host name in the client_hello message. If you don’t enable SNI, the status of the health check will be SSL alert handshake_failure . A health check can also have that status for other reasons. If SNI is enabled and you’re still getting the error, check the SSL/TLS configuration on your endpoint and confirm that your certificate is valid.

The SSL/TLS certificate on your endpoint includes a domain name in the Common Name field and possibly several more in the Subject Alternative Names field. One of the domain names in the certificate should match the value that you specify for FullyQualifiedDomainName . If the endpoint responds to the client_hello message with a certificate that does not include the domain name that you specified in FullyQualifiedDomainName , a health checker will retry the handshake. In the second attempt, the health checker will omit FullyQualifiedDomainName from the client_hello message.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-healthcheck-healthcheckconfig.html#cfn-route53-healthcheck-healthcheckconfig-enablesni

failure_threshold

The number of consecutive health checks that an endpoint must pass or fail for Amazon Route 53 to change the current status of the endpoint from unhealthy to healthy or vice versa.

For more information, see How Amazon Route 53 Determines Whether an Endpoint Is Healthy in the Amazon Route 53 Developer Guide .

If you don’t specify a value for FailureThreshold , the default value is three health checks.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-healthcheck-healthcheckconfig.html#cfn-route53-healthcheck-healthcheckconfig-failurethreshold

fully_qualified_domain_name

Amazon Route 53 behavior depends on whether you specify a value for IPAddress .

If you specify a value for IPAddress :

Amazon Route 53 sends health check requests to the specified IPv4 or IPv6 address and passes the value of FullyQualifiedDomainName in the Host header for all health checks except TCP health checks. This is typically the fully qualified DNS name of the endpoint on which you want Route 53 to perform health checks.

When Route 53 checks the health of an endpoint, here is how it constructs the Host header:

  • If you specify a value of 80 for Port and HTTP or HTTP_STR_MATCH for Type , Route 53 passes the value of FullyQualifiedDomainName to the endpoint in the Host header.

  • If you specify a value of 443 for Port and HTTPS or HTTPS_STR_MATCH for Type , Route 53 passes the value of FullyQualifiedDomainName to the endpoint in the Host header.

  • If you specify another value for Port and any value except TCP for Type , Route 53 passes FullyQualifiedDomainName:Port to the endpoint in the Host header.

If you don’t specify a value for FullyQualifiedDomainName , Route 53 substitutes the value of IPAddress in the Host header in each of the preceding cases.

If you don’t specify a value for ``IPAddress`` :

Route 53 sends a DNS request to the domain that you specify for FullyQualifiedDomainName at the interval that you specify for RequestInterval . Using an IPv4 address that DNS returns, Route 53 then checks the health of the endpoint. .. epigraph:

If you don't specify a value for ``IPAddress`` , Route 53 uses only IPv4 to send health checks to the endpoint. If there's no record with a type of A for the name that you specify for ``FullyQualifiedDomainName`` , the health check fails with a "DNS resolution failed" error.

If you want to check the health of multiple records that have the same name and type, such as multiple weighted records, and if you choose to specify the endpoint only by FullyQualifiedDomainName , we recommend that you create a separate health check for each endpoint. For example, create a health check for each HTTP server that is serving content for www.example.com. For the value of FullyQualifiedDomainName , specify the domain name of the server (such as us-east-2-www.example.com), not the name of the records (www.example.com). .. epigraph:

In this configuration, if you create a health check for which the value of ``FullyQualifiedDomainName`` matches the name of the records and you then associate the health check with those records, health check results will be unpredictable.

In addition, if the value that you specify for Type is HTTP , HTTPS , HTTP_STR_MATCH , or HTTPS_STR_MATCH , Route 53 passes the value of FullyQualifiedDomainName in the Host header, as it does when you specify a value for IPAddress . If the value of Type is TCP , Route 53 doesn’t pass a Host header.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-healthcheck-healthcheckconfig.html#cfn-route53-healthcheck-healthcheckconfig-fullyqualifieddomainname

health_threshold

The number of child health checks that are associated with a CALCULATED health check that Amazon Route 53 must consider healthy for the CALCULATED health check to be considered healthy.

To specify the child health checks that you want to associate with a CALCULATED health check, use the ChildHealthChecks element.

Note the following:

  • If you specify a number greater than the number of child health checks, Route 53 always considers this health check to be unhealthy.

  • If you specify 0 , Route 53 always considers this health check to be healthy.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-healthcheck-healthcheckconfig.html#cfn-route53-healthcheck-healthcheckconfig-healththreshold

insufficient_data_health_status

Route 53 considers the health check to be healthy.

  • Unhealthy : Route 53 considers the health check to be unhealthy.

  • LastKnownStatus : Route 53 uses the status of the health check from the last time that CloudWatch had sufficient data to determine the alarm state. For new health checks that have no last known status, the default status for the health check is healthy.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-healthcheck-healthcheckconfig.html#cfn-route53-healthcheck-healthcheckconfig-insufficientdatahealthstatus

Type:

When CloudWatch has insufficient data about the metric to determine the alarm state, the status that you want Amazon Route 53 to assign to the health check

Type:
  • Healthy

inverted

Specify whether you want Amazon Route 53 to invert the status of a health check, for example, to consider a health check unhealthy when it otherwise would be considered healthy.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-healthcheck-healthcheckconfig.html#cfn-route53-healthcheck-healthcheckconfig-inverted

ip_address

The IPv4 or IPv6 IP address of the endpoint that you want Amazon Route 53 to perform health checks on.

If you don’t specify a value for IPAddress , Route 53 sends a DNS request to resolve the domain name that you specify in FullyQualifiedDomainName at the interval that you specify in RequestInterval . Using an IP address returned by DNS, Route 53 then checks the health of the endpoint.

Use one of the following formats for the value of IPAddress :

  • IPv4 address : four values between 0 and 255, separated by periods (.), for example, 192.0.2.44 .

  • IPv6 address : eight groups of four hexadecimal values, separated by colons (:), for example, 2001:0db8:85a3:0000:0000:abcd:0001:2345 . You can also shorten IPv6 addresses as described in RFC 5952, for example, 2001:db8:85a3::abcd:1:2345 .

If the endpoint is an EC2 instance, we recommend that you create an Elastic IP address, associate it with your EC2 instance, and specify the Elastic IP address for IPAddress . This ensures that the IP address of your instance will never change.

For more information, see FullyQualifiedDomainName .

Constraints: Route 53 can’t check the health of endpoints for which the IP address is in local, private, non-routable, or multicast ranges. For more information about IP addresses for which you can’t create health checks, see the following documents:

When the value of Type is CALCULATED or CLOUDWATCH_METRIC , omit IPAddress .

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-healthcheck-healthcheckconfig.html#cfn-route53-healthcheck-healthcheckconfig-ipaddress

measure_latency

Specify whether you want Amazon Route 53 to measure the latency between health checkers in multiple AWS regions and your endpoint, and to display CloudWatch latency graphs on the Health Checks page in the Route 53 console.

You can’t change the value of MeasureLatency after you create a health check.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-healthcheck-healthcheckconfig.html#cfn-route53-healthcheck-healthcheckconfig-measurelatency

port

The port on the endpoint that you want Amazon Route 53 to perform health checks on.

Don’t specify a value for Port when you specify a value for Type of CLOUDWATCH_METRIC or CALCULATED .

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-healthcheck-healthcheckconfig.html#cfn-route53-healthcheck-healthcheckconfig-port

regions

A complex type that contains one Region element for each region from which you want Amazon Route 53 health checkers to check the specified endpoint.

If you don’t specify any regions, Route 53 health checkers automatically performs checks from all of the regions that are listed under Valid Values .

If you update a health check to remove a region that has been performing health checks, Route 53 will briefly continue to perform checks from that region to ensure that some health checkers are always checking the endpoint (for example, if you replace three regions with four different regions).

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-healthcheck-healthcheckconfig.html#cfn-route53-healthcheck-healthcheckconfig-regions

request_interval

The number of seconds between the time that Amazon Route 53 gets a response from your endpoint and the time that it sends the next health check request.

Each Route 53 health checker makes requests at this interval. .. epigraph:

You can't change the value of ``RequestInterval`` after you create a health check.

If you don’t specify a value for RequestInterval , the default value is 30 seconds.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-healthcheck-healthcheckconfig.html#cfn-route53-healthcheck-healthcheckconfig-requestinterval

resource_path

The path, if any, that you want Amazon Route 53 to request when performing health checks.

The path can be any value for which your endpoint will return an HTTP status code of 2xx or 3xx when the endpoint is healthy, for example, the file /docs/route53-health-check.html. You can also include query string parameters, for example, /welcome.html?language=jp&login=y .

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-healthcheck-healthcheckconfig.html#cfn-route53-healthcheck-healthcheckconfig-resourcepath

routing_control_arn

The Amazon Resource Name (ARN) for the Route 53 Application Recovery Controller routing control.

For more information about Route 53 Application Recovery Controller, see Route 53 Application Recovery Controller Developer Guide. .

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-healthcheck-healthcheckconfig.html#cfn-route53-healthcheck-healthcheckconfig-routingcontrolarn

search_string

If the value of Type is HTTP_STR_MATCH or HTTPS_STR_MATCH , the string that you want Amazon Route 53 to search for in the response body from the specified resource.

If the string appears in the response body, Route 53 considers the resource healthy.

Route 53 considers case when searching for SearchString in the response body.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-healthcheck-healthcheckconfig.html#cfn-route53-healthcheck-healthcheckconfig-searchstring

type

The type of health check that you want to create, which indicates how Amazon Route 53 determines whether an endpoint is healthy.

You can’t change the value of Type after you create a health check.

You can create the following types of health checks:

  • HTTP : Route 53 tries to establish a TCP connection. If successful, Route 53 submits an HTTP request and waits for an HTTP status code of 200 or greater and less than 400.

  • HTTPS : Route 53 tries to establish a TCP connection. If successful, Route 53 submits an HTTPS request and waits for an HTTP status code of 200 or greater and less than 400.

If you specify HTTPS for the value of Type , the endpoint must support TLS v1.0 or later.

  • HTTP_STR_MATCH : Route 53 tries to establish a TCP connection. If successful, Route 53 submits an HTTP request and searches the first 5,120 bytes of the response body for the string that you specify in SearchString .

  • HTTPS_STR_MATCH : Route 53 tries to establish a TCP connection. If successful, Route 53 submits an HTTPS request and searches the first 5,120 bytes of the response body for the string that you specify in SearchString .

  • TCP : Route 53 tries to establish a TCP connection.

  • CLOUDWATCH_METRIC : The health check is associated with a CloudWatch alarm. If the state of the alarm is OK , the health check is considered healthy. If the state is ALARM , the health check is considered unhealthy. If CloudWatch doesn’t have sufficient data to determine whether the state is OK or ALARM , the health check status depends on the setting for InsufficientDataHealthStatus : Healthy , Unhealthy , or LastKnownStatus .

Route 53 supports CloudWatch alarms with the following features:

  • Standard-resolution metrics. High-resolution metrics aren’t supported. For more information, see High-Resolution Metrics in the Amazon CloudWatch User Guide .

  • Statistics: Average, Minimum, Maximum, Sum, and SampleCount. Extended statistics aren’t supported.

  • CALCULATED : For health checks that monitor the status of other health checks, Route 53 adds up the number of health checks that Route 53 health checkers consider to be healthy and compares that number with the value of HealthThreshold .

  • RECOVERY_CONTROL : The health check is assocated with a Route53 Application Recovery Controller routing control. If the routing control state is ON , the health check is considered healthy. If the state is OFF , the health check is considered unhealthy.

For more information, see How Route 53 Determines Whether an Endpoint Is Healthy in the Amazon Route 53 Developer Guide .

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-healthcheck-healthcheckconfig.html#cfn-route53-healthcheck-healthcheckconfig-type

HealthCheckTagProperty

class CfnHealthCheck.HealthCheckTagProperty(*, key, value)

Bases: object

The HealthCheckTag property describes one key-value pair that is associated with an AWS::Route53::HealthCheck resource.

Parameters:
  • key (str) – The value of Key depends on the operation that you want to perform:. - Add a tag to a health check or hosted zone : Key is the name that you want to give the new tag. - Edit a tag : Key is the name of the tag that you want to change the Value for. - Delete a key : Key is the name of the tag you want to remove. - Give a name to a health check : Edit the default Name tag. In the Amazon Route 53 console, the list of your health checks includes a Name column that lets you see the name that you’ve given to each health check.

  • value (str) – The value of Value depends on the operation that you want to perform:. - Add a tag to a health check or hosted zone : Value is the value that you want to give the new tag. - Edit a tag : Value is the new value that you want to assign the tag.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-healthcheck-healthchecktag.html

ExampleMetadata:

fixture=_generated

Example:

# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
from aws_cdk import aws_route53 as route53

health_check_tag_property = route53.CfnHealthCheck.HealthCheckTagProperty(
    key="key",
    value="value"
)

Attributes

key

.

  • Add a tag to a health check or hosted zone : Key is the name that you want to give the new tag.

  • Edit a tag : Key is the name of the tag that you want to change the Value for.

  • Delete a key : Key is the name of the tag you want to remove.

  • Give a name to a health check : Edit the default Name tag. In the Amazon Route 53 console, the list of your health checks includes a Name column that lets you see the name that you’ve given to each health check.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-healthcheck-healthchecktag.html#cfn-route53-healthcheck-healthchecktag-key

Type:

The value of Key depends on the operation that you want to perform

value

.

  • Add a tag to a health check or hosted zone : Value is the value that you want to give the new tag.

  • Edit a tag : Value is the new value that you want to assign the tag.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-healthcheck-healthchecktag.html#cfn-route53-healthcheck-healthchecktag-value

Type:

The value of Value depends on the operation that you want to perform