class Aws::ServiceDiscovery::Types::DnsRecord
A complex type that contains information about the Route 53 DNS records that you want Cloud Map to create when you register an instance.
@note When making an API call, you may pass DnsRecord
data as a hash: { type: "SRV", # required, accepts SRV, A, AAAA, CNAME ttl: 1, # required }
@!attribute [rw] type
The type of the resource, which indicates the type of value that Route 53 returns in response to DNS queries. You can specify values for `Type` in the following combinations: * <b> <code>A</code> </b> * <b> <code>AAAA</code> </b> * <b> <code>A</code> </b> and <b> <code>AAAA</code> </b> * <b> <code>SRV</code> </b> * <b> <code>CNAME</code> </b> If you want Cloud Map to create a Route 53 alias record when you register an instance, specify `A` or `AAAA` for `Type`. You specify other settings, such as the IP address for `A` and `AAAA` records, when you register an instance. For more information, see [RegisterInstance][1]. The following values are supported: A : Route 53 returns the IP address of the resource in IPv4 format, such as 192.0.2.44. AAAA : Route 53 returns the IP address of the resource in IPv6 format, such as 2001:0db8:85a3:0000:0000:abcd:0001:2345. CNAME : Route 53 returns the domain name of the resource, such as www.example.com. Note the following: * You specify the domain name that you want to route traffic to when you register an instance. For more information, see [Attributes][2] in the topic [RegisterInstance][1]. * You must specify `WEIGHTED` for the value of `RoutingPolicy`. * You can't specify both `CNAME` for `Type` and settings for `HealthCheckConfig`. If you do, the request will fail with an `InvalidInput` error. SRV : Route 53 returns the value for an `SRV` record. The value for an `SRV` record uses the following values: `priority weight port service-hostname` Note the following about the values: * The values of `priority` and `weight` are both set to `1` and can't be changed. * The value of `port` comes from the value that you specify for the `AWS_INSTANCE_PORT` attribute when you submit a [RegisterInstance][1] request. * The value of `service-hostname` is a concatenation of the following values: * The value that you specify for `InstanceId` when you register an instance. * The name of the service. * The name of the namespace. For example, if the value of `InstanceId` is `test`, the name of the service is `backend`, and the name of the namespace is `example.com`, the value of `service-hostname` is the following: `test.backend.example.com` If you specify settings for an `SRV` record, note the following: * If you specify values for `AWS_INSTANCE_IPV4`, `AWS_INSTANCE_IPV6`, or both in the `RegisterInstance` request, Cloud Map automatically creates `A` and/or `AAAA` records that have the same name as the value of `service-hostname` in the `SRV` record. You can ignore these records. * If you're using a system that requires a specific `SRV` format, such as HAProxy, see the [Name][3] element in the documentation about `CreateService` for information about how to specify the correct name format. [1]: https://docs.aws.amazon.com/cloud-map/latest/api/API_RegisterInstance.html [2]: https://docs.aws.amazon.com/cloud-map/latest/api/API_RegisterInstance.html#cloudmap-RegisterInstance-request-Attributes [3]: https://docs.aws.amazon.com/cloud-map/latest/api/API_CreateService.html#cloudmap-CreateService-request-Name @return [String]
@!attribute [rw] ttl
The amount of time, in seconds, that you want DNS resolvers to cache the settings for this record. <note markdown="1"> Alias records don't include a TTL because Route 53 uses the TTL for the Amazon Web Services resource that an alias record routes traffic to. If you include the `AWS_ALIAS_DNS_NAME` attribute when you submit a [RegisterInstance][1] request, the `TTL` value is ignored. Always specify a TTL for the service; you can use a service to register instances that create either alias or non-alias records. </note> [1]: https://docs.aws.amazon.com/cloud-map/latest/api/API_RegisterInstance.html @return [Integer]
@see docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/DnsRecord AWS API Documentation
Constants
- SENSITIVE