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.
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 resource record set 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 weighted, latency, or failover resource record sets and 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 resource record sets (www.example.com).
In this configuration, if you create a health check for which the value of FullyQualifiedDomainName
matches the name of the resource record sets and you then associate the health check with those resource record
sets, 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.