Show / Hide Table of Contents

Class HealthCheckProps

Properties for a new health check.

Inheritance
object
HealthCheckProps
Implements
IHealthCheckProps
Inherited Members
object.GetType()
object.MemberwiseClone()
object.ToString()
object.Equals(object)
object.Equals(object, object)
object.ReferenceEquals(object, object)
object.GetHashCode()
Namespace: Amazon.CDK.AWS.Route53
Assembly: Amazon.CDK.Lib.dll
Syntax (csharp)
public class HealthCheckProps : IHealthCheckProps
Syntax (vb)
Public Class HealthCheckProps Implements IHealthCheckProps
Remarks

ExampleMetadata: infused

Examples
HostedZone myZone;


            var healthCheck = new HealthCheck(this, "HealthCheck", new HealthCheckProps {
                Type = HealthCheckType.HTTP,
                Fqdn = "example.com",
                Port = 80,
                ResourcePath = "/health",
                FailureThreshold = 3,
                RequestInterval = Duration.Seconds(30)
            });

            new ARecord(this, "ARecord", new ARecordProps {
                Zone = myZone,
                Target = RecordTarget.FromIpAddresses("1.2.3.4"),
                HealthCheck = healthCheck,
                Weight = 100
            });
            new ARecord(this, "ARecord2", new ARecordProps {
                Zone = myZone,
                Target = RecordTarget.FromIpAddresses("5.6.7.8"),
                Weight = 0
            });

Synopsis

Constructors

HealthCheckProps()

Properties for a new health check.

Properties

AlarmIdentifier

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

ChildHealthChecks

A list of health checks to monitor for this 'CALCULATED' health check.

EnableSNI

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

FailureThreshold

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.

Fqdn

Fully qualified domain name of the endpoint to be checked.

HealthThreshold

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

InsufficientDataHealthStatus

The status of the health check when CloudWatch has insufficient data about the state of associated alarm.

Inverted

Specify whether you want Amazon Route 53 to invert the status of a health check, so a health check that would normally be considered unhealthy is considered healthy, and vice versa.

IpAddress

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

MeasureLatency

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.

Port

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

Regions

An array of region identifiers that you want Amazon Route 53 health checkers to check the health of the endpoint from.

RequestInterval

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

ResourcePath

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

RoutingControl

The Amazon Resource Name (ARN) of the Route 53 Application Recovery Controller routing control that you want Amazon Route 53 health checkers to use to determine whether the specified health check is healthy.

SearchString

The string that you want Amazon Route 53 to search for in the response body from the specified resource.

Type

The type of health check to be associated with the record.

Constructors

HealthCheckProps()

Properties for a new health check.

public HealthCheckProps()
Remarks

ExampleMetadata: infused

Examples
HostedZone myZone;


            var healthCheck = new HealthCheck(this, "HealthCheck", new HealthCheckProps {
                Type = HealthCheckType.HTTP,
                Fqdn = "example.com",
                Port = 80,
                ResourcePath = "/health",
                FailureThreshold = 3,
                RequestInterval = Duration.Seconds(30)
            });

            new ARecord(this, "ARecord", new ARecordProps {
                Zone = myZone,
                Target = RecordTarget.FromIpAddresses("1.2.3.4"),
                HealthCheck = healthCheck,
                Weight = 100
            });
            new ARecord(this, "ARecord2", new ARecordProps {
                Zone = myZone,
                Target = RecordTarget.FromIpAddresses("5.6.7.8"),
                Weight = 0
            });

Properties

AlarmIdentifier

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

public IAlarmIdentifier? AlarmIdentifier { get; set; }
Property Value

IAlarmIdentifier

Remarks

Default: - if the type is CLOUDWATCH_METRIC, this property is required. Otherwise, it is not configured.

ChildHealthChecks

A list of health checks to monitor for this 'CALCULATED' health check.

public IHealthCheck[]? ChildHealthChecks { get; set; }
Property Value

IHealthCheck[]

Remarks

Default: - if the type is CALCULATED, this property is required. Otherwise, it is not configured.

EnableSNI

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

public bool? EnableSNI { get; set; }
Property Value

bool?

Remarks

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

Default: - if the type is HTTPS or HTTPS_STR_MATCH, this property default value is true. Otherwise, it is not configured.

FailureThreshold

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.

public double? FailureThreshold { get; set; }
Property Value

double?

Remarks

Default: - if the type is CALCULATED it's not configured

  • if the type is CLOUDWATCH_METRIC it's not configured
  • otherwise, the default value is 3.

Fqdn

Fully qualified domain name of the endpoint to be checked.

public string? Fqdn { get; set; }
Property Value

string

Remarks

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. Note: If you specify a value for Port property other than 80 or 443, Route 53 will construct the value for Host header as FullyQualifiedDomainName:Port.

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.

Additionally, if the type of the health check 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 value for IPAddress. If the type is TCP, Route 53 doesn't pass a Host header.

Default: - not configured

HealthThreshold

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

public double? HealthThreshold { get; set; }
Property Value

double?

Remarks

Default: - if the type is CALCULATED, the default value is number of child health checks. Otherwise, it is not configured.

InsufficientDataHealthStatus

The status of the health check when CloudWatch has insufficient data about the state of associated alarm.

public InsufficientDataHealthStatusEnum? InsufficientDataHealthStatus { get; set; }
Property Value

InsufficientDataHealthStatusEnum?

Remarks

Default: - if the type is CLOUDWATCH_METRIC, the default value is InsufficientDataHealthStatus.LAST_KNOWN_STATUS. Otherwise, it is not configured.

Inverted

Specify whether you want Amazon Route 53 to invert the status of a health check, so a health check that would normally be considered unhealthy is considered healthy, and vice versa.

public bool? Inverted { get; set; }
Property Value

bool?

Remarks

Default: false

IpAddress

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

public string? IpAddress { get; set; }
Property Value

string

Remarks

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 IPv4 address that DNS returns, Route 53 then checks the health of the endpoint.

Default: - not configured

MeasureLatency

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.

public bool? MeasureLatency { get; set; }
Property Value

bool?

Remarks

Default: - if the type is CALCULATED it's not configured

  • if the type is CLOUDWATCH_METRIC it's not configured
  • otherwise, the default value is false.

Port

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

public double? Port { get; set; }
Property Value

double?

Remarks

Default: - if the type is HTTP or HTTP_STR_MATCH, the default value is 80.

  • if the type is HTTPS or HTTPS_STR_MATCH, the default value is 443.
  • otherwise, it is not configured.

Regions

An array of region identifiers that you want Amazon Route 53 health checkers to check the health of the endpoint from.

public string[]? Regions { get; set; }
Property Value

string[]

Remarks

Please refer to the CloudFormation documentation for the most up-to-date list of regions.

Default: - if the type is CALCULATED, CLOUDWATCH_METRIC, or RECOVERY_CONTROL, this property is not configured.

  • otherwise, the default value will be set by CloudFormation itself and will include all valid regions. Please refer to the CloudFormation documentation for the most up-to-date list of regions.

See: https://docs.aws.amazon.com/Route53/latest/APIReference/API_HealthCheckConfig.html

RequestInterval

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

public Duration? RequestInterval { get; set; }
Property Value

Duration

Remarks

Each Route 53 health checker makes requests at this interval.

Default: - if the type is CALCULATED it's not configured

  • if the type is CLOUDWATCH_METRIC it's not configured
  • otherwise, the default value is 30 seconds.

ResourcePath

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

public string? ResourcePath { get; set; }
Property Value

string

Remarks

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. Route 53 automatically adds the DNS name for the service and a leading forward slash (/) character.

Default: - if the type is HTTP, HTTPS, HTTP_STR_MATCH, or HTTPS_STR_MATCH, the default value is empty string.

  • otherwise, it is not configured.

RoutingControl

The Amazon Resource Name (ARN) of the Route 53 Application Recovery Controller routing control that you want Amazon Route 53 health checkers to use to determine whether the specified health check is healthy.

public string? RoutingControl { get; set; }
Property Value

string

Remarks

Default: - if the type is RECOVERY_CONTROL, this property is required. Otherwise, it is not configured.

SearchString

The string that you want Amazon Route 53 to search for in the response body from the specified resource.

public string? SearchString { get; set; }
Property Value

string

Remarks

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.

Default: - if the type is HTTP_STR_MATCH or HTTPS_STR_MATCH, this property is required. Otherwise, it is not configured.

Type

The type of health check to be associated with the record.

public HealthCheckType Type { get; set; }
Property Value

HealthCheckType

Remarks

ExampleMetadata: infused

Implements

IHealthCheckProps
Back to top Generated by DocFX