> ## Documentation Index
> Fetch the complete documentation index at: https://docs.tensor9.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Route 53

> Route 53 APIs with Cloud Adapter.

This page describes how Route 53 maps to services in the environment where the application runs, including backend choices, supported operations and service-specific behavior.

## Supported environments

* Akamai
* Azure
* DigitalOcean
* Google Cloud
* OCI
* Private Kubernetes
* Scaleway

Check the operation and capability tables for the behavior your application depends on. A supported environment does not imply that every operation of the origin service is available.

## How the backends compare

Each row compares a capability of Route 53 with its adaptation on each backend.
A dash means this profile does not state the capability for that backend.

### Cloud Adapter

| Capability | Route 53 | Akamai, DigitalOcean, and Private Kubernetes · Cloudflare DNS | Azure | Google Cloud | OCI | Private Kubernetes · Route 53 (any cloud) | Scaleway |
| - | - | - | - | - | - | - | - |
| Query serving · the data plane | Route 53 authoritative servers | Cloudflare authoritative servers | Azure DNS servers | Cloud DNS servers | OCI DNS servers | the same Route 53 servers | - |
| Record changes · the control plane | Route 53 API | adapter → Cloudflare API | adapter → Azure DNS API | Max: adapter; infrastructure: native resources | adapter → OCI DNS API | adapter → Route 53 API | - |
| Hosted zones · create vs look up | created by your stack | looked up, must already exist | public-zone lifecycle + existing-zone lookup | Max: public-zone lifecycle; infrastructure: create or look up | looked up, must already exist | looked up, must already exist | - |
| Record types · supported surface | full record surface | all standard types (except SPF) | 10 supported runtime types | Max: 17 types including SPF; infrastructure: SPF becomes TXT | 14 ordinary types; provider-managed authority | all standard types | - |
| API coverage | full | partial | minimal | minimal | minimal | partial | partial |

## On Akamai, DigitalOcean, and Private Kubernetes

### Cloudflare DNS

| Operation | Area | Support | Depth | Notes |
| - | - | - | - | - |
| DNS query serving | Data plane | Supported | Common | Cloudflare authoritative servers answer DNS queries directly. Public delegation must identify the selected provider. |
| Health checks | Health & resolver | Out of scope | Most usage | Standalone Route 53 health-check resources are outside this mapping and stop the build. |
| Resolver (endpoints, rules, DNSSEC, firewall, query logs) | Health & resolver | Out of scope | Full surface | Outside this zones-and-records mapping. On Kubernetes, Route 53 Resolver resources are removed at deployment and nothing replaces them; configure private and hybrid DNS yourself. |
| Alias records | Records | Partial | Most usage | Infrastructure references resolve to the replacement resource address. Route 53 target-health evaluation is omitted and reported; native apex-alias behavior depends on the selected provider. |
| Multi-value record sets | Records | Supported | Most usage | All values of an ordinary record set are retained. This does not reproduce weighted or health-checked routing. |
| Record management | Records | Supported | Common | The adapter applies supported record creates, updates and deletes through the Cloudflare API. Deployment configuration defaults an unset TTL to 300 seconds. |
| Record types | Records | Supported | Common | all standard record types, except the deprecated SPF type (which folds into TXT); an unrecognized type stops the deploy with a clear error |
| Runtime record changes | Records | Supported | Most usage | The application uses the Route 53 API through the adapter, which holds the provider credential. PENDING becomes INSYNC after the backend applies the change; this does not certify global DNS propagation or cache expiry. |
| Routing policies (weighted / latency / failover / geolocation / multivalue) | Routing | Out of scope | Most usage | Outside this mapping. Infrastructure translation can retain ordinary record data while reporting omitted routing behavior; the provider's native routing service is not configured by that omission. |
| Delegation sets | Zones | Out of scope | Full surface | Reusable AWS delegation sets are outside this mapping; unsupported resource declarations stop the build. |
| Hosted zones | Zones | Partial | Common | The zone must already exist at Cloudflare and is looked up by domain name; this mapping manages records within it. |
| Private hosted zones | Zones | Out of scope | Most usage | Private-zone configuration is outside this selected public-zone mapping. A VPC-associated declaration stops the build. |

#### How it works

Tensor9 applies the Route 53 records you declare to an existing Cloudflare zone. The Cloud Adapter deployment holds the Cloudflare credential and handles supported record-change requests from your application. Cloudflare's authoritative DNS servers answer public queries.

![Your application sends Route 53 record changes to the Tensor9 adapter, which applies them to Cloudflare DNS with the provider credential it holds. DNS queries go straight to Cloudflare DNS.](data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI4MzYiIGhlaWdodD0iMTUwIiB2aWV3Qm94PSIwIDAgODM2IDE1MCIgcm9sZT0iaW1nIiBhcmlhLWxhYmVsPSJZb3VyIGFwcGxpY2F0aW9uIHNlbmRzIFJvdXRlIDUzIHJlY29yZCBjaGFuZ2VzIHRvIHRoZSBUZW5zb3I5IGFkYXB0ZXIsIHdoaWNoIGFwcGxpZXMgdGhlbSB0byBDbG91ZGZsYXJlIEROUyB3aXRoIHRoZSBwcm92aWRlciBjcmVkZW50aWFsIGl0IGhvbGRzLiBETlMgcXVlcmllcyBnbyBzdHJhaWdodCB0byBDbG91ZGZsYXJlIEROUy4iPjxzdHlsZT50ZXh0e2ZvbnQtZmFtaWx5OkludGVyLC1hcHBsZS1zeXN0ZW0sQmxpbmtNYWNTeXN0ZW1Gb250LCdTZWdvZSBVSScsUm9ib3RvLCdIZWx2ZXRpY2EgTmV1ZScsQXJpYWwsc2Fucy1zZXJpZjtmaWxsOiMzMzQxNTV9PC9zdHlsZT48cmVjdCB4PSIyNCIgeT0iMzAiIHdpZHRoPSIyNDAiIGhlaWdodD0iOTAiIHJ4PSIxMCIgc3R5bGU9ImZpbGw6I2Y4ZmFmYztzdHJva2U6IzY0NzQ4YiIvPjx0ZXh0IHg9IjE0NCIgeT0iNjUiIHRleHQtYW5jaG9yPSJtaWRkbGUiIHN0eWxlPSJmb250OiA2NTAgMTMuNXB4IEludGVyLCBzYW5zLXNlcmlmOyBmaWxsOiAjMGYxNzJhIj5BcHBsaWNhdGlvbjwvdGV4dD48dGV4dCB4PSIxNDQiIHk9IjkyIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBzdHlsZT0iZm9udDogMTFweCBJbnRlciwgc2Fucy1zZXJpZjsgZmlsbDogIzY0NzQ4YiI+Um91dGUgNTMgcmVjb3JkLWNoYW5nZSBBUEk8L3RleHQ+PHBhdGggZD0iTTI2NyA3NSBoMjIgbS02IC01IDYgNSAtNiA1IiBmaWxsPSJub25lIiBzdHlsZT0ic3Ryb2tlOiM2NDc0OGIiLz48cmVjdCB4PSIyOTQiIHk9IjMwIiB3aWR0aD0iMjQwIiBoZWlnaHQ9IjkwIiByeD0iMTAiIHN0eWxlPSJmaWxsOiNmOGZhZmM7c3Ryb2tlOiM2NDc0OGIiLz48dGV4dCB4PSI0MTQiIHk9IjY1IiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBzdHlsZT0iZm9udDogNjUwIDEzLjVweCBJbnRlciwgc2Fucy1zZXJpZjsgZmlsbDogIzBmMTcyYSI+VGVuc29yOSBhZGFwdGVyPC90ZXh0Pjx0ZXh0IHg9IjQxNCIgeT0iOTIiIHRleHQtYW5jaG9yPSJtaWRkbGUiIHN0eWxlPSJmb250OiAxMXB4IEludGVyLCBzYW5zLXNlcmlmOyBmaWxsOiAjNjQ3NDhiIj5ob2xkcyBwcm92aWRlciBjcmVkZW50aWFsczwvdGV4dD48cGF0aCBkPSJNNTM3IDc1IGgyMiBtLTYgLTUgNiA1IC02IDUiIGZpbGw9Im5vbmUiIHN0eWxlPSJzdHJva2U6IzY0NzQ4YiIvPjxyZWN0IHg9IjU2NCIgeT0iMzAiIHdpZHRoPSIyNDAiIGhlaWdodD0iOTAiIHJ4PSIxMCIgc3R5bGU9ImZpbGw6I2Y4ZmFmYztzdHJva2U6IzY0NzQ4YiIvPjx0ZXh0IHg9IjY4NCIgeT0iNjUiIHRleHQtYW5jaG9yPSJtaWRkbGUiIHN0eWxlPSJmb250OiA2NTAgMTMuNXB4IEludGVyLCBzYW5zLXNlcmlmOyBmaWxsOiAjMGYxNzJhIj5DbG91ZGZsYXJlIEROUzwvdGV4dD48dGV4dCB4PSI2ODQiIHk9IjkyIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBzdHlsZT0iZm9udDogMTFweCBJbnRlciwgc2Fucy1zZXJpZjsgZmlsbDogIzY0NzQ4YiI+YXV0aG9yaXRhdGl2ZSByZWNvcmQgc3RvcmU8L3RleHQ+PC9zdmc+)

![Your application sends Route 53 record changes to the Tensor9 adapter, which applies them to Cloudflare DNS with the provider credential it holds. DNS queries go straight to Cloudflare DNS.](data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI4MzYiIGhlaWdodD0iMTUwIiB2aWV3Qm94PSIwIDAgODM2IDE1MCIgcm9sZT0iaW1nIiBhcmlhLWxhYmVsPSJZb3VyIGFwcGxpY2F0aW9uIHNlbmRzIFJvdXRlIDUzIHJlY29yZCBjaGFuZ2VzIHRvIHRoZSBUZW5zb3I5IGFkYXB0ZXIsIHdoaWNoIGFwcGxpZXMgdGhlbSB0byBDbG91ZGZsYXJlIEROUyB3aXRoIHRoZSBwcm92aWRlciBjcmVkZW50aWFsIGl0IGhvbGRzLiBETlMgcXVlcmllcyBnbyBzdHJhaWdodCB0byBDbG91ZGZsYXJlIEROUy4iPjxzdHlsZT50ZXh0e2ZvbnQtZmFtaWx5OkludGVyLC1hcHBsZS1zeXN0ZW0sQmxpbmtNYWNTeXN0ZW1Gb250LCdTZWdvZSBVSScsUm9ib3RvLCdIZWx2ZXRpY2EgTmV1ZScsQXJpYWwsc2Fucy1zZXJpZjtmaWxsOiNjYmQ1ZTF9PC9zdHlsZT48cmVjdCB4PSIyNCIgeT0iMzAiIHdpZHRoPSIyNDAiIGhlaWdodD0iOTAiIHJ4PSIxMCIgc3R5bGU9ImZpbGw6IzBmMTcyYTtzdHJva2U6Izk0YTNiOCIvPjx0ZXh0IHg9IjE0NCIgeT0iNjUiIHRleHQtYW5jaG9yPSJtaWRkbGUiIHN0eWxlPSJmb250OiA2NTAgMTMuNXB4IEludGVyLCBzYW5zLXNlcmlmOyBmaWxsOiAjZjFmNWY5Ij5BcHBsaWNhdGlvbjwvdGV4dD48dGV4dCB4PSIxNDQiIHk9IjkyIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBzdHlsZT0iZm9udDogMTFweCBJbnRlciwgc2Fucy1zZXJpZjsgZmlsbDogIzk0YTNiOCI+Um91dGUgNTMgcmVjb3JkLWNoYW5nZSBBUEk8L3RleHQ+PHBhdGggZD0iTTI2NyA3NSBoMjIgbS02IC01IDYgNSAtNiA1IiBmaWxsPSJub25lIiBzdHlsZT0ic3Ryb2tlOiM5NGEzYjgiLz48cmVjdCB4PSIyOTQiIHk9IjMwIiB3aWR0aD0iMjQwIiBoZWlnaHQ9IjkwIiByeD0iMTAiIHN0eWxlPSJmaWxsOiMwZjE3MmE7c3Ryb2tlOiM5NGEzYjgiLz48dGV4dCB4PSI0MTQiIHk9IjY1IiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBzdHlsZT0iZm9udDogNjUwIDEzLjVweCBJbnRlciwgc2Fucy1zZXJpZjsgZmlsbDogI2YxZjVmOSI+VGVuc29yOSBhZGFwdGVyPC90ZXh0Pjx0ZXh0IHg9IjQxNCIgeT0iOTIiIHRleHQtYW5jaG9yPSJtaWRkbGUiIHN0eWxlPSJmb250OiAxMXB4IEludGVyLCBzYW5zLXNlcmlmOyBmaWxsOiAjOTRhM2I4Ij5ob2xkcyBwcm92aWRlciBjcmVkZW50aWFsczwvdGV4dD48cGF0aCBkPSJNNTM3IDc1IGgyMiBtLTYgLTUgNiA1IC02IDUiIGZpbGw9Im5vbmUiIHN0eWxlPSJzdHJva2U6Izk0YTNiOCIvPjxyZWN0IHg9IjU2NCIgeT0iMzAiIHdpZHRoPSIyNDAiIGhlaWdodD0iOTAiIHJ4PSIxMCIgc3R5bGU9ImZpbGw6IzBmMTcyYTtzdHJva2U6Izk0YTNiOCIvPjx0ZXh0IHg9IjY4NCIgeT0iNjUiIHRleHQtYW5jaG9yPSJtaWRkbGUiIHN0eWxlPSJmb250OiA2NTAgMTMuNXB4IEludGVyLCBzYW5zLXNlcmlmOyBmaWxsOiAjZjFmNWY5Ij5DbG91ZGZsYXJlIEROUzwvdGV4dD48dGV4dCB4PSI2ODQiIHk9IjkyIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBzdHlsZT0iZm9udDogMTFweCBJbnRlciwgc2Fucy1zZXJpZjsgZmlsbDogIzk0YTNiOCI+YXV0aG9yaXRhdGl2ZSByZWNvcmQgc3RvcmU8L3RleHQ+PC9zdmc+)

Record changes go through the adapter; DNS queries go straight to the provider.

#### Zones and records

Onboard the domain to Cloudflare and create the zone before deployment; the mapping looks it up by domain name. Standard record types and all values in an ordinary record set are kept, and an unset deployment TTL defaults to 300 seconds. Deprecated `SPF` declarations become `TXT`.

An infrastructure alias resolves to the referenced resource's address on the target cloud, and Cloudflare CNAME flattening answers for the zone apex.

#### DNS-only and proxied records

Records are DNS-only by default. A Cloudflare proxied record sends supported application traffic through Cloudflare's edge, where the CDN, WAF and DDoS features you configure apply. Turning on that proxy and choosing its protections are separate Cloudflare settings; creating an ordinary DNS record does not turn them on.

#### Runtime changes

Your application sends Route 53 API requests to the Tensor9 adapter, which records each change and applies it with the provider credential it holds. `ChangeResourceRecordSets` returns a change receipt; `GetChange` reports `PENDING` until the provider has applied the change, then `INSYNC`.

`INSYNC` means the provider has applied the change. It does not guarantee that every authoritative server has observed the change or that recursive caches have expired, so keep polling for completion and allow for DNS caching during cutover.

A Cloudflare API write can complete without a separate change operation to wait for. That does not shorten DNS cache lifetimes or prove the change has propagated worldwide.

#### Limitations

Where Cloudflare DNS and Route 53 differ

* **Route 53 routing policies are not supported.** They are left out and reported, while the record's ordinary data is still applied. Cloudflare Load Balancing has its own traffic routing, which this mapping does not configure.
* **Alias target health is not supported.** Route 53 alias target-health evaluation is dropped, and multiple values in an ordinary record do not give health-checked routing.
* **Health checks, delegation sets, private zones and Resolver resources are not supported.** This mapping uses Cloudflare public authoritative zones; Cloudflare's private-DNS products are not used. A subdomain zone has its own Cloudflare plan requirements, separate from private DNS.

#### Other considerations

* **Moving from AWS.** Apply the records you need, check the authoritative answers, then update public nameserver delegation if the provider changes. Keep the previous zone available while cached records and delegation expire. Only declared records are applied; an existing zone and its query history are not copied.
* **When the Cloud Adapter deployment is down.** Record changes need the Cloud Adapter deployment and its provider credentials. Records already applied keep answering from the provider.
* **Other DNS writers.** Certificate-validation records are coordinated with certificate management. Review external DNS controllers and any credentials they used before.

#### Example monthly charges

This Tensor9 Cloud Adapter scenario estimates service charges for the named origin and target services. Adapter hosting and commercial Tensor9 fees need separate allocations. [How Tensor9 estimates costs](https://docs.tensor9.com/cloud-adapter-early-access/costs/overview.md) explains the method and what the estimates include.

##### Authoritative DNS zones and queries (Route 53) · Authoritative DNS queries per second

Feature: Authoritative DNS zones and queries (Route 53).

Estimated monthly service charges by Authoritative DNS queries per second. Adapter hosting and Tensor9 fees are excluded. Source: us-east-1; target: global; currency: USD.

![Authoritative DNS zones and queries (Route 53) · Authoritative DNS queries per second: monthly service charges by Authoritative DNS queries per second. Exact values are in the following table.](https://docs.tensor9.com/images/cloud-adapter-early-access/diagrams/service-cost/6c293cfe329692a10ae5b723219fb4abbff533500a79642d46821e0bb6b73a67-light.svg)

![Authoritative DNS zones and queries (Route 53) · Authoritative DNS queries per second: monthly service charges by Authoritative DNS queries per second. Exact values are in the following table.](https://docs.tensor9.com/images/cloud-adapter-early-access/diagrams/service-cost/a746810cd43caad77e0a9405639c906410fc8c146230ade99a44da0f69162223-dark.svg)

Comparison pills describe all sampled scale points; amounts beside each service are for the named workload. Costs The Same means within 20% at every point. Costs Depend includes mixed results and unpriced samples.

Sampled monthly charges in USD, rounded to cents. Difference means target minus origin; a positive difference means the target costs more.

| Authoritative DNS queries per second (queries/s) | Route53 | Cloudflare DNS | Difference |
| -: | -: | -: | -: |
| 0 | 0.50 | 0.00 | -0.50 |
| 1 | 1.55 | 0.00 | -1.55 |
| 10 | 11.01 | 0.00 | -11.01 |
| 100 | 105.62 | 0.00 | -105.62 |
| 1,000 | 1,051.70 | 0.00 | -1,051.70 |
| 10,000 | 10,512.50 | 0.00 | -10,512.50 |
| 100,000 | 105,120.50 | 0.00 | -105,120.50 |

**Curve assumptions**

| Assumption | Value | Unit |
| - | -: | - |
| Origin list price · Hosted zone allocation | 0.5 | USD/zone-month |
| Origin list price · Authoritative DNS queries | 0.0000004 | USD/Queries |
| Origin list price · DNS management requests | 0 | USD/Requests |
| Target price guess · read | 0 | USD/read |
| Target price guess · write | 0 | USD/write |
| Target list price · provider operation | 0 | USD/provider operation |
| Target price guess · GiB-month | 0 | USD/GiB-month |
| Target price guess · published GiB | 0 | USD/published GiB |
| Target price guess · delivered GiB | 0 | USD/delivered GiB |
| Target price guess · network GiB | 0 | USD/network GiB |
| Target price guess · replica GiB-month | 0 | USD/replica GiB-month |
| Target price guess · vCPU-hour | 0 | USD/vCPU-hour |
| Target price guess · GiB-hour | 0 | USD/GiB-hour |
| Target price guess · resource-hour | 0 | USD/resource-hour |
| Target list price · resource-month | 0 | USD/resource-month |
| Target price guess · input token | 0 | USD/input token |
| Target price guess · output token | 0 | USD/output token |
| Target monthly base charge | 0 | USD/month |
| Approximate target service minimum | 0 | USD/month |
| Minimum primary CPU | 2 | vCPU |
| Minimum primary RAM | 8 | GiB |
| Minimum primary disk | 100 | GiB |
| Additional full-price standby copy | 0 | 0 or 1 |
| Allocated share of provisioned cost | 1 | fraction |
| Read/write work per vCPU-second | 1,500 | operations/vCPU-second |
| Planning peak / mean work | 2 | multiplier |
| Planning primary CPU utilization | 0.7 | fraction |
| Resident state reserved in RAM | 0.1 | fraction |
| Planning disk utilization | 0.8 | fraction |
| Maintenance and log disk reserve | 20 | GiB |
| Staging database CPU unit-price guess | 0.0413 | USD/vCPU-hour |
| Staging database RAM unit-price guess | 0.007 | USD/GiB-hour |
| Staging database disk unit-price guess | 0.17 | USD/GiB-month |
| Dependent object sink storage price guess | 0.023 | USD/GiB-month |
| Dependent object sink write price guess | 0.000005 | USD/write |

* Only this native meter varies; all other source usage and translation assumptions retain the displayed defaults. Other native meters and workload assumptions retain their explicitly displayed default quantities. Workload translation and capacity assumptions are not benchmark measurements.
* Native monthly usage priced at the cited provider list prices; listed target allowances apply where present, excluding invoice credits, taxes and negotiated discounts. Rates as of 2026-10-22: us-east-1 → global, USD/month.
* Source prices are reference charges, not an invoice. Target lines cover selected service usage/configuration only; adapter hosting and Tensor9 fees are excluded.
* Samples of explicit prices are not performance measurements or capacity qualification. No interpolation or break-even guarantee is implied.
* Variant assumptions show the first axis sample; any axis-dependent configuration is described by this curve's workload note.
* Rates are cited provider list prices, editable for discounts, commitments or another region. Workload translation and capacity coefficients remain editable planning assumptions, not benchmark measurements or a commercial quote.
* Default-zero rates are explicit assumptions, not evidence that the deployed service or resource is free.
* Provisioned-unit minimums use an editable approximate allocation floor. Modeled target service cost is max(usage/allocation, minimum), with billable network, durable staging and dependent sinks added separately; actual RU/TU sizing, scaling increments and throughput remain unqualified.
* Durable staging is priced once: provisioned targets include adapter state in their selected allocation; native targets add a separate staging allocation when required. Adapter hosting is a separate allocation and must exclude resources already priced as staging, workers or target capacity.
* A declared adapter mapping and cost model do not establish implementation availability or service equivalence.
* This is a declared directed mapping; a planning estimate does not establish deployment or request-serving support.
* Origin unit prices are cited provider list prices; capacity coefficients and translation assumptions are editable authored planning guesses, not measured capacity or a provider quote.
* Management requests do not reveal resource allocation or workload traffic. Provisioned resources and traffic are independent inputs.
* This compares authoritative zones and query meters; resolver forwarding has a different allocation and price.
* A cost scenario does not establish live-qualified runtime DNS propagation or public authority.
* Cloudflare authoritative DNS is free on the Free, Pro and Business plans: no zone fee and no query charge. Enterprise prices DNS by quote from query volume, which this model does not select.
* AWS Price List API, AmazonRoute53 offer: [https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AmazonRoute53/current/aws-other/index.json](https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AmazonRoute53/current/aws-other/index.json)
* Amazon Route 53 pricing: [https://aws.amazon.com/route53/pricing/](https://aws.amazon.com/route53/pricing/)
* Cloudflare DNS FAQ: [https://developers.cloudflare.com/dns/faq/](https://developers.cloudflare.com/dns/faq/)

Cost scope: Modeled target native service and explicitly modeled state allocation; hosting and Tensor9 fees only when supplied.

Excluded costs and workload features:

* Health checks, DNSSEC premiums, resolver endpoints, query logs, domain registration and routing-policy premiums.
* Taxes, discounts, credits and free-tier allowances not explicitly listed by this model.
* Unmodeled dependent services, task execution and operations outside the selected workload family.

List prices read: 2026-10-22. Model: `plan-a2b15e7e8b9d97cacc6d80c0dd48118358a26fab` / `2026-10-22.planning.2`. Curve: `workload-1`.

Sources: [AWS Price List API, AmazonRoute53 offer](https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AmazonRoute53/current/aws-other/index.json), [Amazon Route 53 pricing](https://aws.amazon.com/route53/pricing/), [Cloudflare DNS FAQ](https://developers.cloudflare.com/dns/faq/).

**Authoritative DNS zones and queries (Route 53) → Cloudflare DNS: Authored native-usage planning example.** Native monthly usage priced at the cited provider list prices; listed target allowances apply where present, excluding invoice credits, taxes and negotiated discounts.

Scenario source region: us-east-1. Scenario target region: global. Currency: USD.

| Monthly component | USD |
| - | -: |
| Origin: Hosted zone allocation | 0.50 |
| Origin: Authoritative DNS queries | 40.00 |
| Origin: DNS management requests | 0.00 |
| Target: Target native provider operations | 0.00 |
| Target: Execution or worker CPU | 0.00 |
| Target: Execution or worker RAM | 0.00 |
| Target: Selected billable network | 0.00 |
| Target: Independent native resources | 0.00 |
| Target: Independent native resources | 0.00 |
| **Origin service subtotal** | **40.50** |
| **Target service subtotal** | **0.00** |

Unestimated components: Adapter hosting, Tensor9 fees. A modeled adapted total and savings require these costs.

Cost scope: Modeled target native service and explicitly modeled state allocation; hosting and Tensor9 fees only when supplied.

Excluded costs and workload features:

* Health checks, DNSSEC premiums, resolver endpoints, query logs, domain registration and routing-policy premiums.
* Taxes, discounts, credits and free-tier allowances not explicitly listed by this model.
* Unmodeled dependent services, task execution and operations outside the selected workload family.

**Scenario assumptions**

| Input | Value | Unit |
| - | -: | - |
| Origin list price · Hosted zone allocation | 0.5 | USD/zone-month |
| Origin list price · Authoritative DNS queries | 0.0000004 | USD/Queries |
| Origin list price · DNS management requests | 0 | USD/Requests |
| Target price guess · read | 0 | USD/read |
| Target price guess · write | 0 | USD/write |
| Target list price · provider operation | 0 | USD/provider operation |
| Target price guess · GiB-month | 0 | USD/GiB-month |
| Target price guess · published GiB | 0 | USD/published GiB |
| Target price guess · delivered GiB | 0 | USD/delivered GiB |
| Target price guess · network GiB | 0 | USD/network GiB |
| Target price guess · replica GiB-month | 0 | USD/replica GiB-month |
| Target price guess · vCPU-hour | 0 | USD/vCPU-hour |
| Target price guess · GiB-hour | 0 | USD/GiB-hour |
| Target price guess · resource-hour | 0 | USD/resource-hour |
| Target list price · resource-month | 0 | USD/resource-month |
| Target price guess · input token | 0 | USD/input token |
| Target price guess · output token | 0 | USD/output token |
| Target monthly base charge | 0 | USD/month |
| Approximate target service minimum | 0 | USD/month |
| Minimum primary CPU | 2 | vCPU |
| Minimum primary RAM | 8 | GiB |
| Minimum primary disk | 100 | GiB |
| Additional full-price standby copy | 0 | 0 or 1 |
| Allocated share of provisioned cost | 1 | fraction |
| Read/write work per vCPU-second | 1,500 | operations/vCPU-second |
| Planning peak / mean work | 2 | multiplier |
| Planning primary CPU utilization | 0.7 | fraction |
| Resident state reserved in RAM | 0.1 | fraction |
| Planning disk utilization | 0.8 | fraction |
| Maintenance and log disk reserve | 20 | GiB |
| Staging database CPU unit-price guess | 0.0413 | USD/vCPU-hour |
| Staging database RAM unit-price guess | 0.007 | USD/GiB-hour |
| Staging database disk unit-price guess | 0.17 | USD/GiB-month |
| Dependent object sink storage price guess | 0.023 | USD/GiB-month |
| Dependent object sink write price guess | 0.000005 | USD/write |
| Hosted zone allocation | 1 | zone-month |
| Authoritative DNS queries | 100,000,000 | Queries |
| DNS management requests | 100,000 | Requests |

* Translated reads: 100,000 operations.

* Translated writes: 0 operations.

* Translated resident physical data: 0 GiB-month.

* Native provider operations: 100,000,000 operations.

* Published payload: 0 GiB.

* Delivered payload: 0 GiB.

* Allocated execution CPU: 0 vCPU-hour.

* Allocated execution RAM: 0 GiB-hour.

* Independent resource allocation: 0 resource-hour.

* Independent inventory: 1 resource-month.

* Input tokens: 0 tokens.

* Output tokens: 0 tokens.

* Billable network: 0 GiB.

* Dependent object sink retained data: 0 GiB-month.

* Dependent object sink writes: 0 writes.

* Rates are cited provider list prices, editable for discounts, commitments or another region. Workload translation and capacity coefficients remain editable planning assumptions, not benchmark measurements or a commercial quote.

* Default-zero rates are explicit assumptions, not evidence that the deployed service or resource is free.

* Provisioned-unit minimums use an editable approximate allocation floor. Modeled target service cost is max(usage/allocation, minimum), with billable network, durable staging and dependent sinks added separately; actual RU/TU sizing, scaling increments and throughput remain unqualified.

* Durable staging is priced once: provisioned targets include adapter state in their selected allocation; native targets add a separate staging allocation when required. Adapter hosting is a separate allocation and must exclude resources already priced as staging, workers or target capacity.

* A declared adapter mapping and cost model do not establish implementation availability or service equivalence.

* This is a declared directed mapping; a planning estimate does not establish deployment or request-serving support.

* Origin unit prices are cited provider list prices; capacity coefficients and translation assumptions are editable authored planning guesses, not measured capacity or a provider quote.

* Management requests do not reveal resource allocation or workload traffic. Provisioned resources and traffic are independent inputs.

* This compares authoritative zones and query meters; resolver forwarding has a different allocation and price.

* A cost scenario does not establish live-qualified runtime DNS propagation or public authority.

* Cloudflare authoritative DNS is free on the Free, Pro and Business plans: no zone fee and no query charge. Enterprise prices DNS by quote from query volume, which this model does not select.

List prices read: 2026-10-22. Model: `plan-a2b15e7e8b9d97cacc6d80c0dd48118358a26fab` / `2026-10-22.planning.2`. Scenario: `planning-example`.

Sources: [AWS Price List API, AmazonRoute53 offer](https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AmazonRoute53/current/aws-other/index.json), [Amazon Route 53 pricing](https://aws.amazon.com/route53/pricing/), [Cloudflare DNS FAQ](https://developers.cloudflare.com/dns/faq/).

## On Azure

### Azure DNS

| Operation | Area | Support | Depth | Notes |
| - | - | - | - | - |
| DNS query serving | Data plane | Supported | Common | Azure DNS authoritative servers answer DNS queries directly. Public delegation must identify the selected provider. |
| Health checks | Health & resolver | Out of scope | Most usage | Standalone Route 53 health-check resources are outside this mapping and stop the build. |
| Resolver (endpoints, rules, DNSSEC, firewall, query logs) | Health & resolver | Out of scope | Full surface | Outside this zones-and-records mapping. Endpoints and forwarding rules are covered by the separate Resolver mapping; DNSSEC, DNS Firewall and query-log resources are removed at deployment. |
| Alias records | Records | Out of scope | Most usage | Route 53 aliases are outside this mapping. Azure native aliases target supported Azure resources, not arbitrary apex hostnames; a resolved ordinary address record is a different behavior. |
| Multi-value record sets | Records | Supported | Most usage | All values of an ordinary record set are retained. This does not reproduce weighted or health-checked routing. |
| Record management | Records | Supported | Common | The adapter applies supported record creates, updates and deletes through the Azure DNS API. Deployment configuration defaults an unset TTL to 300 seconds. |
| Record types | Records | Supported | Common | The runtime backend supports A, AAAA, CAA, CNAME, MX, NS, PTR, SOA, SRV and TXT. It rejects unsupported types; infrastructure SPF-to-TXT conversion is a separate behavior. |
| Runtime record changes | Records | Supported | Most usage | The application uses the Route 53 API through the adapter, which holds the provider credential. PENDING becomes INSYNC after the backend applies the change; this does not certify global DNS propagation or cache expiry. |
| Routing policies (weighted / latency / failover / geolocation / multivalue) | Routing | Out of scope | Most usage | Outside this mapping. Infrastructure translation can retain ordinary record data while reporting omitted routing behavior; the provider's native routing service is not configured by that omission. |
| Delegation sets | Zones | Out of scope | Full surface | Reusable AWS delegation sets are outside this mapping; unsupported resource declarations stop the build. |
| Hosted zones | Zones | Partial | Common | The runtime adapter creates and deletes managed public zones. Deployment-time lookups require an existing zone and do not transfer it to runtime ownership. The subscription and resource group must already exist. |
| Private hosted zones | Zones | Out of scope | Most usage | Private-zone configuration is outside this selected public-zone mapping. A VPC-associated declaration stops the build. |

#### How it works

Tensor9 applies Route 53 records to Azure DNS in your subscription and resource group, and Azure's authoritative servers answer queries. The adapter also supports the Route 53 public hosted-zone lifecycle and record-change API, and returns the nameservers Azure assigns to your application.

![Your application sends Route 53 record changes to the Tensor9 adapter, which applies them to Azure DNS with the provider credential it holds. DNS queries go straight to Azure DNS.](data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI4MzYiIGhlaWdodD0iMTUwIiB2aWV3Qm94PSIwIDAgODM2IDE1MCIgcm9sZT0iaW1nIiBhcmlhLWxhYmVsPSJZb3VyIGFwcGxpY2F0aW9uIHNlbmRzIFJvdXRlIDUzIHJlY29yZCBjaGFuZ2VzIHRvIHRoZSBUZW5zb3I5IGFkYXB0ZXIsIHdoaWNoIGFwcGxpZXMgdGhlbSB0byBBenVyZSBETlMgd2l0aCB0aGUgcHJvdmlkZXIgY3JlZGVudGlhbCBpdCBob2xkcy4gRE5TIHF1ZXJpZXMgZ28gc3RyYWlnaHQgdG8gQXp1cmUgRE5TLiI+PHN0eWxlPnRleHR7Zm9udC1mYW1pbHk6SW50ZXIsLWFwcGxlLXN5c3RlbSxCbGlua01hY1N5c3RlbUZvbnQsJ1NlZ29lIFVJJyxSb2JvdG8sJ0hlbHZldGljYSBOZXVlJyxBcmlhbCxzYW5zLXNlcmlmO2ZpbGw6IzMzNDE1NX08L3N0eWxlPjxyZWN0IHg9IjI0IiB5PSIzMCIgd2lkdGg9IjI0MCIgaGVpZ2h0PSI5MCIgcng9IjEwIiBzdHlsZT0iZmlsbDojZjhmYWZjO3N0cm9rZTojNjQ3NDhiIi8+PHRleHQgeD0iMTQ0IiB5PSI2NSIgdGV4dC1hbmNob3I9Im1pZGRsZSIgc3R5bGU9ImZvbnQ6IDY1MCAxMy41cHggSW50ZXIsIHNhbnMtc2VyaWY7IGZpbGw6ICMwZjE3MmEiPkFwcGxpY2F0aW9uPC90ZXh0Pjx0ZXh0IHg9IjE0NCIgeT0iOTIiIHRleHQtYW5jaG9yPSJtaWRkbGUiIHN0eWxlPSJmb250OiAxMXB4IEludGVyLCBzYW5zLXNlcmlmOyBmaWxsOiAjNjQ3NDhiIj5Sb3V0ZSA1MyByZWNvcmQtY2hhbmdlIEFQSTwvdGV4dD48cGF0aCBkPSJNMjY3IDc1IGgyMiBtLTYgLTUgNiA1IC02IDUiIGZpbGw9Im5vbmUiIHN0eWxlPSJzdHJva2U6IzY0NzQ4YiIvPjxyZWN0IHg9IjI5NCIgeT0iMzAiIHdpZHRoPSIyNDAiIGhlaWdodD0iOTAiIHJ4PSIxMCIgc3R5bGU9ImZpbGw6I2Y4ZmFmYztzdHJva2U6IzY0NzQ4YiIvPjx0ZXh0IHg9IjQxNCIgeT0iNjUiIHRleHQtYW5jaG9yPSJtaWRkbGUiIHN0eWxlPSJmb250OiA2NTAgMTMuNXB4IEludGVyLCBzYW5zLXNlcmlmOyBmaWxsOiAjMGYxNzJhIj5UZW5zb3I5IGFkYXB0ZXI8L3RleHQ+PHRleHQgeD0iNDE0IiB5PSI5MiIgdGV4dC1hbmNob3I9Im1pZGRsZSIgc3R5bGU9ImZvbnQ6IDExcHggSW50ZXIsIHNhbnMtc2VyaWY7IGZpbGw6ICM2NDc0OGIiPmhvbGRzIHByb3ZpZGVyIGNyZWRlbnRpYWxzPC90ZXh0PjxwYXRoIGQ9Ik01MzcgNzUgaDIyIG0tNiAtNSA2IDUgLTYgNSIgZmlsbD0ibm9uZSIgc3R5bGU9InN0cm9rZTojNjQ3NDhiIi8+PHJlY3QgeD0iNTY0IiB5PSIzMCIgd2lkdGg9IjI0MCIgaGVpZ2h0PSI5MCIgcng9IjEwIiBzdHlsZT0iZmlsbDojZjhmYWZjO3N0cm9rZTojNjQ3NDhiIi8+PHRleHQgeD0iNjg0IiB5PSI2NSIgdGV4dC1hbmNob3I9Im1pZGRsZSIgc3R5bGU9ImZvbnQ6IDY1MCAxMy41cHggSW50ZXIsIHNhbnMtc2VyaWY7IGZpbGw6ICMwZjE3MmEiPkF6dXJlIEROUzwvdGV4dD48dGV4dCB4PSI2ODQiIHk9IjkyIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBzdHlsZT0iZm9udDogMTFweCBJbnRlciwgc2Fucy1zZXJpZjsgZmlsbDogIzY0NzQ4YiI+YXV0aG9yaXRhdGl2ZSByZWNvcmQgc3RvcmU8L3RleHQ+PC9zdmc+)

![Your application sends Route 53 record changes to the Tensor9 adapter, which applies them to Azure DNS with the provider credential it holds. DNS queries go straight to Azure DNS.](data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI4MzYiIGhlaWdodD0iMTUwIiB2aWV3Qm94PSIwIDAgODM2IDE1MCIgcm9sZT0iaW1nIiBhcmlhLWxhYmVsPSJZb3VyIGFwcGxpY2F0aW9uIHNlbmRzIFJvdXRlIDUzIHJlY29yZCBjaGFuZ2VzIHRvIHRoZSBUZW5zb3I5IGFkYXB0ZXIsIHdoaWNoIGFwcGxpZXMgdGhlbSB0byBBenVyZSBETlMgd2l0aCB0aGUgcHJvdmlkZXIgY3JlZGVudGlhbCBpdCBob2xkcy4gRE5TIHF1ZXJpZXMgZ28gc3RyYWlnaHQgdG8gQXp1cmUgRE5TLiI+PHN0eWxlPnRleHR7Zm9udC1mYW1pbHk6SW50ZXIsLWFwcGxlLXN5c3RlbSxCbGlua01hY1N5c3RlbUZvbnQsJ1NlZ29lIFVJJyxSb2JvdG8sJ0hlbHZldGljYSBOZXVlJyxBcmlhbCxzYW5zLXNlcmlmO2ZpbGw6I2NiZDVlMX08L3N0eWxlPjxyZWN0IHg9IjI0IiB5PSIzMCIgd2lkdGg9IjI0MCIgaGVpZ2h0PSI5MCIgcng9IjEwIiBzdHlsZT0iZmlsbDojMGYxNzJhO3N0cm9rZTojOTRhM2I4Ii8+PHRleHQgeD0iMTQ0IiB5PSI2NSIgdGV4dC1hbmNob3I9Im1pZGRsZSIgc3R5bGU9ImZvbnQ6IDY1MCAxMy41cHggSW50ZXIsIHNhbnMtc2VyaWY7IGZpbGw6ICNmMWY1ZjkiPkFwcGxpY2F0aW9uPC90ZXh0Pjx0ZXh0IHg9IjE0NCIgeT0iOTIiIHRleHQtYW5jaG9yPSJtaWRkbGUiIHN0eWxlPSJmb250OiAxMXB4IEludGVyLCBzYW5zLXNlcmlmOyBmaWxsOiAjOTRhM2I4Ij5Sb3V0ZSA1MyByZWNvcmQtY2hhbmdlIEFQSTwvdGV4dD48cGF0aCBkPSJNMjY3IDc1IGgyMiBtLTYgLTUgNiA1IC02IDUiIGZpbGw9Im5vbmUiIHN0eWxlPSJzdHJva2U6Izk0YTNiOCIvPjxyZWN0IHg9IjI5NCIgeT0iMzAiIHdpZHRoPSIyNDAiIGhlaWdodD0iOTAiIHJ4PSIxMCIgc3R5bGU9ImZpbGw6IzBmMTcyYTtzdHJva2U6Izk0YTNiOCIvPjx0ZXh0IHg9IjQxNCIgeT0iNjUiIHRleHQtYW5jaG9yPSJtaWRkbGUiIHN0eWxlPSJmb250OiA2NTAgMTMuNXB4IEludGVyLCBzYW5zLXNlcmlmOyBmaWxsOiAjZjFmNWY5Ij5UZW5zb3I5IGFkYXB0ZXI8L3RleHQ+PHRleHQgeD0iNDE0IiB5PSI5MiIgdGV4dC1hbmNob3I9Im1pZGRsZSIgc3R5bGU9ImZvbnQ6IDExcHggSW50ZXIsIHNhbnMtc2VyaWY7IGZpbGw6ICM5NGEzYjgiPmhvbGRzIHByb3ZpZGVyIGNyZWRlbnRpYWxzPC90ZXh0PjxwYXRoIGQ9Ik01MzcgNzUgaDIyIG0tNiAtNSA2IDUgLTYgNSIgZmlsbD0ibm9uZSIgc3R5bGU9InN0cm9rZTojOTRhM2I4Ii8+PHJlY3QgeD0iNTY0IiB5PSIzMCIgd2lkdGg9IjI0MCIgaGVpZ2h0PSI5MCIgcng9IjEwIiBzdHlsZT0iZmlsbDojMGYxNzJhO3N0cm9rZTojOTRhM2I4Ii8+PHRleHQgeD0iNjg0IiB5PSI2NSIgdGV4dC1hbmNob3I9Im1pZGRsZSIgc3R5bGU9ImZvbnQ6IDY1MCAxMy41cHggSW50ZXIsIHNhbnMtc2VyaWY7IGZpbGw6ICNmMWY1ZjkiPkF6dXJlIEROUzwvdGV4dD48dGV4dCB4PSI2ODQiIHk9IjkyIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBzdHlsZT0iZm9udDogMTFweCBJbnRlciwgc2Fucy1zZXJpZjsgZmlsbDogIzk0YTNiOCI+YXV0aG9yaXRhdGl2ZSByZWNvcmQgc3RvcmU8L3RleHQ+PC9zdmc+)

Record changes go through the adapter; DNS queries go straight to the provider.

#### Zones and record ownership

A deployment-time zone lookup needs an existing Azure DNS zone; it does not transfer that zone to runtime ownership. The runtime adapter can create and delete the public zone it manages, but its subscription and resource group must already exist. Do not let another controller write to that zone. An unrelated zone with the same name is not adopted automatically, and two logical zones with the same DNS name need separate Azure placement.

The runtime adapter supports `A`, `AAAA`, `CAA`, `CNAME`, `MX`, `NS`, `PTR`, `SOA`, `SRV` and `TXT`. It retains Azure-assigned apex nameservers and the SOA primary; other supported SOA fields and the apex TTLs can change. Deleting the apex NS or SOA records on their own is rejected, so remove ordinary records before deleting the hosted zone. Other record types, private zones and Azure native aliases are outside the runtime adapter.

#### Aliases and routing

Azure native aliases point at supported Azure resources; they cannot alias an arbitrary hostname at a zone apex. This mapping does not reproduce Route 53 aliases or their target-health evaluation. A resolved infrastructure address can become an ordinary address record instead, which does not keep alias behaviour over time.

Route 53 routing policies are not supported. Deployment can keep ordinary record values while reporting the dropped policy. Azure Traffic Manager has its own traffic routing, which you configure separately if you need it. Multiple values alone do not reproduce a weighted or health-checked answer.

#### Runtime changes

Your application sends Route 53 API requests to the Tensor9 adapter, which records each change and applies it with the provider credential it holds. `ChangeResourceRecordSets` returns a change receipt; `GetChange` reports `PENDING` until the provider has applied the change, then `INSYNC`.

`INSYNC` means the provider has applied the change. It does not guarantee that every authoritative server has observed the change or that recursive caches have expired, so keep polling for completion and allow for DNS caching during cutover.

The adapter records a change batch as one unit, but Azure applies individual record sets separately, so DNS answers can briefly show part of a multi-record change. Conditional writes detect changes made by another writer. Plan related record changes so that this in-between state is acceptable.

#### Limitations

Where Azure DNS and Route 53 differ

* **Health checks, delegation sets and Resolver resources are not supported.** They are outside this zone-and-record mapping.
* **Private zones are not supported.** Azure Private DNS is a separate service; this public-zone lifecycle does not create a private zone.
* **Unsupported record types are rejected.** The runtime API rejects types outside its list instead of changing their meaning. Converting `SPF` to `TXT` at deployment does not mean the runtime API supports `SPF`.
* **Very large zones are not supported.** Native record inventory must fit in one response. The adapter rejects an incomplete inventory rather than delete records based on it.
* **Escaped or binary record names are not supported.** Runtime record names must be ASCII DNS labels within the usual length limits, and non-UTF-8 TXT or CAA data is not supported.
* **You must repair a missing zone yourself.** If a zone the adapter has seen disappears, repair its association explicitly; the adapter does not automatically allocate new authority.
* **You must keep write access to the zone with the adapter.** Ownership markers help detect unrelated zones and records, but another writer can copy those markers.

#### Other considerations

* **Moving from AWS.** Apply the records you need, check the authoritative answers, then update public nameserver delegation if the provider changes. Keep the previous zone available while cached records and delegation expire. Only declared records are applied; an existing zone and its query history are not copied.
* **When the Cloud Adapter deployment is down.** Record changes need the Cloud Adapter deployment and its provider credentials. Records already applied keep answering from the provider.
* **Other DNS writers.** Certificate-validation records are coordinated with certificate management. Review external DNS controllers and any credentials they used before.

#### Example monthly charges

This Tensor9 Cloud Adapter scenario estimates service charges for the named origin and target services. Adapter hosting and commercial Tensor9 fees need separate allocations. [How Tensor9 estimates costs](https://docs.tensor9.com/cloud-adapter-early-access/costs/overview.md) explains the method and what the estimates include.

##### Authoritative DNS zones and queries (Route 53) · Authoritative DNS queries per second

Feature: Authoritative DNS zones and queries (Route 53).

Estimated monthly service charges by Authoritative DNS queries per second. Adapter hosting and Tensor9 fees are excluded. Source: us-east-1; target: eastus; currency: USD.

![Authoritative DNS zones and queries (Route 53) · Authoritative DNS queries per second: monthly service charges by Authoritative DNS queries per second. Exact values are in the following table.](https://docs.tensor9.com/images/cloud-adapter-early-access/diagrams/service-cost/07ca439d35d29ea173a6ac0c466e08a47e326a85d2971935ac17512b6a07e95c-light.svg)

![Authoritative DNS zones and queries (Route 53) · Authoritative DNS queries per second: monthly service charges by Authoritative DNS queries per second. Exact values are in the following table.](https://docs.tensor9.com/images/cloud-adapter-early-access/diagrams/service-cost/775c4c847ade66a91123fb5a1ea00b50153d20925ae328c2fba02eb98e10ce99-dark.svg)

Comparison pills describe all sampled scale points; amounts beside each service are for the named workload. Costs The Same means within 20% at every point. Costs Depend includes mixed results and unpriced samples.

Sampled monthly charges in USD, rounded to cents. Difference means target minus origin; a positive difference means the target costs more.

| Authoritative DNS queries per second (queries/s) | Route53 | Azure DNS | Difference |
| -: | -: | -: | -: |
| 0 | 0.50 | 0.50 | 0.00 |
| 1 | 1.55 | 1.55 | 0.00 |
| 10 | 11.01 | 11.01 | 0.00 |
| 100 | 105.62 | 105.62 | 0.00 |
| 1,000 | 1,051.70 | 726.10 | -325.60 |
| 10,000 | 10,512.50 | 5,456.50 | -5,056.00 |
| 100,000 | 105,120.50 | 52,760.50 | -52,360.00 |

**Curve assumptions**

| Assumption | Value | Unit |
| - | -: | - |
| Origin list price · Hosted zone allocation | 0.5 | USD/zone-month |
| Origin list price · Authoritative DNS queries | 0.0000004 | USD/Queries |
| Origin list price · DNS management requests | 0 | USD/Requests |
| Target price guess · read | 0 | USD/read |
| Target price guess · write | 0 | USD/write |
| Target list price · provider operation | 0.0000004 | USD/provider operation |
| Target price guess · GiB-month | 0 | USD/GiB-month |
| Target price guess · published GiB | 0 | USD/published GiB |
| Target price guess · delivered GiB | 0 | USD/delivered GiB |
| Target price guess · network GiB | 0 | USD/network GiB |
| Target price guess · replica GiB-month | 0 | USD/replica GiB-month |
| Target price guess · vCPU-hour | 0 | USD/vCPU-hour |
| Target price guess · GiB-hour | 0 | USD/GiB-hour |
| Target price guess · resource-hour | 0 | USD/resource-hour |
| Target list price · resource-month | 0.5 | USD/resource-month |
| Target price guess · input token | 0 | USD/input token |
| Target price guess · output token | 0 | USD/output token |
| Target monthly base charge | 0 | USD/month |
| Approximate target service minimum | 0 | USD/month |
| Minimum primary CPU | 2 | vCPU |
| Minimum primary RAM | 8 | GiB |
| Minimum primary disk | 100 | GiB |
| Additional full-price standby copy | 0 | 0 or 1 |
| Allocated share of provisioned cost | 1 | fraction |
| Read/write work per vCPU-second | 1,500 | operations/vCPU-second |
| Planning peak / mean work | 2 | multiplier |
| Planning primary CPU utilization | 0.7 | fraction |
| Resident state reserved in RAM | 0.1 | fraction |
| Planning disk utilization | 0.8 | fraction |
| Maintenance and log disk reserve | 20 | GiB |
| Staging database CPU unit-price guess | 0.0413 | USD/vCPU-hour |
| Staging database RAM unit-price guess | 0.007 | USD/GiB-hour |
| Staging database disk unit-price guess | 0.17 | USD/GiB-month |
| Dependent object sink storage price guess | 0.023 | USD/GiB-month |
| Dependent object sink write price guess | 0.000005 | USD/write |

* Only this native meter varies; all other source usage and translation assumptions retain the displayed defaults. Other native meters and workload assumptions retain their explicitly displayed default quantities. Workload translation and capacity assumptions are not benchmark measurements.
* Native monthly usage priced at the cited provider list prices; listed target allowances apply where present, excluding invoice credits, taxes and negotiated discounts. Rates as of 2026-10-22: us-east-1 → eastus, USD/month.
* Source prices are reference charges, not an invoice. Target lines cover selected service usage/configuration only; adapter hosting and Tensor9 fees are excluded.
* Samples of explicit prices are not performance measurements or capacity qualification. No interpolation or break-even guarantee is implied.
* Variant assumptions show the first axis sample; any axis-dependent configuration is described by this curve's workload note.
* Rates are cited provider list prices, editable for discounts, commitments or another region. Workload translation and capacity coefficients remain editable planning assumptions, not benchmark measurements or a commercial quote.
* Default-zero rates are explicit assumptions, not evidence that the deployed service or resource is free.
* Provisioned-unit minimums use an editable approximate allocation floor. Modeled target service cost is max(usage/allocation, minimum), with billable network, durable staging and dependent sinks added separately; actual RU/TU sizing, scaling increments and throughput remain unqualified.
* Durable staging is priced once: provisioned targets include adapter state in their selected allocation; native targets add a separate staging allocation when required. Adapter hosting is a separate allocation and must exclude resources already priced as staging, workers or target capacity.
* A declared adapter mapping and cost model do not establish implementation availability or service equivalence.
* This is a declared directed mapping; a planning estimate does not establish deployment or request-serving support.
* Origin unit prices are cited provider list prices; capacity coefficients and translation assumptions are editable authored planning guesses, not measured capacity or a provider quote.
* Management requests do not reveal resource allocation or workload traffic. Provisioned resources and traffic are independent inputs.
* This compares authoritative zones and query meters; resolver forwarding has a different allocation and price.
* A cost scenario does not establish live-qualified runtime DNS propagation or public authority.
* Zone-months and authoritative queries are billed independently; management calls are free. Azure DNS public zones and queries; zone and query prices step down after 25 zones and one billion queries.
* AWS Price List API, AmazonRoute53 offer: [https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AmazonRoute53/current/aws-other/index.json](https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AmazonRoute53/current/aws-other/index.json)
* Amazon Route 53 pricing: [https://aws.amazon.com/route53/pricing/](https://aws.amazon.com/route53/pricing/)
* Azure Retail Prices API: [https://prices.azure.com/api/retail/prices](https://prices.azure.com/api/retail/prices)

Cost scope: Modeled target native service and explicitly modeled state allocation; hosting and Tensor9 fees only when supplied.

Excluded costs and workload features:

* Health checks, DNSSEC premiums, resolver endpoints, query logs, domain registration and routing-policy premiums.
* Taxes, discounts, credits and free-tier allowances not explicitly listed by this model.
* Unmodeled dependent services, task execution and operations outside the selected workload family.

List prices read: 2026-10-22. Model: `plan-e814138b3589e4584681dfbb2713fa1ae4e3f7f5` / `2026-10-22.planning.2`. Curve: `workload-1`.

Sources: [AWS Price List API, AmazonRoute53 offer](https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AmazonRoute53/current/aws-other/index.json), [Amazon Route 53 pricing](https://aws.amazon.com/route53/pricing/), [Azure Retail Prices API](https://prices.azure.com/api/retail/prices).

**Authoritative DNS zones and queries (Route 53) → Azure DNS: Authored native-usage planning example.** Native monthly usage priced at the cited provider list prices; listed target allowances apply where present, excluding invoice credits, taxes and negotiated discounts.

Scenario source region: us-east-1. Scenario target region: eastus. Currency: USD.

| Monthly component | USD |
| - | -: |
| Origin: Hosted zone allocation | 0.50 |
| Origin: Authoritative DNS queries | 40.00 |
| Origin: DNS management requests | 0.00 |
| Target: Target native provider operations | 40.00 |
| Target: Execution or worker CPU | 0.00 |
| Target: Execution or worker RAM | 0.00 |
| Target: Selected billable network | 0.00 |
| Target: Independent native resources | 0.00 |
| Target: Independent native resources | 0.50 |
| **Origin service subtotal** | **40.50** |
| **Target service subtotal** | **40.50** |

Unestimated components: Adapter hosting, Tensor9 fees. A modeled adapted total and savings require these costs.

Cost scope: Modeled target native service and explicitly modeled state allocation; hosting and Tensor9 fees only when supplied.

Excluded costs and workload features:

* Health checks, DNSSEC premiums, resolver endpoints, query logs, domain registration and routing-policy premiums.
* Taxes, discounts, credits and free-tier allowances not explicitly listed by this model.
* Unmodeled dependent services, task execution and operations outside the selected workload family.

**Scenario assumptions**

| Input | Value | Unit |
| - | -: | - |
| Origin list price · Hosted zone allocation | 0.5 | USD/zone-month |
| Origin list price · Authoritative DNS queries | 0.0000004 | USD/Queries |
| Origin list price · DNS management requests | 0 | USD/Requests |
| Target price guess · read | 0 | USD/read |
| Target price guess · write | 0 | USD/write |
| Target list price · provider operation | 0.0000004 | USD/provider operation |
| Target price guess · GiB-month | 0 | USD/GiB-month |
| Target price guess · published GiB | 0 | USD/published GiB |
| Target price guess · delivered GiB | 0 | USD/delivered GiB |
| Target price guess · network GiB | 0 | USD/network GiB |
| Target price guess · replica GiB-month | 0 | USD/replica GiB-month |
| Target price guess · vCPU-hour | 0 | USD/vCPU-hour |
| Target price guess · GiB-hour | 0 | USD/GiB-hour |
| Target price guess · resource-hour | 0 | USD/resource-hour |
| Target list price · resource-month | 0.5 | USD/resource-month |
| Target price guess · input token | 0 | USD/input token |
| Target price guess · output token | 0 | USD/output token |
| Target monthly base charge | 0 | USD/month |
| Approximate target service minimum | 0 | USD/month |
| Minimum primary CPU | 2 | vCPU |
| Minimum primary RAM | 8 | GiB |
| Minimum primary disk | 100 | GiB |
| Additional full-price standby copy | 0 | 0 or 1 |
| Allocated share of provisioned cost | 1 | fraction |
| Read/write work per vCPU-second | 1,500 | operations/vCPU-second |
| Planning peak / mean work | 2 | multiplier |
| Planning primary CPU utilization | 0.7 | fraction |
| Resident state reserved in RAM | 0.1 | fraction |
| Planning disk utilization | 0.8 | fraction |
| Maintenance and log disk reserve | 20 | GiB |
| Staging database CPU unit-price guess | 0.0413 | USD/vCPU-hour |
| Staging database RAM unit-price guess | 0.007 | USD/GiB-hour |
| Staging database disk unit-price guess | 0.17 | USD/GiB-month |
| Dependent object sink storage price guess | 0.023 | USD/GiB-month |
| Dependent object sink write price guess | 0.000005 | USD/write |
| Hosted zone allocation | 1 | zone-month |
| Authoritative DNS queries | 100,000,000 | Queries |
| DNS management requests | 100,000 | Requests |

* Translated reads: 100,000 operations.

* Translated writes: 0 operations.

* Translated resident physical data: 0 GiB-month.

* Native provider operations: 100,000,000 operations.

* Published payload: 0 GiB.

* Delivered payload: 0 GiB.

* Allocated execution CPU: 0 vCPU-hour.

* Allocated execution RAM: 0 GiB-hour.

* Independent resource allocation: 0 resource-hour.

* Independent inventory: 1 resource-month.

* Input tokens: 0 tokens.

* Output tokens: 0 tokens.

* Billable network: 0 GiB.

* Dependent object sink retained data: 0 GiB-month.

* Dependent object sink writes: 0 writes.

* Rates are cited provider list prices, editable for discounts, commitments or another region. Workload translation and capacity coefficients remain editable planning assumptions, not benchmark measurements or a commercial quote.

* Default-zero rates are explicit assumptions, not evidence that the deployed service or resource is free.

* Provisioned-unit minimums use an editable approximate allocation floor. Modeled target service cost is max(usage/allocation, minimum), with billable network, durable staging and dependent sinks added separately; actual RU/TU sizing, scaling increments and throughput remain unqualified.

* Durable staging is priced once: provisioned targets include adapter state in their selected allocation; native targets add a separate staging allocation when required. Adapter hosting is a separate allocation and must exclude resources already priced as staging, workers or target capacity.

* A declared adapter mapping and cost model do not establish implementation availability or service equivalence.

* This is a declared directed mapping; a planning estimate does not establish deployment or request-serving support.

* Origin unit prices are cited provider list prices; capacity coefficients and translation assumptions are editable authored planning guesses, not measured capacity or a provider quote.

* Management requests do not reveal resource allocation or workload traffic. Provisioned resources and traffic are independent inputs.

* This compares authoritative zones and query meters; resolver forwarding has a different allocation and price.

* A cost scenario does not establish live-qualified runtime DNS propagation or public authority.

* Zone-months and authoritative queries are billed independently; management calls are free. Azure DNS public zones and queries; zone and query prices step down after 25 zones and one billion queries.

List prices read: 2026-10-22. Model: `plan-e814138b3589e4584681dfbb2713fa1ae4e3f7f5` / `2026-10-22.planning.2`. Scenario: `planning-example`.

Sources: [AWS Price List API, AmazonRoute53 offer](https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AmazonRoute53/current/aws-other/index.json), [Amazon Route 53 pricing](https://aws.amazon.com/route53/pricing/), [Azure Retail Prices API](https://prices.azure.com/api/retail/prices).

## On Google Cloud

### Cloud DNS

| Operation | Area | Support | Depth | Notes |
| - | - | - | - | - |
| DNS query serving | Data plane | Supported | Common | Cloud DNS authoritative servers answer DNS queries directly. Public delegation must identify the selected provider. |
| Health checks | Health & resolver | Out of scope | Most usage | The infrastructure mapping omits standalone Route 53 health checks and reports the omission; it does not configure Cloud DNS health-based routing. |
| Resolver (endpoints, rules, DNSSEC, firewall, query logs) | Health & resolver | Out of scope | Full surface | Outside this zones-and-records mapping. Endpoints and forwarding rules are covered by the separate Resolver mapping; DNSSEC, DNS Firewall and query-log resources are removed at deployment. |
| Alias records | Records | Partial | Most usage | Infrastructure references resolve to the replacement resource address, with omitted target-health evaluation reported. Runtime AliasTarget requests are unsupported; Cloud DNS native ALIAS records do not establish Route 53 alias support. |
| Multi-value record sets | Records | Supported | Most usage | All values of an ordinary record set are retained. This does not reproduce weighted or health-checked routing. |
| Record management | Records | Supported | Common | The adapter applies supported record creates, updates and deletes through the Cloud DNS API. Deployment configuration defaults an unset TTL to 300 seconds. |
| Record types | Records | Supported | Common | The Max runtime supports 17 record types, including SPF. Infrastructure-only SPF declarations become TXT. |
| Runtime record changes | Records | Supported | Most usage | The application uses the Route 53 API through the adapter, which holds the provider credential. PENDING becomes INSYNC after the backend applies the change; this does not certify global DNS propagation or cache expiry. |
| Routing policies (weighted / latency / failover / geolocation / multivalue) | Routing | Out of scope | Most usage | Outside this mapping. Infrastructure translation can retain ordinary record data while reporting omitted routing behavior; the provider's native routing service is not configured by that omission. |
| Delegation sets | Zones | Out of scope | Full surface | Reusable AWS delegation sets are outside this mapping; unsupported resource declarations stop the build. |
| Hosted zones | Zones | Supported | Common | Infrastructure supports native zone creation and managed-zone-name lookup. The runtime adapter creates and deletes managed public zones and returns assigned authority. |
| Private hosted zones | Zones | Supported | Most usage | The infrastructure mapping creates a private managed zone attached to the target VPC network. The runtime public-zone lifecycle does not manage private zones. |

#### How it works

Tensor9 translates Route 53 zones and records into Cloud DNS managed zones and record sets in your Google Cloud project, and Google's authoritative servers answer queries. Your application uses the Route 53 API through the adapter for supported zone and record changes at runtime.

![Your application sends Route 53 record changes to the Tensor9 adapter, which applies them to Cloud DNS with the provider credential it holds. DNS queries go straight to Cloud DNS.](data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI4MzYiIGhlaWdodD0iMTUwIiB2aWV3Qm94PSIwIDAgODM2IDE1MCIgcm9sZT0iaW1nIiBhcmlhLWxhYmVsPSJZb3VyIGFwcGxpY2F0aW9uIHNlbmRzIFJvdXRlIDUzIHJlY29yZCBjaGFuZ2VzIHRvIHRoZSBUZW5zb3I5IGFkYXB0ZXIsIHdoaWNoIGFwcGxpZXMgdGhlbSB0byBDbG91ZCBETlMgd2l0aCB0aGUgcHJvdmlkZXIgY3JlZGVudGlhbCBpdCBob2xkcy4gRE5TIHF1ZXJpZXMgZ28gc3RyYWlnaHQgdG8gQ2xvdWQgRE5TLiI+PHN0eWxlPnRleHR7Zm9udC1mYW1pbHk6SW50ZXIsLWFwcGxlLXN5c3RlbSxCbGlua01hY1N5c3RlbUZvbnQsJ1NlZ29lIFVJJyxSb2JvdG8sJ0hlbHZldGljYSBOZXVlJyxBcmlhbCxzYW5zLXNlcmlmO2ZpbGw6IzMzNDE1NX08L3N0eWxlPjxyZWN0IHg9IjI0IiB5PSIzMCIgd2lkdGg9IjI0MCIgaGVpZ2h0PSI5MCIgcng9IjEwIiBzdHlsZT0iZmlsbDojZjhmYWZjO3N0cm9rZTojNjQ3NDhiIi8+PHRleHQgeD0iMTQ0IiB5PSI2NSIgdGV4dC1hbmNob3I9Im1pZGRsZSIgc3R5bGU9ImZvbnQ6IDY1MCAxMy41cHggSW50ZXIsIHNhbnMtc2VyaWY7IGZpbGw6ICMwZjE3MmEiPkFwcGxpY2F0aW9uPC90ZXh0Pjx0ZXh0IHg9IjE0NCIgeT0iOTIiIHRleHQtYW5jaG9yPSJtaWRkbGUiIHN0eWxlPSJmb250OiAxMXB4IEludGVyLCBzYW5zLXNlcmlmOyBmaWxsOiAjNjQ3NDhiIj5Sb3V0ZSA1MyByZWNvcmQtY2hhbmdlIEFQSTwvdGV4dD48cGF0aCBkPSJNMjY3IDc1IGgyMiBtLTYgLTUgNiA1IC02IDUiIGZpbGw9Im5vbmUiIHN0eWxlPSJzdHJva2U6IzY0NzQ4YiIvPjxyZWN0IHg9IjI5NCIgeT0iMzAiIHdpZHRoPSIyNDAiIGhlaWdodD0iOTAiIHJ4PSIxMCIgc3R5bGU9ImZpbGw6I2Y4ZmFmYztzdHJva2U6IzY0NzQ4YiIvPjx0ZXh0IHg9IjQxNCIgeT0iNjUiIHRleHQtYW5jaG9yPSJtaWRkbGUiIHN0eWxlPSJmb250OiA2NTAgMTMuNXB4IEludGVyLCBzYW5zLXNlcmlmOyBmaWxsOiAjMGYxNzJhIj5UZW5zb3I5IGFkYXB0ZXI8L3RleHQ+PHRleHQgeD0iNDE0IiB5PSI5MiIgdGV4dC1hbmNob3I9Im1pZGRsZSIgc3R5bGU9ImZvbnQ6IDExcHggSW50ZXIsIHNhbnMtc2VyaWY7IGZpbGw6ICM2NDc0OGIiPmhvbGRzIHByb3ZpZGVyIGNyZWRlbnRpYWxzPC90ZXh0PjxwYXRoIGQ9Ik01MzcgNzUgaDIyIG0tNiAtNSA2IDUgLTYgNSIgZmlsbD0ibm9uZSIgc3R5bGU9InN0cm9rZTojNjQ3NDhiIi8+PHJlY3QgeD0iNTY0IiB5PSIzMCIgd2lkdGg9IjI0MCIgaGVpZ2h0PSI5MCIgcng9IjEwIiBzdHlsZT0iZmlsbDojZjhmYWZjO3N0cm9rZTojNjQ3NDhiIi8+PHRleHQgeD0iNjg0IiB5PSI2NSIgdGV4dC1hbmNob3I9Im1pZGRsZSIgc3R5bGU9ImZvbnQ6IDY1MCAxMy41cHggSW50ZXIsIHNhbnMtc2VyaWY7IGZpbGw6ICMwZjE3MmEiPkNsb3VkIEROUzwvdGV4dD48dGV4dCB4PSI2ODQiIHk9IjkyIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBzdHlsZT0iZm9udDogMTFweCBJbnRlciwgc2Fucy1zZXJpZjsgZmlsbDogIzY0NzQ4YiI+YXV0aG9yaXRhdGl2ZSByZWNvcmQgc3RvcmU8L3RleHQ+PC9zdmc+)

![Your application sends Route 53 record changes to the Tensor9 adapter, which applies them to Cloud DNS with the provider credential it holds. DNS queries go straight to Cloud DNS.](data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI4MzYiIGhlaWdodD0iMTUwIiB2aWV3Qm94PSIwIDAgODM2IDE1MCIgcm9sZT0iaW1nIiBhcmlhLWxhYmVsPSJZb3VyIGFwcGxpY2F0aW9uIHNlbmRzIFJvdXRlIDUzIHJlY29yZCBjaGFuZ2VzIHRvIHRoZSBUZW5zb3I5IGFkYXB0ZXIsIHdoaWNoIGFwcGxpZXMgdGhlbSB0byBDbG91ZCBETlMgd2l0aCB0aGUgcHJvdmlkZXIgY3JlZGVudGlhbCBpdCBob2xkcy4gRE5TIHF1ZXJpZXMgZ28gc3RyYWlnaHQgdG8gQ2xvdWQgRE5TLiI+PHN0eWxlPnRleHR7Zm9udC1mYW1pbHk6SW50ZXIsLWFwcGxlLXN5c3RlbSxCbGlua01hY1N5c3RlbUZvbnQsJ1NlZ29lIFVJJyxSb2JvdG8sJ0hlbHZldGljYSBOZXVlJyxBcmlhbCxzYW5zLXNlcmlmO2ZpbGw6I2NiZDVlMX08L3N0eWxlPjxyZWN0IHg9IjI0IiB5PSIzMCIgd2lkdGg9IjI0MCIgaGVpZ2h0PSI5MCIgcng9IjEwIiBzdHlsZT0iZmlsbDojMGYxNzJhO3N0cm9rZTojOTRhM2I4Ii8+PHRleHQgeD0iMTQ0IiB5PSI2NSIgdGV4dC1hbmNob3I9Im1pZGRsZSIgc3R5bGU9ImZvbnQ6IDY1MCAxMy41cHggSW50ZXIsIHNhbnMtc2VyaWY7IGZpbGw6ICNmMWY1ZjkiPkFwcGxpY2F0aW9uPC90ZXh0Pjx0ZXh0IHg9IjE0NCIgeT0iOTIiIHRleHQtYW5jaG9yPSJtaWRkbGUiIHN0eWxlPSJmb250OiAxMXB4IEludGVyLCBzYW5zLXNlcmlmOyBmaWxsOiAjOTRhM2I4Ij5Sb3V0ZSA1MyByZWNvcmQtY2hhbmdlIEFQSTwvdGV4dD48cGF0aCBkPSJNMjY3IDc1IGgyMiBtLTYgLTUgNiA1IC02IDUiIGZpbGw9Im5vbmUiIHN0eWxlPSJzdHJva2U6Izk0YTNiOCIvPjxyZWN0IHg9IjI5NCIgeT0iMzAiIHdpZHRoPSIyNDAiIGhlaWdodD0iOTAiIHJ4PSIxMCIgc3R5bGU9ImZpbGw6IzBmMTcyYTtzdHJva2U6Izk0YTNiOCIvPjx0ZXh0IHg9IjQxNCIgeT0iNjUiIHRleHQtYW5jaG9yPSJtaWRkbGUiIHN0eWxlPSJmb250OiA2NTAgMTMuNXB4IEludGVyLCBzYW5zLXNlcmlmOyBmaWxsOiAjZjFmNWY5Ij5UZW5zb3I5IGFkYXB0ZXI8L3RleHQ+PHRleHQgeD0iNDE0IiB5PSI5MiIgdGV4dC1hbmNob3I9Im1pZGRsZSIgc3R5bGU9ImZvbnQ6IDExcHggSW50ZXIsIHNhbnMtc2VyaWY7IGZpbGw6ICM5NGEzYjgiPmhvbGRzIHByb3ZpZGVyIGNyZWRlbnRpYWxzPC90ZXh0PjxwYXRoIGQ9Ik01MzcgNzUgaDIyIG0tNiAtNSA2IDUgLTYgNSIgZmlsbD0ibm9uZSIgc3R5bGU9InN0cm9rZTojOTRhM2I4Ii8+PHJlY3QgeD0iNTY0IiB5PSIzMCIgd2lkdGg9IjI0MCIgaGVpZ2h0PSI5MCIgcng9IjEwIiBzdHlsZT0iZmlsbDojMGYxNzJhO3N0cm9rZTojOTRhM2I4Ii8+PHRleHQgeD0iNjg0IiB5PSI2NSIgdGV4dC1hbmNob3I9Im1pZGRsZSIgc3R5bGU9ImZvbnQ6IDY1MCAxMy41cHggSW50ZXIsIHNhbnMtc2VyaWY7IGZpbGw6ICNmMWY1ZjkiPkNsb3VkIEROUzwvdGV4dD48dGV4dCB4PSI2ODQiIHk9IjkyIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBzdHlsZT0iZm9udDogMTFweCBJbnRlciwgc2Fucy1zZXJpZjsgZmlsbDogIzk0YTNiOCI+YXV0aG9yaXRhdGl2ZSByZWNvcmQgc3RvcmU8L3RleHQ+PC9zdmc+)

Record changes go through the adapter; DNS queries go straight to the provider.

#### Zones and records

With Infrastructure-only adaptation, a declared zone becomes a managed zone, and an explicit lookup uses an existing Cloud DNS managed-zone name, which can differ from the DNS domain. Private zones attached to the target VPC network are supported at deployment. The runtime adapter manages its own public zones and reports the nameservers Google assigns. Looking up an existing zone does not transfer its ownership to the adapter. Do not let another controller write to the same zone; a previously seen zone that goes missing or is replaced needs explicit repair.

The runtime adapter supports A, AAAA, CAA, CNAME, DS, HTTPS, MX, NAPTR, NS, PTR, SOA, SPF, SRV, SSHFP, SVCB, TLSA and TXT, keeping all values in an ordinary record set. Publishing DNSSEC-related records does not configure signing or key management. Infrastructure-only adaptation converts deprecated `SPF` declarations to `TXT` and defaults an unset TTL to 300 seconds.

#### Aliases and routing

An infrastructure alias resolves to the referenced resource's address on the target cloud. Cloud DNS also offers an apex ALIAS type for public zones, but that is separate from resolving a resource reference at deployment. Route 53 target-health evaluation is not kept, and runtime `AliasTarget` requests are not supported.

Weighted, latency, failover, geolocation and other Route 53 routing policies are not supported. Deployment can keep a record's name, type and values while reporting the dropped policy. Cloud DNS has its own routing policies, but this mapping does not configure them. Multiple values in an ordinary record do not reproduce health-checked or weighted routing.

#### Runtime changes

Your application sends Route 53 API requests to the Tensor9 adapter, which records each change and applies it with the provider credential it holds. `ChangeResourceRecordSets` returns a change receipt; `GetChange` reports `PENDING` until the provider has applied the change, then `INSYNC`.

`INSYNC` means the provider has applied the change. It does not guarantee that every authoritative server has observed the change or that recursive caches have expired, so keep polling for completion and allow for DNS caching during cutover.

Google applies a change batch all at once, and the adapter still waits for Google to report completion before it finishes the receipt. Creating and deleting public zones, reading their nameservers and changing records all use the same managed zone; deployment support for private zones does not mean the runtime adapter manages private zones.

#### Limitations

Where Cloud DNS and Route 53 differ

* **Health checks are not supported.** The Cloud DNS mapping leaves standalone Route 53 health checks out and reports them.
* **Delegation sets and Resolver resources are not supported.** They are outside the zones-and-records mapping. The separate [Resolver page](https://docs.tensor9.com/cloud-adapter-early-access/service-catalog/aws/networking-traffic/route53-resolver.md) describes hybrid DNS.
* **Very large zones are not supported by the runtime adapter.** The native record inventory and change history must each fit in one response; paged native results are rejected. This is separate from paging in the Route 53 record-list API.
* **You must keep Google's assigned apex nameservers.** Supported apex TTL and SOA updates cannot reassign them, and deleting the apex NS or SOA records on their own is rejected. DS records at the zone apex and SOA records below it are rejected. Remove ordinary records before deleting the zone.

#### Other considerations

* **Private zones and consumers.** Confirm DNS access from the network for a private zone, and update external consumers of AWS zone IDs or nameservers. A new public zone needs delegation to its Google nameservers.
* **Moving from AWS.** Apply the records you need, check the authoritative answers, then update public nameserver delegation if the provider changes. Keep the previous zone available while cached records and delegation expire. Only declared records are applied; an existing zone and its query history are not copied.
* **When the Cloud Adapter deployment is down.** Record changes need the Cloud Adapter deployment and its provider credentials. Records already applied keep answering from the provider.
* **Other DNS writers.** Certificate-validation records are coordinated with certificate management. Review external DNS controllers and any credentials they used before.

#### Example monthly charges

This Tensor9 Cloud Adapter scenario estimates service charges for the named origin and target services. Adapter hosting and commercial Tensor9 fees need separate allocations. [How Tensor9 estimates costs](https://docs.tensor9.com/cloud-adapter-early-access/costs/overview.md) explains the method and what the estimates include.

##### Authoritative DNS zones and queries (Route 53) · Authoritative DNS queries per second

Feature: Authoritative DNS zones and queries (Route 53).

Estimated monthly service charges by Authoritative DNS queries per second. Adapter hosting and Tensor9 fees are excluded. Source: us-east-1; target: us-central1; currency: USD.

![Authoritative DNS zones and queries (Route 53) · Authoritative DNS queries per second: monthly service charges by Authoritative DNS queries per second. Exact values are in the following table.](https://docs.tensor9.com/images/cloud-adapter-early-access/diagrams/service-cost/ef5dd80113502d4366b9662fab47db26e54882a9041d9b3ef45033cd38fd9fdb-light.svg)

![Authoritative DNS zones and queries (Route 53) · Authoritative DNS queries per second: monthly service charges by Authoritative DNS queries per second. Exact values are in the following table.](https://docs.tensor9.com/images/cloud-adapter-early-access/diagrams/service-cost/27ac743e489e3f0b7724999dbacf316f64941ae239442739e975dbbb8dcd5cf7-dark.svg)

Comparison pills describe all sampled scale points; amounts beside each service are for the named workload. Costs The Same means within 20% at every point. Costs Depend includes mixed results and unpriced samples.

Sampled monthly charges in USD, rounded to cents. Difference means target minus origin; a positive difference means the target costs more.

| Authoritative DNS queries per second (queries/s) | Route53 | Cloud DNS | Difference |
| -: | -: | -: | -: |
| 0 | 0.50 | 0.20 | -0.30 |
| 1 | 1.55 | 1.25 | -0.30 |
| 10 | 11.01 | 10.71 | -0.30 |
| 100 | 105.62 | 105.32 | -0.30 |
| 1,000 | 1,051.70 | 725.80 | -325.90 |
| 10,000 | 10,512.50 | 5,456.20 | -5,056.30 |
| 100,000 | 105,120.50 | 52,760.20 | -52,360.30 |

**Curve assumptions**

| Assumption | Value | Unit |
| - | -: | - |
| Origin list price · Hosted zone allocation | 0.5 | USD/zone-month |
| Origin list price · Authoritative DNS queries | 0.0000004 | USD/Queries |
| Origin list price · DNS management requests | 0 | USD/Requests |
| Target price guess · read | 0 | USD/read |
| Target price guess · write | 0 | USD/write |
| Target list price · provider operation | 0.0000004 | USD/provider operation |
| Target price guess · GiB-month | 0 | USD/GiB-month |
| Target price guess · published GiB | 0 | USD/published GiB |
| Target price guess · delivered GiB | 0 | USD/delivered GiB |
| Target price guess · network GiB | 0 | USD/network GiB |
| Target price guess · replica GiB-month | 0 | USD/replica GiB-month |
| Target price guess · vCPU-hour | 0 | USD/vCPU-hour |
| Target price guess · GiB-hour | 0 | USD/GiB-hour |
| Target price guess · resource-hour | 0 | USD/resource-hour |
| Target list price · resource-month | 0.2 | USD/resource-month |
| Target price guess · input token | 0 | USD/input token |
| Target price guess · output token | 0 | USD/output token |
| Target monthly base charge | 0 | USD/month |
| Approximate target service minimum | 0 | USD/month |
| Minimum primary CPU | 2 | vCPU |
| Minimum primary RAM | 8 | GiB |
| Minimum primary disk | 100 | GiB |
| Additional full-price standby copy | 0 | 0 or 1 |
| Allocated share of provisioned cost | 1 | fraction |
| Read/write work per vCPU-second | 1,500 | operations/vCPU-second |
| Planning peak / mean work | 2 | multiplier |
| Planning primary CPU utilization | 0.7 | fraction |
| Resident state reserved in RAM | 0.1 | fraction |
| Planning disk utilization | 0.8 | fraction |
| Maintenance and log disk reserve | 20 | GiB |
| Staging database CPU unit-price guess | 0.0413 | USD/vCPU-hour |
| Staging database RAM unit-price guess | 0.007 | USD/GiB-hour |
| Staging database disk unit-price guess | 0.17 | USD/GiB-month |
| Dependent object sink storage price guess | 0.023 | USD/GiB-month |
| Dependent object sink write price guess | 0.000005 | USD/write |

* Only this native meter varies; all other source usage and translation assumptions retain the displayed defaults. Other native meters and workload assumptions retain their explicitly displayed default quantities. Workload translation and capacity assumptions are not benchmark measurements.
* Native monthly usage priced at the cited provider list prices; listed target allowances apply where present, excluding invoice credits, taxes and negotiated discounts. Rates as of 2026-10-22: us-east-1 → us-central1, USD/month.
* Source prices are reference charges, not an invoice. Target lines cover selected service usage/configuration only; adapter hosting and Tensor9 fees are excluded.
* Samples of explicit prices are not performance measurements or capacity qualification. No interpolation or break-even guarantee is implied.
* Variant assumptions show the first axis sample; any axis-dependent configuration is described by this curve's workload note.
* Rates are cited provider list prices, editable for discounts, commitments or another region. Workload translation and capacity coefficients remain editable planning assumptions, not benchmark measurements or a commercial quote.
* Default-zero rates are explicit assumptions, not evidence that the deployed service or resource is free.
* Provisioned-unit minimums use an editable approximate allocation floor. Modeled target service cost is max(usage/allocation, minimum), with billable network, durable staging and dependent sinks added separately; actual RU/TU sizing, scaling increments and throughput remain unqualified.
* Durable staging is priced once: provisioned targets include adapter state in their selected allocation; native targets add a separate staging allocation when required. Adapter hosting is a separate allocation and must exclude resources already priced as staging, workers or target capacity.
* A declared adapter mapping and cost model do not establish implementation availability or service equivalence.
* This is a declared directed mapping; a planning estimate does not establish deployment or request-serving support.
* Origin unit prices are cited provider list prices; capacity coefficients and translation assumptions are editable authored planning guesses, not measured capacity or a provider quote.
* Management requests do not reveal resource allocation or workload traffic. Provisioned resources and traffic are independent inputs.
* This compares authoritative zones and query meters; resolver forwarding has a different allocation and price.
* A cost scenario does not establish live-qualified runtime DNS propagation or public authority.
* Zone-months and authoritative queries are billed independently; management calls are free. Cloud DNS managed zones and regular queries; zone prices step down at 25 and 10,000 zones, query prices after one billion. Routing policy queries cost more. Cloud DNS bills no data transfer.
* AWS Price List API, AmazonRoute53 offer: [https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AmazonRoute53/current/aws-other/index.json](https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AmazonRoute53/current/aws-other/index.json)
* Amazon Route 53 pricing: [https://aws.amazon.com/route53/pricing/](https://aws.amazon.com/route53/pricing/)
* Cloud DNS pricing: [https://cloud.google.com/dns/pricing](https://cloud.google.com/dns/pricing)

Cost scope: Modeled target native service and explicitly modeled state allocation; hosting and Tensor9 fees only when supplied.

Excluded costs and workload features:

* Health checks, DNSSEC premiums, resolver endpoints, query logs, domain registration and routing-policy premiums.
* Taxes, discounts, credits and free-tier allowances not explicitly listed by this model.
* Unmodeled dependent services, task execution and operations outside the selected workload family.

List prices read: 2026-10-22. Model: `plan-bc96b4c81d9aeb673035e632cdbd5ab340d4a1cd` / `2026-10-22.planning.2`. Curve: `workload-1`.

Sources: [AWS Price List API, AmazonRoute53 offer](https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AmazonRoute53/current/aws-other/index.json), [Amazon Route 53 pricing](https://aws.amazon.com/route53/pricing/), [Cloud DNS pricing](https://cloud.google.com/dns/pricing).

**Authoritative DNS zones and queries (Route 53) → Cloud DNS: Authored native-usage planning example.** Native monthly usage priced at the cited provider list prices; listed target allowances apply where present, excluding invoice credits, taxes and negotiated discounts.

Scenario source region: us-east-1. Scenario target region: us-central1. Currency: USD.

| Monthly component | USD |
| - | -: |
| Origin: Hosted zone allocation | 0.50 |
| Origin: Authoritative DNS queries | 40.00 |
| Origin: DNS management requests | 0.00 |
| Target: Target native provider operations | 40.00 |
| Target: Execution or worker CPU | 0.00 |
| Target: Execution or worker RAM | 0.00 |
| Target: Selected billable network | 0.00 |
| Target: Independent native resources | 0.00 |
| Target: Independent native resources | 0.20 |
| **Origin service subtotal** | **40.50** |
| **Target service subtotal** | **40.20** |

Unestimated components: Adapter hosting, Tensor9 fees. A modeled adapted total and savings require these costs.

Cost scope: Modeled target native service and explicitly modeled state allocation; hosting and Tensor9 fees only when supplied.

Excluded costs and workload features:

* Health checks, DNSSEC premiums, resolver endpoints, query logs, domain registration and routing-policy premiums.
* Taxes, discounts, credits and free-tier allowances not explicitly listed by this model.
* Unmodeled dependent services, task execution and operations outside the selected workload family.

**Scenario assumptions**

| Input | Value | Unit |
| - | -: | - |
| Origin list price · Hosted zone allocation | 0.5 | USD/zone-month |
| Origin list price · Authoritative DNS queries | 0.0000004 | USD/Queries |
| Origin list price · DNS management requests | 0 | USD/Requests |
| Target price guess · read | 0 | USD/read |
| Target price guess · write | 0 | USD/write |
| Target list price · provider operation | 0.0000004 | USD/provider operation |
| Target price guess · GiB-month | 0 | USD/GiB-month |
| Target price guess · published GiB | 0 | USD/published GiB |
| Target price guess · delivered GiB | 0 | USD/delivered GiB |
| Target price guess · network GiB | 0 | USD/network GiB |
| Target price guess · replica GiB-month | 0 | USD/replica GiB-month |
| Target price guess · vCPU-hour | 0 | USD/vCPU-hour |
| Target price guess · GiB-hour | 0 | USD/GiB-hour |
| Target price guess · resource-hour | 0 | USD/resource-hour |
| Target list price · resource-month | 0.2 | USD/resource-month |
| Target price guess · input token | 0 | USD/input token |
| Target price guess · output token | 0 | USD/output token |
| Target monthly base charge | 0 | USD/month |
| Approximate target service minimum | 0 | USD/month |
| Minimum primary CPU | 2 | vCPU |
| Minimum primary RAM | 8 | GiB |
| Minimum primary disk | 100 | GiB |
| Additional full-price standby copy | 0 | 0 or 1 |
| Allocated share of provisioned cost | 1 | fraction |
| Read/write work per vCPU-second | 1,500 | operations/vCPU-second |
| Planning peak / mean work | 2 | multiplier |
| Planning primary CPU utilization | 0.7 | fraction |
| Resident state reserved in RAM | 0.1 | fraction |
| Planning disk utilization | 0.8 | fraction |
| Maintenance and log disk reserve | 20 | GiB |
| Staging database CPU unit-price guess | 0.0413 | USD/vCPU-hour |
| Staging database RAM unit-price guess | 0.007 | USD/GiB-hour |
| Staging database disk unit-price guess | 0.17 | USD/GiB-month |
| Dependent object sink storage price guess | 0.023 | USD/GiB-month |
| Dependent object sink write price guess | 0.000005 | USD/write |
| Hosted zone allocation | 1 | zone-month |
| Authoritative DNS queries | 100,000,000 | Queries |
| DNS management requests | 100,000 | Requests |

* Translated reads: 100,000 operations.

* Translated writes: 0 operations.

* Translated resident physical data: 0 GiB-month.

* Native provider operations: 100,000,000 operations.

* Published payload: 0 GiB.

* Delivered payload: 0 GiB.

* Allocated execution CPU: 0 vCPU-hour.

* Allocated execution RAM: 0 GiB-hour.

* Independent resource allocation: 0 resource-hour.

* Independent inventory: 1 resource-month.

* Input tokens: 0 tokens.

* Output tokens: 0 tokens.

* Billable network: 0 GiB.

* Dependent object sink retained data: 0 GiB-month.

* Dependent object sink writes: 0 writes.

* Rates are cited provider list prices, editable for discounts, commitments or another region. Workload translation and capacity coefficients remain editable planning assumptions, not benchmark measurements or a commercial quote.

* Default-zero rates are explicit assumptions, not evidence that the deployed service or resource is free.

* Provisioned-unit minimums use an editable approximate allocation floor. Modeled target service cost is max(usage/allocation, minimum), with billable network, durable staging and dependent sinks added separately; actual RU/TU sizing, scaling increments and throughput remain unqualified.

* Durable staging is priced once: provisioned targets include adapter state in their selected allocation; native targets add a separate staging allocation when required. Adapter hosting is a separate allocation and must exclude resources already priced as staging, workers or target capacity.

* A declared adapter mapping and cost model do not establish implementation availability or service equivalence.

* This is a declared directed mapping; a planning estimate does not establish deployment or request-serving support.

* Origin unit prices are cited provider list prices; capacity coefficients and translation assumptions are editable authored planning guesses, not measured capacity or a provider quote.

* Management requests do not reveal resource allocation or workload traffic. Provisioned resources and traffic are independent inputs.

* This compares authoritative zones and query meters; resolver forwarding has a different allocation and price.

* A cost scenario does not establish live-qualified runtime DNS propagation or public authority.

* Zone-months and authoritative queries are billed independently; management calls are free. Cloud DNS managed zones and regular queries; zone prices step down at 25 and 10,000 zones, query prices after one billion. Routing policy queries cost more. Cloud DNS bills no data transfer.

List prices read: 2026-10-22. Model: `plan-bc96b4c81d9aeb673035e632cdbd5ab340d4a1cd` / `2026-10-22.planning.2`. Scenario: `planning-example`.

Sources: [AWS Price List API, AmazonRoute53 offer](https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AmazonRoute53/current/aws-other/index.json), [Amazon Route 53 pricing](https://aws.amazon.com/route53/pricing/), [Cloud DNS pricing](https://cloud.google.com/dns/pricing).

## On OCI

### OCI DNS

| Operation | Area | Support | Depth | Notes |
| - | - | - | - | - |
| DNS query serving | Data plane | Supported | Common | OCI DNS authoritative servers answer DNS queries directly. Public delegation must identify the selected provider. |
| Health checks | Health & resolver | Out of scope | Most usage | Standalone Route 53 health-check resources are outside this mapping and stop the build. |
| Resolver (endpoints, rules, DNSSEC, firewall, query logs) | Health & resolver | Out of scope | Full surface | Outside this zones-and-records mapping. Endpoints and forwarding rules are covered by the separate Resolver mapping; DNSSEC, DNS Firewall and query-log resources are removed at deployment. |
| Alias records | Records | Partial | Most usage | Infrastructure references resolve to the replacement resource address. Route 53 target-health evaluation is omitted and reported; native apex-alias behavior depends on the selected provider. |
| Multi-value record sets | Records | Supported | Most usage | All values of an ordinary record set are retained. This does not reproduce weighted or health-checked routing. |
| Record management | Records | Supported | Common | The adapter applies supported record creates, updates and deletes through the OCI DNS API. Deployment configuration defaults an unset TTL to 300 seconds. |
| Record types | Records | Supported | Common | A, AAAA, CAA, CNAME, DS, MX, NAPTR, NS, PTR, SPF, SRV, SSHFP, TLSA and TXT. OCI maintains the zone’s SOA and assigned apex nameservers. HTTPS and SVCB are not included in this documented OCI mapping. An unrecognized type stops the deploy with a clear error. |
| Runtime record changes | Records | Supported | Most usage | The application uses the Route 53 API through the adapter, which holds the provider credential. PENDING becomes INSYNC after the backend applies the change; this does not certify global DNS propagation or cache expiry. |
| Routing policies (weighted / latency / failover / geolocation / multivalue) | Routing | Out of scope | Most usage | Outside this mapping. Infrastructure translation can retain ordinary record data while reporting omitted routing behavior; the provider's native routing service is not configured by that omission. |
| Delegation sets | Zones | Out of scope | Full surface | Reusable AWS delegation sets are outside this mapping; unsupported resource declarations stop the build. |
| Hosted zones | Zones | Partial | Common | The zone must already exist at OCI DNS and is looked up by domain name; this mapping manages records within it. |
| Private hosted zones | Zones | Out of scope | Most usage | Private-zone configuration is outside this selected public-zone mapping. A VPC-associated declaration stops the build. |

#### How it works

Tensor9 applies the Route 53 records you declare to an existing OCI DNS zone in your compartment. The Cloud Adapter deployment holds the OCI credential. OCI's authoritative servers answer public DNS queries directly.

![Your application sends Route 53 record changes to the Tensor9 adapter, which applies them to OCI DNS with the provider credential it holds. DNS queries go straight to OCI DNS.](data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI4MzYiIGhlaWdodD0iMTUwIiB2aWV3Qm94PSIwIDAgODM2IDE1MCIgcm9sZT0iaW1nIiBhcmlhLWxhYmVsPSJZb3VyIGFwcGxpY2F0aW9uIHNlbmRzIFJvdXRlIDUzIHJlY29yZCBjaGFuZ2VzIHRvIHRoZSBUZW5zb3I5IGFkYXB0ZXIsIHdoaWNoIGFwcGxpZXMgdGhlbSB0byBPQ0kgRE5TIHdpdGggdGhlIHByb3ZpZGVyIGNyZWRlbnRpYWwgaXQgaG9sZHMuIEROUyBxdWVyaWVzIGdvIHN0cmFpZ2h0IHRvIE9DSSBETlMuIj48c3R5bGU+dGV4dHtmb250LWZhbWlseTpJbnRlciwtYXBwbGUtc3lzdGVtLEJsaW5rTWFjU3lzdGVtRm9udCwnU2Vnb2UgVUknLFJvYm90bywnSGVsdmV0aWNhIE5ldWUnLEFyaWFsLHNhbnMtc2VyaWY7ZmlsbDojMzM0MTU1fTwvc3R5bGU+PHJlY3QgeD0iMjQiIHk9IjMwIiB3aWR0aD0iMjQwIiBoZWlnaHQ9IjkwIiByeD0iMTAiIHN0eWxlPSJmaWxsOiNmOGZhZmM7c3Ryb2tlOiM2NDc0OGIiLz48dGV4dCB4PSIxNDQiIHk9IjY1IiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBzdHlsZT0iZm9udDogNjUwIDEzLjVweCBJbnRlciwgc2Fucy1zZXJpZjsgZmlsbDogIzBmMTcyYSI+QXBwbGljYXRpb248L3RleHQ+PHRleHQgeD0iMTQ0IiB5PSI5MiIgdGV4dC1hbmNob3I9Im1pZGRsZSIgc3R5bGU9ImZvbnQ6IDExcHggSW50ZXIsIHNhbnMtc2VyaWY7IGZpbGw6ICM2NDc0OGIiPlJvdXRlIDUzIHJlY29yZC1jaGFuZ2UgQVBJPC90ZXh0PjxwYXRoIGQ9Ik0yNjcgNzUgaDIyIG0tNiAtNSA2IDUgLTYgNSIgZmlsbD0ibm9uZSIgc3R5bGU9InN0cm9rZTojNjQ3NDhiIi8+PHJlY3QgeD0iMjk0IiB5PSIzMCIgd2lkdGg9IjI0MCIgaGVpZ2h0PSI5MCIgcng9IjEwIiBzdHlsZT0iZmlsbDojZjhmYWZjO3N0cm9rZTojNjQ3NDhiIi8+PHRleHQgeD0iNDE0IiB5PSI2NSIgdGV4dC1hbmNob3I9Im1pZGRsZSIgc3R5bGU9ImZvbnQ6IDY1MCAxMy41cHggSW50ZXIsIHNhbnMtc2VyaWY7IGZpbGw6ICMwZjE3MmEiPlRlbnNvcjkgYWRhcHRlcjwvdGV4dD48dGV4dCB4PSI0MTQiIHk9IjkyIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBzdHlsZT0iZm9udDogMTFweCBJbnRlciwgc2Fucy1zZXJpZjsgZmlsbDogIzY0NzQ4YiI+aG9sZHMgcHJvdmlkZXIgY3JlZGVudGlhbHM8L3RleHQ+PHBhdGggZD0iTTUzNyA3NSBoMjIgbS02IC01IDYgNSAtNiA1IiBmaWxsPSJub25lIiBzdHlsZT0ic3Ryb2tlOiM2NDc0OGIiLz48cmVjdCB4PSI1NjQiIHk9IjMwIiB3aWR0aD0iMjQwIiBoZWlnaHQ9IjkwIiByeD0iMTAiIHN0eWxlPSJmaWxsOiNmOGZhZmM7c3Ryb2tlOiM2NDc0OGIiLz48dGV4dCB4PSI2ODQiIHk9IjY1IiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBzdHlsZT0iZm9udDogNjUwIDEzLjVweCBJbnRlciwgc2Fucy1zZXJpZjsgZmlsbDogIzBmMTcyYSI+T0NJIEROUzwvdGV4dD48dGV4dCB4PSI2ODQiIHk9IjkyIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBzdHlsZT0iZm9udDogMTFweCBJbnRlciwgc2Fucy1zZXJpZjsgZmlsbDogIzY0NzQ4YiI+YXV0aG9yaXRhdGl2ZSByZWNvcmQgc3RvcmU8L3RleHQ+PC9zdmc+)

![Your application sends Route 53 record changes to the Tensor9 adapter, which applies them to OCI DNS with the provider credential it holds. DNS queries go straight to OCI DNS.](data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI4MzYiIGhlaWdodD0iMTUwIiB2aWV3Qm94PSIwIDAgODM2IDE1MCIgcm9sZT0iaW1nIiBhcmlhLWxhYmVsPSJZb3VyIGFwcGxpY2F0aW9uIHNlbmRzIFJvdXRlIDUzIHJlY29yZCBjaGFuZ2VzIHRvIHRoZSBUZW5zb3I5IGFkYXB0ZXIsIHdoaWNoIGFwcGxpZXMgdGhlbSB0byBPQ0kgRE5TIHdpdGggdGhlIHByb3ZpZGVyIGNyZWRlbnRpYWwgaXQgaG9sZHMuIEROUyBxdWVyaWVzIGdvIHN0cmFpZ2h0IHRvIE9DSSBETlMuIj48c3R5bGU+dGV4dHtmb250LWZhbWlseTpJbnRlciwtYXBwbGUtc3lzdGVtLEJsaW5rTWFjU3lzdGVtRm9udCwnU2Vnb2UgVUknLFJvYm90bywnSGVsdmV0aWNhIE5ldWUnLEFyaWFsLHNhbnMtc2VyaWY7ZmlsbDojY2JkNWUxfTwvc3R5bGU+PHJlY3QgeD0iMjQiIHk9IjMwIiB3aWR0aD0iMjQwIiBoZWlnaHQ9IjkwIiByeD0iMTAiIHN0eWxlPSJmaWxsOiMwZjE3MmE7c3Ryb2tlOiM5NGEzYjgiLz48dGV4dCB4PSIxNDQiIHk9IjY1IiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBzdHlsZT0iZm9udDogNjUwIDEzLjVweCBJbnRlciwgc2Fucy1zZXJpZjsgZmlsbDogI2YxZjVmOSI+QXBwbGljYXRpb248L3RleHQ+PHRleHQgeD0iMTQ0IiB5PSI5MiIgdGV4dC1hbmNob3I9Im1pZGRsZSIgc3R5bGU9ImZvbnQ6IDExcHggSW50ZXIsIHNhbnMtc2VyaWY7IGZpbGw6ICM5NGEzYjgiPlJvdXRlIDUzIHJlY29yZC1jaGFuZ2UgQVBJPC90ZXh0PjxwYXRoIGQ9Ik0yNjcgNzUgaDIyIG0tNiAtNSA2IDUgLTYgNSIgZmlsbD0ibm9uZSIgc3R5bGU9InN0cm9rZTojOTRhM2I4Ii8+PHJlY3QgeD0iMjk0IiB5PSIzMCIgd2lkdGg9IjI0MCIgaGVpZ2h0PSI5MCIgcng9IjEwIiBzdHlsZT0iZmlsbDojMGYxNzJhO3N0cm9rZTojOTRhM2I4Ii8+PHRleHQgeD0iNDE0IiB5PSI2NSIgdGV4dC1hbmNob3I9Im1pZGRsZSIgc3R5bGU9ImZvbnQ6IDY1MCAxMy41cHggSW50ZXIsIHNhbnMtc2VyaWY7IGZpbGw6ICNmMWY1ZjkiPlRlbnNvcjkgYWRhcHRlcjwvdGV4dD48dGV4dCB4PSI0MTQiIHk9IjkyIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBzdHlsZT0iZm9udDogMTFweCBJbnRlciwgc2Fucy1zZXJpZjsgZmlsbDogIzk0YTNiOCI+aG9sZHMgcHJvdmlkZXIgY3JlZGVudGlhbHM8L3RleHQ+PHBhdGggZD0iTTUzNyA3NSBoMjIgbS02IC01IDYgNSAtNiA1IiBmaWxsPSJub25lIiBzdHlsZT0ic3Ryb2tlOiM5NGEzYjgiLz48cmVjdCB4PSI1NjQiIHk9IjMwIiB3aWR0aD0iMjQwIiBoZWlnaHQ9IjkwIiByeD0iMTAiIHN0eWxlPSJmaWxsOiMwZjE3MmE7c3Ryb2tlOiM5NGEzYjgiLz48dGV4dCB4PSI2ODQiIHk9IjY1IiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBzdHlsZT0iZm9udDogNjUwIDEzLjVweCBJbnRlciwgc2Fucy1zZXJpZjsgZmlsbDogI2YxZjVmOSI+T0NJIEROUzwvdGV4dD48dGV4dCB4PSI2ODQiIHk9IjkyIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBzdHlsZT0iZm9udDogMTFweCBJbnRlciwgc2Fucy1zZXJpZjsgZmlsbDogIzk0YTNiOCI+YXV0aG9yaXRhdGl2ZSByZWNvcmQgc3RvcmU8L3RleHQ+PC9zdmc+)

Record changes go through the adapter; DNS queries go straight to the provider.

#### Zones, records and aliases

The zone is looked up by domain name and must already exist. The documented record types are A, AAAA, CAA, CNAME, DS, MX, NAPTR, NS, PTR, SPF, SRV, SSHFP, TLSA and TXT. All values in an ordinary record set are kept, and an unset deployment TTL defaults to 300 seconds. OCI retains the deprecated `SPF` type and maintains the zone’s SOA and assigned apex nameservers. `HTTPS` and `SVCB` are not included in this documented OCI mapping.

An infrastructure alias resolves a resource reference to its address on the target cloud. OCI also offers a native ALIAS pseudo-type at a public zone's apex; that is separate from resolving a deployment reference. Route 53 alias target-health evaluation is dropped, and multiple address values do not by themselves give health-checked routing.

#### Runtime changes

Your application sends Route 53 API requests to the Tensor9 adapter, which records each change and applies it with the provider credential it holds. `ChangeResourceRecordSets` returns a change receipt; `GetChange` reports `PENDING` until the provider has applied the change, then `INSYNC`.

`INSYNC` means the provider has applied the change. It does not guarantee that every authoritative server has observed the change or that recursive caches have expired, so keep polling for completion and allow for DNS caching during cutover.

#### Limitations

Where OCI DNS and Route 53 differ

* **Route 53 routing policies are not supported.** They are left out and reported, while ordinary record data is still applied. OCI's separate traffic-steering and health-check services are not configured by this mapping.
* **Route 53 health checks are not supported.** A standalone health-check resource stops the build for this backend.
* **Private zones, delegation sets and Resolver resources are not supported.** They are outside this zones-and-records mapping. OCI private DNS and the separate Resolver mapping have their own configuration; this does not mean OCI lacks private DNS.

#### Other considerations

* **Moving from AWS.** Apply the records you need, check the authoritative answers, then update public nameserver delegation if the provider changes. Keep the previous zone available while cached records and delegation expire. Only declared records are applied; an existing zone and its query history are not copied.
* **When the Cloud Adapter deployment is down.** Record changes need the Cloud Adapter deployment and its provider credentials. Records already applied keep answering from the provider.
* **Other DNS writers.** Certificate-validation records are coordinated with certificate management. Review external DNS controllers and any credentials they used before.

#### Example monthly charges

This Tensor9 Cloud Adapter scenario estimates service charges for the named origin and target services. Adapter hosting and commercial Tensor9 fees need separate allocations. [How Tensor9 estimates costs](https://docs.tensor9.com/cloud-adapter-early-access/costs/overview.md) explains the method and what the estimates include.

##### Authoritative DNS zones and queries (Route 53) · Authoritative DNS queries per second

Feature: Authoritative DNS zones and queries (Route 53).

Estimated monthly service charges by Authoritative DNS queries per second. Adapter hosting and Tensor9 fees are excluded. Source: us-east-1; target: us-ashburn-1; currency: USD.

![Authoritative DNS zones and queries (Route 53) · Authoritative DNS queries per second: monthly service charges by Authoritative DNS queries per second. Exact values are in the following table.](https://docs.tensor9.com/images/cloud-adapter-early-access/diagrams/service-cost/f8a2d968a0994d043f7b6ef935391b22bb0e2a20bb086b408ba888b70de83e5c-light.svg)

![Authoritative DNS zones and queries (Route 53) · Authoritative DNS queries per second: monthly service charges by Authoritative DNS queries per second. Exact values are in the following table.](https://docs.tensor9.com/images/cloud-adapter-early-access/diagrams/service-cost/77b65dd91a84f6ac4c01f08616a34b78e66c263a835b4d503fb0a704056c8499-dark.svg)

Comparison pills describe all sampled scale points; amounts beside each service are for the named workload. Costs The Same means within 20% at every point. Costs Depend includes mixed results and unpriced samples.

Sampled monthly charges in USD, rounded to cents. Difference means target minus origin; a positive difference means the target costs more.

| Authoritative DNS queries per second (queries/s) | Route53 | OCI DNS | Difference |
| -: | -: | -: | -: |
| 0 | 0.50 | 0.00 | -0.50 |
| 1 | 1.55 | 2.23 | 0.68 |
| 10 | 11.01 | 22.34 | 11.33 |
| 100 | 105.62 | 223.38 | 117.76 |
| 1,000 | 1,051.70 | 2,233.80 | 1,182.10 |
| 10,000 | 10,512.50 | 22,338.00 | 11,825.50 |
| 100,000 | 105,120.50 | 223,380.00 | 118,259.50 |

**Curve assumptions**

| Assumption | Value | Unit |
| - | -: | - |
| Origin list price · Hosted zone allocation | 0.5 | USD/zone-month |
| Origin list price · Authoritative DNS queries | 0.0000004 | USD/Queries |
| Origin list price · DNS management requests | 0 | USD/Requests |
| Target price guess · read | 0 | USD/read |
| Target price guess · write | 0 | USD/write |
| Target list price · provider operation | 0.00000085 | USD/provider operation |
| Target price guess · GiB-month | 0 | USD/GiB-month |
| Target price guess · published GiB | 0 | USD/published GiB |
| Target price guess · delivered GiB | 0 | USD/delivered GiB |
| Target price guess · network GiB | 0 | USD/network GiB |
| Target price guess · replica GiB-month | 0 | USD/replica GiB-month |
| Target price guess · vCPU-hour | 0 | USD/vCPU-hour |
| Target price guess · GiB-hour | 0 | USD/GiB-hour |
| Target price guess · resource-hour | 0 | USD/resource-hour |
| Target price guess · resource-month | 0 | USD/resource-month |
| Target price guess · input token | 0 | USD/input token |
| Target price guess · output token | 0 | USD/output token |
| Target monthly base charge | 0 | USD/month |
| Approximate target service minimum | 0 | USD/month |
| Minimum primary CPU | 2 | vCPU |
| Minimum primary RAM | 8 | GiB |
| Minimum primary disk | 100 | GiB |
| Additional full-price standby copy | 0 | 0 or 1 |
| Allocated share of provisioned cost | 1 | fraction |
| Read/write work per vCPU-second | 1,500 | operations/vCPU-second |
| Planning peak / mean work | 2 | multiplier |
| Planning primary CPU utilization | 0.7 | fraction |
| Resident state reserved in RAM | 0.1 | fraction |
| Planning disk utilization | 0.8 | fraction |
| Maintenance and log disk reserve | 20 | GiB |
| Staging database CPU unit-price guess | 0.0413 | USD/vCPU-hour |
| Staging database RAM unit-price guess | 0.007 | USD/GiB-hour |
| Staging database disk unit-price guess | 0.17 | USD/GiB-month |
| Dependent object sink storage price guess | 0.023 | USD/GiB-month |
| Dependent object sink write price guess | 0.000005 | USD/write |

* Only this native meter varies; all other source usage and translation assumptions retain the displayed defaults. Other native meters and workload assumptions retain their explicitly displayed default quantities. Workload translation and capacity assumptions are not benchmark measurements.
* Native monthly usage priced at the cited provider list prices; listed target allowances apply where present, excluding invoice credits, taxes and negotiated discounts. Rates as of 2026-10-22: us-east-1 → us-ashburn-1, USD/month.
* Source prices are reference charges, not an invoice. Target lines cover selected service usage/configuration only; adapter hosting and Tensor9 fees are excluded.
* Samples of explicit prices are not performance measurements or capacity qualification. No interpolation or break-even guarantee is implied.
* Variant assumptions show the first axis sample; any axis-dependent configuration is described by this curve's workload note.
* Rates are cited provider list prices, editable for discounts, commitments or another region. Workload translation and capacity coefficients remain editable planning assumptions, not benchmark measurements or a commercial quote.
* Default-zero rates are explicit assumptions, not evidence that the deployed service or resource is free.
* Provisioned-unit minimums use an editable approximate allocation floor. Modeled target service cost is max(usage/allocation, minimum), with billable network, durable staging and dependent sinks added separately; actual RU/TU sizing, scaling increments and throughput remain unqualified.
* Durable staging is priced once: provisioned targets include adapter state in their selected allocation; native targets add a separate staging allocation when required. Adapter hosting is a separate allocation and must exclude resources already priced as staging, workers or target capacity.
* A declared adapter mapping and cost model do not establish implementation availability or service equivalence.
* This is a declared directed mapping; a planning estimate does not establish deployment or request-serving support.
* Origin unit prices are cited provider list prices; capacity coefficients and translation assumptions are editable authored planning guesses, not measured capacity or a provider quote.
* Management requests do not reveal resource allocation or workload traffic. Provisioned resources and traffic are independent inputs.
* This compares authoritative zones and query meters; resolver forwarding has a different allocation and price.
* A cost scenario does not establish live-qualified runtime DNS propagation or public authority.
* OCI DNS bills authoritative queries only; the price list has no per-zone charge. Traffic management queries cost more.
* AWS Price List API, AmazonRoute53 offer: [https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AmazonRoute53/current/aws-other/index.json](https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AmazonRoute53/current/aws-other/index.json)
* Amazon Route 53 pricing: [https://aws.amazon.com/route53/pricing/](https://aws.amazon.com/route53/pricing/)
* OCI price list API: [https://apexapps.oracle.com/pls/apex/cetools/api/v1/products/?currencyCode=USD](https://apexapps.oracle.com/pls/apex/cetools/api/v1/products/?currencyCode=USD)

Cost scope: Modeled target native service and explicitly modeled state allocation; hosting and Tensor9 fees only when supplied.

Excluded costs and workload features:

* Health checks, DNSSEC premiums, resolver endpoints, query logs, domain registration and routing-policy premiums.
* Taxes, discounts, credits and free-tier allowances not explicitly listed by this model.
* Unmodeled dependent services, task execution and operations outside the selected workload family.

List prices read: 2026-10-22. Model: `plan-ee40e35d319a19f9bbdbba556f2be4d11b13bd9e` / `2026-10-22.planning.2`. Curve: `workload-1`.

Sources: [AWS Price List API, AmazonRoute53 offer](https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AmazonRoute53/current/aws-other/index.json), [Amazon Route 53 pricing](https://aws.amazon.com/route53/pricing/), [OCI price list API](https://apexapps.oracle.com/pls/apex/cetools/api/v1/products/?currencyCode=USD).

**Authoritative DNS zones and queries (Route 53) → OCI DNS: Authored native-usage planning example.** Native monthly usage priced at the cited provider list prices; listed target allowances apply where present, excluding invoice credits, taxes and negotiated discounts.

Scenario source region: us-east-1. Scenario target region: us-ashburn-1. Currency: USD.

| Monthly component | USD |
| - | -: |
| Origin: Hosted zone allocation | 0.50 |
| Origin: Authoritative DNS queries | 40.00 |
| Origin: DNS management requests | 0.00 |
| Target: Target native provider operations | 85.00 |
| Target: Execution or worker CPU | 0.00 |
| Target: Execution or worker RAM | 0.00 |
| Target: Selected billable network | 0.00 |
| Target: Independent native resources | 0.00 |
| Target: Independent native resources | 0.00 |
| **Origin service subtotal** | **40.50** |
| **Target service subtotal** | **85.00** |

Unestimated components: Adapter hosting, Tensor9 fees. A modeled adapted total and savings require these costs.

Cost scope: Modeled target native service and explicitly modeled state allocation; hosting and Tensor9 fees only when supplied.

Excluded costs and workload features:

* Health checks, DNSSEC premiums, resolver endpoints, query logs, domain registration and routing-policy premiums.
* Taxes, discounts, credits and free-tier allowances not explicitly listed by this model.
* Unmodeled dependent services, task execution and operations outside the selected workload family.

**Scenario assumptions**

| Input | Value | Unit |
| - | -: | - |
| Origin list price · Hosted zone allocation | 0.5 | USD/zone-month |
| Origin list price · Authoritative DNS queries | 0.0000004 | USD/Queries |
| Origin list price · DNS management requests | 0 | USD/Requests |
| Target price guess · read | 0 | USD/read |
| Target price guess · write | 0 | USD/write |
| Target list price · provider operation | 0.00000085 | USD/provider operation |
| Target price guess · GiB-month | 0 | USD/GiB-month |
| Target price guess · published GiB | 0 | USD/published GiB |
| Target price guess · delivered GiB | 0 | USD/delivered GiB |
| Target price guess · network GiB | 0 | USD/network GiB |
| Target price guess · replica GiB-month | 0 | USD/replica GiB-month |
| Target price guess · vCPU-hour | 0 | USD/vCPU-hour |
| Target price guess · GiB-hour | 0 | USD/GiB-hour |
| Target price guess · resource-hour | 0 | USD/resource-hour |
| Target price guess · resource-month | 0 | USD/resource-month |
| Target price guess · input token | 0 | USD/input token |
| Target price guess · output token | 0 | USD/output token |
| Target monthly base charge | 0 | USD/month |
| Approximate target service minimum | 0 | USD/month |
| Minimum primary CPU | 2 | vCPU |
| Minimum primary RAM | 8 | GiB |
| Minimum primary disk | 100 | GiB |
| Additional full-price standby copy | 0 | 0 or 1 |
| Allocated share of provisioned cost | 1 | fraction |
| Read/write work per vCPU-second | 1,500 | operations/vCPU-second |
| Planning peak / mean work | 2 | multiplier |
| Planning primary CPU utilization | 0.7 | fraction |
| Resident state reserved in RAM | 0.1 | fraction |
| Planning disk utilization | 0.8 | fraction |
| Maintenance and log disk reserve | 20 | GiB |
| Staging database CPU unit-price guess | 0.0413 | USD/vCPU-hour |
| Staging database RAM unit-price guess | 0.007 | USD/GiB-hour |
| Staging database disk unit-price guess | 0.17 | USD/GiB-month |
| Dependent object sink storage price guess | 0.023 | USD/GiB-month |
| Dependent object sink write price guess | 0.000005 | USD/write |
| Hosted zone allocation | 1 | zone-month |
| Authoritative DNS queries | 100,000,000 | Queries |
| DNS management requests | 100,000 | Requests |

* Translated reads: 100,000 operations.

* Translated writes: 0 operations.

* Translated resident physical data: 0 GiB-month.

* Native provider operations: 100,000,000 operations.

* Published payload: 0 GiB.

* Delivered payload: 0 GiB.

* Allocated execution CPU: 0 vCPU-hour.

* Allocated execution RAM: 0 GiB-hour.

* Independent resource allocation: 0 resource-hour.

* Independent inventory: 1 resource-month.

* Input tokens: 0 tokens.

* Output tokens: 0 tokens.

* Billable network: 0 GiB.

* Dependent object sink retained data: 0 GiB-month.

* Dependent object sink writes: 0 writes.

* Rates are cited provider list prices, editable for discounts, commitments or another region. Workload translation and capacity coefficients remain editable planning assumptions, not benchmark measurements or a commercial quote.

* Default-zero rates are explicit assumptions, not evidence that the deployed service or resource is free.

* Provisioned-unit minimums use an editable approximate allocation floor. Modeled target service cost is max(usage/allocation, minimum), with billable network, durable staging and dependent sinks added separately; actual RU/TU sizing, scaling increments and throughput remain unqualified.

* Durable staging is priced once: provisioned targets include adapter state in their selected allocation; native targets add a separate staging allocation when required. Adapter hosting is a separate allocation and must exclude resources already priced as staging, workers or target capacity.

* A declared adapter mapping and cost model do not establish implementation availability or service equivalence.

* This is a declared directed mapping; a planning estimate does not establish deployment or request-serving support.

* Origin unit prices are cited provider list prices; capacity coefficients and translation assumptions are editable authored planning guesses, not measured capacity or a provider quote.

* Management requests do not reveal resource allocation or workload traffic. Provisioned resources and traffic are independent inputs.

* This compares authoritative zones and query meters; resolver forwarding has a different allocation and price.

* A cost scenario does not establish live-qualified runtime DNS propagation or public authority.

* OCI DNS bills authoritative queries only; the price list has no per-zone charge. Traffic management queries cost more.

List prices read: 2026-10-22. Model: `plan-ee40e35d319a19f9bbdbba556f2be4d11b13bd9e` / `2026-10-22.planning.2`. Scenario: `planning-example`.

Sources: [AWS Price List API, AmazonRoute53 offer](https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AmazonRoute53/current/aws-other/index.json), [Amazon Route 53 pricing](https://aws.amazon.com/route53/pricing/), [OCI price list API](https://apexapps.oracle.com/pls/apex/cetools/api/v1/products/?currencyCode=USD).

## On Private Kubernetes

### Route 53 (any cloud)

| Operation | Area | Support | Depth | Notes |
| - | - | - | - | - |
| DNS query serving | Data plane | Supported | Common | Route 53 authoritative servers answer DNS queries directly. Public delegation must identify the selected provider. |
| Health checks | Health & resolver | Out of scope | Most usage | Standalone Route 53 health-check resources are outside this mapping and stop the build. |
| Resolver (endpoints, rules, DNSSEC, firewall, query logs) | Health & resolver | Out of scope | Full surface | Outside this zones-and-records mapping. See the separate Resolver mapping for hybrid DNS; unsupported standalone resources stop the build. |
| Alias records | Records | Partial | Most usage | Infrastructure references resolve to the replacement resource address. Route 53 target-health evaluation is omitted and reported; native apex-alias behavior depends on the selected provider. |
| Multi-value record sets | Records | Supported | Most usage | All values of an ordinary record set are retained. This does not reproduce weighted or health-checked routing. |
| Record management | Records | Supported | Common | The adapter applies supported record creates, updates and deletes through the Route 53 API. Deployment configuration defaults an unset TTL to 300 seconds. |
| Record types | Records | Supported | Common | all standard record types; Route 53 keeps the SPF type rather than folding it into TXT; an unrecognized type stops the deploy with a clear error |
| Runtime record changes | Records | Supported | Most usage | The application uses the Route 53 API through the adapter, which holds the provider credential. PENDING becomes INSYNC after the backend applies the change; this does not certify global DNS propagation or cache expiry. |
| Routing policies (weighted / latency / failover / geolocation / multivalue) | Routing | Out of scope | Most usage | Outside this mapping. Infrastructure translation can retain ordinary record data while reporting omitted routing behavior; the provider's native routing service is not configured by that omission. |
| Delegation sets | Zones | Out of scope | Full surface | Reusable AWS delegation sets are outside this mapping; unsupported resource declarations stop the build. |
| Hosted zones | Zones | Partial | Common | The zone must already exist at Route 53 and is looked up by domain name; this mapping manages records within it. |
| Private hosted zones | Zones | Out of scope | Most usage | Private-zone configuration is outside this selected public-zone mapping. A VPC-associated declaration stops the build. |

#### How it works

Your workload can run in the customer's Kubernetes environment while its public DNS zone stays in Route 53. Tensor9 writes the records your stack declares through the Route 53 API, using an AWS credential supplied to the Cloud Adapter deployment. AWS keeps answering DNS queries for the zone, and the nameserver delegation can stay as it is.

![Your application sends Route 53 record changes to the Tensor9 adapter, which applies them in Route 53 with the AWS credential it holds. Route 53 keeps answering DNS queries for the zone.](data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI4MzYiIGhlaWdodD0iMTUwIiB2aWV3Qm94PSIwIDAgODM2IDE1MCIgcm9sZT0iaW1nIiBhcmlhLWxhYmVsPSJZb3VyIGFwcGxpY2F0aW9uIHNlbmRzIFJvdXRlIDUzIHJlY29yZCBjaGFuZ2VzIHRvIHRoZSBUZW5zb3I5IGFkYXB0ZXIsIHdoaWNoIGFwcGxpZXMgdGhlbSBpbiBSb3V0ZSA1MyB3aXRoIHRoZSBBV1MgY3JlZGVudGlhbCBpdCBob2xkcy4gUm91dGUgNTMga2VlcHMgYW5zd2VyaW5nIEROUyBxdWVyaWVzIGZvciB0aGUgem9uZS4iPjxzdHlsZT50ZXh0e2ZvbnQtZmFtaWx5OkludGVyLC1hcHBsZS1zeXN0ZW0sQmxpbmtNYWNTeXN0ZW1Gb250LCdTZWdvZSBVSScsUm9ib3RvLCdIZWx2ZXRpY2EgTmV1ZScsQXJpYWwsc2Fucy1zZXJpZjtmaWxsOiMzMzQxNTV9PC9zdHlsZT48cmVjdCB4PSIyNCIgeT0iMzAiIHdpZHRoPSIyNDAiIGhlaWdodD0iOTAiIHJ4PSIxMCIgc3R5bGU9ImZpbGw6I2Y4ZmFmYztzdHJva2U6IzY0NzQ4YiIvPjx0ZXh0IHg9IjE0NCIgeT0iNjUiIHRleHQtYW5jaG9yPSJtaWRkbGUiIHN0eWxlPSJmb250OiA2NTAgMTMuNXB4IEludGVyLCBzYW5zLXNlcmlmOyBmaWxsOiAjMGYxNzJhIj5Zb3VyIGFwcGxpY2F0aW9uPC90ZXh0Pjx0ZXh0IHg9IjE0NCIgeT0iOTIiIHRleHQtYW5jaG9yPSJtaWRkbGUiIHN0eWxlPSJmb250OiAxMXB4IEludGVyLCBzYW5zLXNlcmlmOyBmaWxsOiAjNjQ3NDhiIj5TZW5kcyByZWNvcmQgY2hhbmdlczwvdGV4dD48cGF0aCBkPSJNMjY3IDc1IGgyMiBtLTYgLTUgNiA1IC02IDUiIGZpbGw9Im5vbmUiIHN0eWxlPSJzdHJva2U6IzY0NzQ4YiIvPjxyZWN0IHg9IjI5NCIgeT0iMzAiIHdpZHRoPSIyNDAiIGhlaWdodD0iOTAiIHJ4PSIxMCIgc3R5bGU9ImZpbGw6I2Y4ZmFmYztzdHJva2U6IzY0NzQ4YiIvPjx0ZXh0IHg9IjQxNCIgeT0iNjUiIHRleHQtYW5jaG9yPSJtaWRkbGUiIHN0eWxlPSJmb250OiA2NTAgMTMuNXB4IEludGVyLCBzYW5zLXNlcmlmOyBmaWxsOiAjMGYxNzJhIj5UZW5zb3I5IGFkYXB0ZXI8L3RleHQ+PHRleHQgeD0iNDE0IiB5PSI5MiIgdGV4dC1hbmNob3I9Im1pZGRsZSIgc3R5bGU9ImZvbnQ6IDExcHggSW50ZXIsIHNhbnMtc2VyaWY7IGZpbGw6ICM2NDc0OGIiPkhvbGRzIHRoZSBBV1MgY3JlZGVudGlhbDwvdGV4dD48cGF0aCBkPSJNNTM3IDc1IGgyMiBtLTYgLTUgNiA1IC02IDUiIGZpbGw9Im5vbmUiIHN0eWxlPSJzdHJva2U6IzY0NzQ4YiIvPjxyZWN0IHg9IjU2NCIgeT0iMzAiIHdpZHRoPSIyNDAiIGhlaWdodD0iOTAiIHJ4PSIxMCIgc3R5bGU9ImZpbGw6I2Y4ZmFmYztzdHJva2U6IzY0NzQ4YiIvPjx0ZXh0IHg9IjY4NCIgeT0iNjUiIHRleHQtYW5jaG9yPSJtaWRkbGUiIHN0eWxlPSJmb250OiA2NTAgMTMuNXB4IEludGVyLCBzYW5zLXNlcmlmOyBmaWxsOiAjMGYxNzJhIj5Sb3V0ZSA1MzwvdGV4dD48dGV4dCB4PSI2ODQiIHk9IjkyIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBzdHlsZT0iZm9udDogMTFweCBJbnRlciwgc2Fucy1zZXJpZjsgZmlsbDogIzY0NzQ4YiI+QW5zd2VycyBETlMgcXVlcmllczwvdGV4dD48L3N2Zz4=)

![Your application sends Route 53 record changes to the Tensor9 adapter, which applies them in Route 53 with the AWS credential it holds. Route 53 keeps answering DNS queries for the zone.](data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI4MzYiIGhlaWdodD0iMTUwIiB2aWV3Qm94PSIwIDAgODM2IDE1MCIgcm9sZT0iaW1nIiBhcmlhLWxhYmVsPSJZb3VyIGFwcGxpY2F0aW9uIHNlbmRzIFJvdXRlIDUzIHJlY29yZCBjaGFuZ2VzIHRvIHRoZSBUZW5zb3I5IGFkYXB0ZXIsIHdoaWNoIGFwcGxpZXMgdGhlbSBpbiBSb3V0ZSA1MyB3aXRoIHRoZSBBV1MgY3JlZGVudGlhbCBpdCBob2xkcy4gUm91dGUgNTMga2VlcHMgYW5zd2VyaW5nIEROUyBxdWVyaWVzIGZvciB0aGUgem9uZS4iPjxzdHlsZT50ZXh0e2ZvbnQtZmFtaWx5OkludGVyLC1hcHBsZS1zeXN0ZW0sQmxpbmtNYWNTeXN0ZW1Gb250LCdTZWdvZSBVSScsUm9ib3RvLCdIZWx2ZXRpY2EgTmV1ZScsQXJpYWwsc2Fucy1zZXJpZjtmaWxsOiNjYmQ1ZTF9PC9zdHlsZT48cmVjdCB4PSIyNCIgeT0iMzAiIHdpZHRoPSIyNDAiIGhlaWdodD0iOTAiIHJ4PSIxMCIgc3R5bGU9ImZpbGw6IzBmMTcyYTtzdHJva2U6Izk0YTNiOCIvPjx0ZXh0IHg9IjE0NCIgeT0iNjUiIHRleHQtYW5jaG9yPSJtaWRkbGUiIHN0eWxlPSJmb250OiA2NTAgMTMuNXB4IEludGVyLCBzYW5zLXNlcmlmOyBmaWxsOiAjZjFmNWY5Ij5Zb3VyIGFwcGxpY2F0aW9uPC90ZXh0Pjx0ZXh0IHg9IjE0NCIgeT0iOTIiIHRleHQtYW5jaG9yPSJtaWRkbGUiIHN0eWxlPSJmb250OiAxMXB4IEludGVyLCBzYW5zLXNlcmlmOyBmaWxsOiAjOTRhM2I4Ij5TZW5kcyByZWNvcmQgY2hhbmdlczwvdGV4dD48cGF0aCBkPSJNMjY3IDc1IGgyMiBtLTYgLTUgNiA1IC02IDUiIGZpbGw9Im5vbmUiIHN0eWxlPSJzdHJva2U6Izk0YTNiOCIvPjxyZWN0IHg9IjI5NCIgeT0iMzAiIHdpZHRoPSIyNDAiIGhlaWdodD0iOTAiIHJ4PSIxMCIgc3R5bGU9ImZpbGw6IzBmMTcyYTtzdHJva2U6Izk0YTNiOCIvPjx0ZXh0IHg9IjQxNCIgeT0iNjUiIHRleHQtYW5jaG9yPSJtaWRkbGUiIHN0eWxlPSJmb250OiA2NTAgMTMuNXB4IEludGVyLCBzYW5zLXNlcmlmOyBmaWxsOiAjZjFmNWY5Ij5UZW5zb3I5IGFkYXB0ZXI8L3RleHQ+PHRleHQgeD0iNDE0IiB5PSI5MiIgdGV4dC1hbmNob3I9Im1pZGRsZSIgc3R5bGU9ImZvbnQ6IDExcHggSW50ZXIsIHNhbnMtc2VyaWY7IGZpbGw6ICM5NGEzYjgiPkhvbGRzIHRoZSBBV1MgY3JlZGVudGlhbDwvdGV4dD48cGF0aCBkPSJNNTM3IDc1IGgyMiBtLTYgLTUgNiA1IC02IDUiIGZpbGw9Im5vbmUiIHN0eWxlPSJzdHJva2U6Izk0YTNiOCIvPjxyZWN0IHg9IjU2NCIgeT0iMzAiIHdpZHRoPSIyNDAiIGhlaWdodD0iOTAiIHJ4PSIxMCIgc3R5bGU9ImZpbGw6IzBmMTcyYTtzdHJva2U6Izk0YTNiOCIvPjx0ZXh0IHg9IjY4NCIgeT0iNjUiIHRleHQtYW5jaG9yPSJtaWRkbGUiIHN0eWxlPSJmb250OiA2NTAgMTMuNXB4IEludGVyLCBzYW5zLXNlcmlmOyBmaWxsOiAjZjFmNWY5Ij5Sb3V0ZSA1MzwvdGV4dD48dGV4dCB4PSI2ODQiIHk9IjkyIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBzdHlsZT0iZm9udDogMTFweCBJbnRlciwgc2Fucy1zZXJpZjsgZmlsbDogIzk0YTNiOCI+QW5zd2VycyBETlMgcXVlcmllczwvdGV4dD48L3N2Zz4=)

Record changes go through the adapter; DNS queries still go to Route 53.

#### Zones and records

The hosted zone must already exist. Tensor9 finds it by domain name: first an explicitly specified zone, then the zone reference, then the deployment's default domain. It writes the declared records into that zone. It does not create the zone or copy the whole zone.

Standard record types, including native `SPF`, are kept, with every value in an ordinary record set. A record with no TTL gets 300 seconds. An alias to an infrastructure resource points at that resource's address in the target cloud, but target health is not evaluated.

#### Changes at runtime

Your application sends Route 53 API requests to the configured adapter endpoint. The adapter records each requested change and applies it with the AWS credential it holds. `ChangeResourceRecordSets` returns a change ID, and `GetChange` reports `PENDING` until the change has been applied in Route 53, then `INSYNC`.

Here, `INSYNC` means the change was applied in Route 53. It does not guarantee that every authoritative server has observed the change, or that cached answers in resolvers have expired. Keep polling for completion, and allow for DNS caching during cutover.

#### Limitations

Where this mapping differs from Route 53

* **Routing policies are not supported.** Only ordinary records are applied. Weighted, latency, failover and health-checked routing policies are left out with a warning, and several address values in one record do not reproduce them.
* **Health checks, delegation sets and Resolver resources are not supported.** A stack that declares any of them stops the build with an error.
* **Private hosted zones are not supported.** A zone is found by domain name only, which cannot reliably tell a public zone from a private zone with the same name.
* **These limits behave differently from Route 53 itself.** They are limits of this mapping, not of Route 53. Keeping Route 53 as the DNS provider does not mean every Route 53 configuration feature is supported.

#### Other considerations

**Credentials.** Scope the Cloud Adapter deployment's AWS credential to the intended zone and protect the process that renews it. Your application calls the adapter endpoint and does not need that credential.

**Before cutover.** Check the records against the new workload addresses. If the Cloud Adapter deployment is unavailable, Route 53 keeps answering for records already applied, but further changes need the Cloud Adapter deployment and a working credential.

**Other tools that manage records.** Keep external DNS controllers and certificate-validation records only where they fit with which records this mapping manages.

#### Example monthly charges

This Tensor9 Cloud Adapter scenario estimates service charges for the named origin and target services. Adapter hosting and commercial Tensor9 fees need separate allocations. [How Tensor9 estimates costs](https://docs.tensor9.com/cloud-adapter-early-access/costs/overview.md) explains the method and what the estimates include.

##### Authoritative DNS zones and queries (Route 53) · Authoritative DNS queries per second

Feature: Authoritative DNS zones and queries (Route 53).

Estimated monthly service charges by Authoritative DNS queries per second. Adapter hosting and Tensor9 fees are excluded. Source: us-east-1; target: us-east-1; currency: USD.

![Authoritative DNS zones and queries (Route 53) · Authoritative DNS queries per second: monthly service charges by Authoritative DNS queries per second. Exact values are in the following table.](https://docs.tensor9.com/images/cloud-adapter-early-access/diagrams/service-cost/32c30880dfa797c27048bf1c45fbaa291b98586fcd008bb58b015f9722390521-light.svg)

![Authoritative DNS zones and queries (Route 53) · Authoritative DNS queries per second: monthly service charges by Authoritative DNS queries per second. Exact values are in the following table.](https://docs.tensor9.com/images/cloud-adapter-early-access/diagrams/service-cost/f3c1b24aa1477d781d88ba315c3296c038fd0f35e907043fd98ea55bbe2820c1-dark.svg)

Comparison pills describe all sampled scale points; amounts beside each service are for the named workload. Costs The Same means within 20% at every point. Costs Depend includes mixed results and unpriced samples.

Sampled monthly charges in USD, rounded to cents. Difference means target minus origin; a positive difference means the target costs more.

| Authoritative DNS queries per second (queries/s) | Route53 | Route53 | Difference |
| -: | -: | -: | -: |
| 0 | 0.50 | 0.50 | 0.00 |
| 1 | 1.55 | 1.55 | 0.00 |
| 10 | 11.01 | 11.01 | 0.00 |
| 100 | 105.62 | 105.62 | 0.00 |
| 1,000 | 1,051.70 | 726.10 | -325.60 |
| 10,000 | 10,512.50 | 5,456.50 | -5,056.00 |
| 100,000 | 105,120.50 | 52,760.50 | -52,360.00 |

**Curve assumptions**

| Assumption | Value | Unit |
| - | -: | - |
| Origin list price · Hosted zone allocation | 0.5 | USD/zone-month |
| Origin list price · Authoritative DNS queries | 0.0000004 | USD/Queries |
| Origin list price · DNS management requests | 0 | USD/Requests |
| Target price guess · read | 0 | USD/read |
| Target price guess · write | 0 | USD/write |
| Target list price · provider operation | 0.0000004 | USD/provider operation |
| Target price guess · GiB-month | 0 | USD/GiB-month |
| Target price guess · published GiB | 0 | USD/published GiB |
| Target price guess · delivered GiB | 0 | USD/delivered GiB |
| Target price guess · network GiB | 0 | USD/network GiB |
| Target price guess · replica GiB-month | 0 | USD/replica GiB-month |
| Target price guess · vCPU-hour | 0 | USD/vCPU-hour |
| Target price guess · GiB-hour | 0 | USD/GiB-hour |
| Target price guess · resource-hour | 0 | USD/resource-hour |
| Target list price · resource-month | 0.5 | USD/resource-month |
| Target price guess · input token | 0 | USD/input token |
| Target price guess · output token | 0 | USD/output token |
| Target monthly base charge | 0 | USD/month |
| Approximate target service minimum | 0 | USD/month |
| Minimum primary CPU | 2 | vCPU |
| Minimum primary RAM | 8 | GiB |
| Minimum primary disk | 100 | GiB |
| Additional full-price standby copy | 0 | 0 or 1 |
| Allocated share of provisioned cost | 1 | fraction |
| Read/write work per vCPU-second | 1,500 | operations/vCPU-second |
| Planning peak / mean work | 2 | multiplier |
| Planning primary CPU utilization | 0.7 | fraction |
| Resident state reserved in RAM | 0.1 | fraction |
| Planning disk utilization | 0.8 | fraction |
| Maintenance and log disk reserve | 20 | GiB |
| Staging database CPU unit-price guess | 0.0413 | USD/vCPU-hour |
| Staging database RAM unit-price guess | 0.007 | USD/GiB-hour |
| Staging database disk unit-price guess | 0.17 | USD/GiB-month |
| Dependent object sink storage price guess | 0.023 | USD/GiB-month |
| Dependent object sink write price guess | 0.000005 | USD/write |

* Only this native meter varies; all other source usage and translation assumptions retain the displayed defaults. Other native meters and workload assumptions retain their explicitly displayed default quantities. Workload translation and capacity assumptions are not benchmark measurements.
* Native monthly usage priced at the cited provider list prices; listed target allowances apply where present, excluding invoice credits, taxes and negotiated discounts. Rates as of 2026-10-22: us-east-1 → us-east-1, USD/month.
* Source prices are reference charges, not an invoice. Target lines cover selected service usage/configuration only; adapter hosting and Tensor9 fees are excluded.
* Samples of explicit prices are not performance measurements or capacity qualification. No interpolation or break-even guarantee is implied.
* Variant assumptions show the first axis sample; any axis-dependent configuration is described by this curve's workload note.
* Rates are cited provider list prices, editable for discounts, commitments or another region. Workload translation and capacity coefficients remain editable planning assumptions, not benchmark measurements or a commercial quote.
* Default-zero rates are explicit assumptions, not evidence that the deployed service or resource is free.
* Provisioned-unit minimums use an editable approximate allocation floor. Modeled target service cost is max(usage/allocation, minimum), with billable network, durable staging and dependent sinks added separately; actual RU/TU sizing, scaling increments and throughput remain unqualified.
* Durable staging is priced once: provisioned targets include adapter state in their selected allocation; native targets add a separate staging allocation when required. Adapter hosting is a separate allocation and must exclude resources already priced as staging, workers or target capacity.
* A declared adapter mapping and cost model do not establish implementation availability or service equivalence.
* This is a declared directed mapping; a planning estimate does not establish deployment or request-serving support.
* Origin unit prices are cited provider list prices; capacity coefficients and translation assumptions are editable authored planning guesses, not measured capacity or a provider quote.
* Management requests do not reveal resource allocation or workload traffic. Provisioned resources and traffic are independent inputs.
* This compares authoritative zones and query meters; resolver forwarding has a different allocation and price.
* A cost scenario does not establish live-qualified runtime DNS propagation or public authority.
* Zone-months and authoritative queries are billed independently; management calls are free. Route 53 public hosted zones and standard queries; zone and query prices step down after 25 zones and one billion queries. Alias queries to AWS resources are free, and latency, geo and weighted routing queries cost more.
* AWS Price List API, AmazonRoute53 offer: [https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AmazonRoute53/current/aws-other/index.json](https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AmazonRoute53/current/aws-other/index.json)
* Amazon Route 53 pricing: [https://aws.amazon.com/route53/pricing/](https://aws.amazon.com/route53/pricing/)

Cost scope: Modeled target native service and explicitly modeled state allocation; hosting and Tensor9 fees only when supplied.

Excluded costs and workload features:

* Health checks, DNSSEC premiums, resolver endpoints, query logs, domain registration and routing-policy premiums.
* Taxes, discounts, credits and free-tier allowances not explicitly listed by this model.
* Unmodeled dependent services, task execution and operations outside the selected workload family.

List prices read: 2026-10-22. Model: `plan-e390fc07b2c09ccd76f15f73b45d266273dc1a87` / `2026-10-22.planning.2`. Curve: `workload-1`.

Sources: [AWS Price List API, AmazonRoute53 offer](https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AmazonRoute53/current/aws-other/index.json), [Amazon Route 53 pricing](https://aws.amazon.com/route53/pricing/).

**Authoritative DNS zones and queries (Route 53) → Route 53 (any cloud): Authored native-usage planning example.** Native monthly usage priced at the cited provider list prices; listed target allowances apply where present, excluding invoice credits, taxes and negotiated discounts.

Scenario source region: us-east-1. Scenario target region: us-east-1. Currency: USD.

| Monthly component | USD |
| - | -: |
| Origin: Hosted zone allocation | 0.50 |
| Origin: Authoritative DNS queries | 40.00 |
| Origin: DNS management requests | 0.00 |
| Target: Target native provider operations | 40.00 |
| Target: Execution or worker CPU | 0.00 |
| Target: Execution or worker RAM | 0.00 |
| Target: Selected billable network | 0.00 |
| Target: Independent native resources | 0.00 |
| Target: Independent native resources | 0.50 |
| **Origin service subtotal** | **40.50** |
| **Target service subtotal** | **40.50** |

Unestimated components: Adapter hosting, Tensor9 fees. A modeled adapted total and savings require these costs.

Cost scope: Modeled target native service and explicitly modeled state allocation; hosting and Tensor9 fees only when supplied.

Excluded costs and workload features:

* Health checks, DNSSEC premiums, resolver endpoints, query logs, domain registration and routing-policy premiums.
* Taxes, discounts, credits and free-tier allowances not explicitly listed by this model.
* Unmodeled dependent services, task execution and operations outside the selected workload family.

**Scenario assumptions**

| Input | Value | Unit |
| - | -: | - |
| Origin list price · Hosted zone allocation | 0.5 | USD/zone-month |
| Origin list price · Authoritative DNS queries | 0.0000004 | USD/Queries |
| Origin list price · DNS management requests | 0 | USD/Requests |
| Target price guess · read | 0 | USD/read |
| Target price guess · write | 0 | USD/write |
| Target list price · provider operation | 0.0000004 | USD/provider operation |
| Target price guess · GiB-month | 0 | USD/GiB-month |
| Target price guess · published GiB | 0 | USD/published GiB |
| Target price guess · delivered GiB | 0 | USD/delivered GiB |
| Target price guess · network GiB | 0 | USD/network GiB |
| Target price guess · replica GiB-month | 0 | USD/replica GiB-month |
| Target price guess · vCPU-hour | 0 | USD/vCPU-hour |
| Target price guess · GiB-hour | 0 | USD/GiB-hour |
| Target price guess · resource-hour | 0 | USD/resource-hour |
| Target list price · resource-month | 0.5 | USD/resource-month |
| Target price guess · input token | 0 | USD/input token |
| Target price guess · output token | 0 | USD/output token |
| Target monthly base charge | 0 | USD/month |
| Approximate target service minimum | 0 | USD/month |
| Minimum primary CPU | 2 | vCPU |
| Minimum primary RAM | 8 | GiB |
| Minimum primary disk | 100 | GiB |
| Additional full-price standby copy | 0 | 0 or 1 |
| Allocated share of provisioned cost | 1 | fraction |
| Read/write work per vCPU-second | 1,500 | operations/vCPU-second |
| Planning peak / mean work | 2 | multiplier |
| Planning primary CPU utilization | 0.7 | fraction |
| Resident state reserved in RAM | 0.1 | fraction |
| Planning disk utilization | 0.8 | fraction |
| Maintenance and log disk reserve | 20 | GiB |
| Staging database CPU unit-price guess | 0.0413 | USD/vCPU-hour |
| Staging database RAM unit-price guess | 0.007 | USD/GiB-hour |
| Staging database disk unit-price guess | 0.17 | USD/GiB-month |
| Dependent object sink storage price guess | 0.023 | USD/GiB-month |
| Dependent object sink write price guess | 0.000005 | USD/write |
| Hosted zone allocation | 1 | zone-month |
| Authoritative DNS queries | 100,000,000 | Queries |
| DNS management requests | 100,000 | Requests |

* Translated reads: 100,000 operations.

* Translated writes: 0 operations.

* Translated resident physical data: 0 GiB-month.

* Native provider operations: 100,000,000 operations.

* Published payload: 0 GiB.

* Delivered payload: 0 GiB.

* Allocated execution CPU: 0 vCPU-hour.

* Allocated execution RAM: 0 GiB-hour.

* Independent resource allocation: 0 resource-hour.

* Independent inventory: 1 resource-month.

* Input tokens: 0 tokens.

* Output tokens: 0 tokens.

* Billable network: 0 GiB.

* Dependent object sink retained data: 0 GiB-month.

* Dependent object sink writes: 0 writes.

* Rates are cited provider list prices, editable for discounts, commitments or another region. Workload translation and capacity coefficients remain editable planning assumptions, not benchmark measurements or a commercial quote.

* Default-zero rates are explicit assumptions, not evidence that the deployed service or resource is free.

* Provisioned-unit minimums use an editable approximate allocation floor. Modeled target service cost is max(usage/allocation, minimum), with billable network, durable staging and dependent sinks added separately; actual RU/TU sizing, scaling increments and throughput remain unqualified.

* Durable staging is priced once: provisioned targets include adapter state in their selected allocation; native targets add a separate staging allocation when required. Adapter hosting is a separate allocation and must exclude resources already priced as staging, workers or target capacity.

* A declared adapter mapping and cost model do not establish implementation availability or service equivalence.

* This is a declared directed mapping; a planning estimate does not establish deployment or request-serving support.

* Origin unit prices are cited provider list prices; capacity coefficients and translation assumptions are editable authored planning guesses, not measured capacity or a provider quote.

* Management requests do not reveal resource allocation or workload traffic. Provisioned resources and traffic are independent inputs.

* This compares authoritative zones and query meters; resolver forwarding has a different allocation and price.

* A cost scenario does not establish live-qualified runtime DNS propagation or public authority.

* Zone-months and authoritative queries are billed independently; management calls are free. Route 53 public hosted zones and standard queries; zone and query prices step down after 25 zones and one billion queries. Alias queries to AWS resources are free, and latency, geo and weighted routing queries cost more.

List prices read: 2026-10-22. Model: `plan-e390fc07b2c09ccd76f15f73b45d266273dc1a87` / `2026-10-22.planning.2`. Scenario: `planning-example`.

Sources: [AWS Price List API, AmazonRoute53 offer](https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AmazonRoute53/current/aws-other/index.json), [Amazon Route 53 pricing](https://aws.amazon.com/route53/pricing/).

## On Scaleway

### Scaleway Domains and DNS

| Operation | Area | Support | Depth | Notes |
| - | - | - | - | - |
| DNS query serving | Data plane | Supported | Common | Scaleway's authoritative servers answer queries directly. DNS resolution is protocol-identical across providers, so nothing translates at query time and Tensor9 is out of the path once a record is written. |
| Health checks | Health & resolver | Out of scope | Most usage | Standalone Route 53 health-check resources are outside this mapping and stop the build. |
| Resolver (endpoints, rules, DNSSEC, firewall, query logs) | Health & resolver | Out of scope | Full surface | Outside this zones-and-records mapping. |
| Alias records | Records | Partial | Most usage | An alias to an infrastructure reference resolves to the replacement resource's address. Route 53 target-health evaluation is not reproduced, and apex-alias behaviour is whatever Scaleway's own record types provide. |
| Multi-value record sets | Records | Partial | Most usage | All values are retained, but the shape differs: scaleway\_domain\_record.data holds ONE value, where an AWS record set holds many. A multi-value set therefore becomes N separate Scaleway records. The data is preserved; the resource count is not one-to-one, which is visible in your plan output. |
| Record management | Records | Supported | Common | Declared records are applied as scaleway\_domain\_record resources at deploy. |
| Records whose value is computed at deploy | Records | Out of scope | Most usage | A record whose values are an expression resolved at apply -- a computed list, or an alias target -- stops the build. Because one Scaleway record holds one value, such a set must be split across N resources, and a list whose length is unknown until apply cannot be split beforehand. The alternative would emit a list expression into a string field and fail at apply with an error you could not trace back here. |
| Routing policies (weighted / latency / failover / geolocation / multivalue) | Routing | Out of scope | Most usage | Outside this mapping. Ordinary record data is retained and the omitted routing behaviour is reported; no Scaleway traffic-management service is configured by that omission. |
| Delegation sets | Zones | Out of scope | Full surface | Reusable AWS delegation sets are outside this mapping; the declaration stops the build. |
| Hosted zones | Zones | Partial | Common | scaleway\_domain\_zone requires a (domain, subdomain) PAIR -- the registered apex and the label beneath it -- where Route 53 takes a single name. The build splits your zone name, taking the last two labels as the apex. That is a heuristic and is reported as one: it is wrong for a multi-label public suffix such as example.co.uk, where the apex is three labels. |
| Private hosted zones | Zones | Out of scope | Most usage | Scaleway has no private DNS zone. Measured against the pinned provider: scaleway\_domain\_zone is public authoritative hosting with NS delegation and carries no visibility, networks or VPC scoping, and scaleway\_vpc\_private\_network has no DNS attributes at all. A VPC-associated declaration stops the build rather than being emitted as a public zone. |

#### Example monthly charges

This Tensor9 Cloud Adapter scenario estimates service charges for the named origin and target services. Adapter hosting and commercial Tensor9 fees need separate allocations. [How Tensor9 estimates costs](https://docs.tensor9.com/cloud-adapter-early-access/costs/overview.md) explains the method and what the estimates include.

**Native or deployment mapping.** DNS zones and records are provisioned through the target provider. This mapping has no Route 53 management adapter endpoint, and DNS lookups go directly to the provider's name servers. Cost estimates describe the selected service resources; operation coverage remains separate.

##### Authoritative DNS zones and queries (Route 53) · Authoritative DNS queries per second

Feature: Authoritative DNS zones and queries (Route 53).

Estimated monthly service charges by Authoritative DNS queries per second. Adapter hosting and Tensor9 fees are excluded. Source: us-east-1; target: fr-par; currency: USD.

![Authoritative DNS zones and queries (Route 53) · Authoritative DNS queries per second: monthly service charges by Authoritative DNS queries per second. Exact values are in the following table.](https://docs.tensor9.com/images/cloud-adapter-early-access/diagrams/service-cost/64dab886919bba51e08f5df9e6257160a3140b3f70b2a5676618403321984419-light.svg)

![Authoritative DNS zones and queries (Route 53) · Authoritative DNS queries per second: monthly service charges by Authoritative DNS queries per second. Exact values are in the following table.](https://docs.tensor9.com/images/cloud-adapter-early-access/diagrams/service-cost/15bab606b6fc0af4dd6152f1c66ce1522ea094ea1072e437f92401f8f78cbf34-dark.svg)

Comparison pills describe all sampled scale points; amounts beside each service are for the named workload. Costs The Same means within 20% at every point. Costs Depend includes mixed results and unpriced samples.

Sampled monthly charges in USD, rounded to cents. Difference means target minus origin; a positive difference means the target costs more.

| Authoritative DNS queries per second (queries/s) | Route53 | Scaleway Domains and DNS | Difference |
| -: | -: | -: | -: |
| 0 | 0.50 | 5.73 | 5.23 |
| 1 | 1.55 | 5.73 | 4.17 |
| 10 | 11.01 | 5.73 | -5.29 |
| 100 | 105.62 | 5.73 | -99.89 |
| 1,000 | 1,051.70 | 5.73 | -1,045.97 |
| 10,000 | 10,512.50 | 5.73 | -10,506.77 |
| 100,000 | 105,120.50 | 5.73 | -105,114.77 |

**Curve assumptions**

| Assumption | Value | Unit |
| - | -: | - |
| Origin list price · Hosted zone allocation | 0.5 | USD/zone-month |
| Origin list price · Authoritative DNS queries | 0.0000004 | USD/Queries |
| Origin list price · DNS management requests | 0 | USD/Requests |
| Target price guess · read | 0 | USD/read |
| Target price guess · write | 0 | USD/write |
| Target list price · provider operation | 0 | USD/provider operation |
| Target price guess · GiB-month | 0 | USD/GiB-month |
| Target price guess · published GiB | 0 | USD/published GiB |
| Target price guess · delivered GiB | 0 | USD/delivered GiB |
| Target price guess · network GiB | 0 | USD/network GiB |
| Target price guess · replica GiB-month | 0 | USD/replica GiB-month |
| Target price guess · vCPU-hour | 0 | USD/vCPU-hour |
| Target price guess · GiB-hour | 0 | USD/GiB-hour |
| Target price guess · resource-hour | 0 | USD/resource-hour |
| Target list price · resource-month | 5.72576 | USD/resource-month |
| Target price guess · input token | 0 | USD/input token |
| Target price guess · output token | 0 | USD/output token |
| Target monthly base charge | 0 | USD/month |
| Approximate target service minimum | 0 | USD/month |
| Minimum primary CPU | 2 | vCPU |
| Minimum primary RAM | 8 | GiB |
| Minimum primary disk | 100 | GiB |
| Additional full-price standby copy | 0 | 0 or 1 |
| Allocated share of provisioned cost | 1 | fraction |
| Read/write work per vCPU-second | 1,500 | operations/vCPU-second |
| Planning peak / mean work | 2 | multiplier |
| Planning primary CPU utilization | 0.7 | fraction |
| Resident state reserved in RAM | 0.1 | fraction |
| Planning disk utilization | 0.8 | fraction |
| Maintenance and log disk reserve | 20 | GiB |
| Staging database CPU unit-price guess | 0.0413 | USD/vCPU-hour |
| Staging database RAM unit-price guess | 0.007 | USD/GiB-hour |
| Staging database disk unit-price guess | 0.17 | USD/GiB-month |
| Dependent object sink storage price guess | 0.023 | USD/GiB-month |
| Dependent object sink write price guess | 0.000005 | USD/write |

* Only this native meter varies; all other source usage and translation assumptions retain the displayed defaults. Other native meters and workload assumptions retain their explicitly displayed default quantities. Workload translation and capacity assumptions are not benchmark measurements.
* Native monthly usage priced at the cited provider list prices; listed target allowances apply where present, excluding invoice credits, taxes and negotiated discounts. Rates as of 2026-10-22: us-east-1 → fr-par, USD/month.
* Source prices are reference charges, not an invoice. Target lines cover selected service usage/configuration only; adapter hosting and Tensor9 fees are excluded.
* Samples of explicit prices are not performance measurements or capacity qualification. No interpolation or break-even guarantee is implied.
* Variant assumptions show the first axis sample; any axis-dependent configuration is described by this curve's workload note.
* Rates are cited provider list prices, editable for discounts, commitments or another region. Workload translation and capacity coefficients remain editable planning assumptions, not benchmark measurements or a commercial quote.
* Default-zero rates are explicit assumptions, not evidence that the deployed service or resource is free.
* Provisioned-unit minimums use an editable approximate allocation floor. Modeled target service cost is max(usage/allocation, minimum), with billable network, durable staging and dependent sinks added separately; actual RU/TU sizing, scaling increments and throughput remain unqualified.
* Durable staging is priced once: provisioned targets include adapter state in their selected allocation; native targets add a separate staging allocation when required. Adapter hosting is a separate allocation and must exclude resources already priced as staging, workers or target capacity.
* A declared adapter mapping and cost model do not establish implementation availability or service equivalence.
* This is a declared directed mapping; a planning estimate does not establish deployment or request-serving support.
* Native/deployment comparison scope: DNS zones and records are provisioned through the target provider. This mapping has no Route 53 management adapter endpoint, and DNS lookups go directly to the provider's name servers.
* Origin unit prices are cited provider list prices; capacity coefficients and translation assumptions are editable authored planning guesses, not measured capacity or a provider quote.
* Management requests do not reveal resource allocation or workload traffic. Provisioned resources and traffic are independent inputs.
* This compares authoritative zones and query meters; resolver forwarding has a different allocation and price.
* A cost scenario does not establish live-qualified runtime DNS propagation or public authority.
* Scaleway Domains and DNS lists EUR 0.007 per zone-hour. Each zone includes 5 million queries a month; beyond that EUR 0.0005 per million is below this model's price precision, so the query rate is zero. Scaleway also says a domain registered with it comes with a DNS zone; an externally registered domain is assumed to pay the zone fee.
* AWS Price List API, AmazonRoute53 offer: [https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AmazonRoute53/current/aws-other/index.json](https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AmazonRoute53/current/aws-other/index.json)
* Amazon Route 53 pricing: [https://aws.amazon.com/route53/pricing/](https://aws.amazon.com/route53/pricing/)
* Scaleway network pricing: [https://www.scaleway.com/en/pricing/network/](https://www.scaleway.com/en/pricing/network/)

Cost scope: Modeled target native service and explicitly modeled state allocation; hosting and Tensor9 fees only when supplied.

Excluded costs and workload features:

* Health checks, DNSSEC premiums, resolver endpoints, query logs, domain registration and routing-policy premiums.
* Taxes, discounts, credits and free-tier allowances not explicitly listed by this model.
* Unmodeled dependent services, task execution and operations outside the selected workload family.

List prices read: 2026-10-22. Model: `plan-d57847d8e28e4638b04b8c1c69373ac005f231d4` / `2026-10-22.planning.2`. Curve: `workload-1`.

Sources: [AWS Price List API, AmazonRoute53 offer](https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AmazonRoute53/current/aws-other/index.json), [Amazon Route 53 pricing](https://aws.amazon.com/route53/pricing/), [Scaleway network pricing](https://www.scaleway.com/en/pricing/network/).

**Authoritative DNS zones and queries (Route 53) → Scaleway Domains and DNS: Authored native-usage planning example.** Native monthly usage priced at the cited provider list prices; listed target allowances apply where present, excluding invoice credits, taxes and negotiated discounts.

Scenario source region: us-east-1. Scenario target region: fr-par. Currency: USD.

| Monthly component | USD |
| - | -: |
| Origin: Hosted zone allocation | 0.50 |
| Origin: Authoritative DNS queries | 40.00 |
| Origin: DNS management requests | 0.00 |
| Target: Target native provider operations | 0.00 |
| Target: Execution or worker CPU | 0.00 |
| Target: Execution or worker RAM | 0.00 |
| Target: Selected billable network | 0.00 |
| Target: Independent native resources | 0.00 |
| Target: Independent native resources | 5.73 |
| **Origin service subtotal** | **40.50** |
| **Target service subtotal** | **5.73** |

Unestimated components: Adapter hosting, Tensor9 fees. A modeled adapted total and savings require these costs.

Cost scope: Modeled target native service and explicitly modeled state allocation; hosting and Tensor9 fees only when supplied.

Excluded costs and workload features:

* Health checks, DNSSEC premiums, resolver endpoints, query logs, domain registration and routing-policy premiums.
* Taxes, discounts, credits and free-tier allowances not explicitly listed by this model.
* Unmodeled dependent services, task execution and operations outside the selected workload family.

**Scenario assumptions**

| Input | Value | Unit |
| - | -: | - |
| Origin list price · Hosted zone allocation | 0.5 | USD/zone-month |
| Origin list price · Authoritative DNS queries | 0.0000004 | USD/Queries |
| Origin list price · DNS management requests | 0 | USD/Requests |
| Target price guess · read | 0 | USD/read |
| Target price guess · write | 0 | USD/write |
| Target list price · provider operation | 0 | USD/provider operation |
| Target price guess · GiB-month | 0 | USD/GiB-month |
| Target price guess · published GiB | 0 | USD/published GiB |
| Target price guess · delivered GiB | 0 | USD/delivered GiB |
| Target price guess · network GiB | 0 | USD/network GiB |
| Target price guess · replica GiB-month | 0 | USD/replica GiB-month |
| Target price guess · vCPU-hour | 0 | USD/vCPU-hour |
| Target price guess · GiB-hour | 0 | USD/GiB-hour |
| Target price guess · resource-hour | 0 | USD/resource-hour |
| Target list price · resource-month | 5.72576 | USD/resource-month |
| Target price guess · input token | 0 | USD/input token |
| Target price guess · output token | 0 | USD/output token |
| Target monthly base charge | 0 | USD/month |
| Approximate target service minimum | 0 | USD/month |
| Minimum primary CPU | 2 | vCPU |
| Minimum primary RAM | 8 | GiB |
| Minimum primary disk | 100 | GiB |
| Additional full-price standby copy | 0 | 0 or 1 |
| Allocated share of provisioned cost | 1 | fraction |
| Read/write work per vCPU-second | 1,500 | operations/vCPU-second |
| Planning peak / mean work | 2 | multiplier |
| Planning primary CPU utilization | 0.7 | fraction |
| Resident state reserved in RAM | 0.1 | fraction |
| Planning disk utilization | 0.8 | fraction |
| Maintenance and log disk reserve | 20 | GiB |
| Staging database CPU unit-price guess | 0.0413 | USD/vCPU-hour |
| Staging database RAM unit-price guess | 0.007 | USD/GiB-hour |
| Staging database disk unit-price guess | 0.17 | USD/GiB-month |
| Dependent object sink storage price guess | 0.023 | USD/GiB-month |
| Dependent object sink write price guess | 0.000005 | USD/write |
| Hosted zone allocation | 1 | zone-month |
| Authoritative DNS queries | 100,000,000 | Queries |
| DNS management requests | 100,000 | Requests |

* Translated reads: 100,000 operations.

* Translated writes: 0 operations.

* Translated resident physical data: 0 GiB-month.

* Native provider operations: 100,000,000 operations.

* Published payload: 0 GiB.

* Delivered payload: 0 GiB.

* Allocated execution CPU: 0 vCPU-hour.

* Allocated execution RAM: 0 GiB-hour.

* Independent resource allocation: 0 resource-hour.

* Independent inventory: 1 resource-month.

* Input tokens: 0 tokens.

* Output tokens: 0 tokens.

* Billable network: 0 GiB.

* Dependent object sink retained data: 0 GiB-month.

* Dependent object sink writes: 0 writes.

* Rates are cited provider list prices, editable for discounts, commitments or another region. Workload translation and capacity coefficients remain editable planning assumptions, not benchmark measurements or a commercial quote.

* Default-zero rates are explicit assumptions, not evidence that the deployed service or resource is free.

* Provisioned-unit minimums use an editable approximate allocation floor. Modeled target service cost is max(usage/allocation, minimum), with billable network, durable staging and dependent sinks added separately; actual RU/TU sizing, scaling increments and throughput remain unqualified.

* Durable staging is priced once: provisioned targets include adapter state in their selected allocation; native targets add a separate staging allocation when required. Adapter hosting is a separate allocation and must exclude resources already priced as staging, workers or target capacity.

* A declared adapter mapping and cost model do not establish implementation availability or service equivalence.

* This is a declared directed mapping; a planning estimate does not establish deployment or request-serving support.

* Native/deployment comparison scope: DNS zones and records are provisioned through the target provider. This mapping has no Route 53 management adapter endpoint, and DNS lookups go directly to the provider's name servers.

* Origin unit prices are cited provider list prices; capacity coefficients and translation assumptions are editable authored planning guesses, not measured capacity or a provider quote.

* Management requests do not reveal resource allocation or workload traffic. Provisioned resources and traffic are independent inputs.

* This compares authoritative zones and query meters; resolver forwarding has a different allocation and price.

* A cost scenario does not establish live-qualified runtime DNS propagation or public authority.

* Scaleway Domains and DNS lists EUR 0.007 per zone-hour. Each zone includes 5 million queries a month; beyond that EUR 0.0005 per million is below this model's price precision, so the query rate is zero. Scaleway also says a domain registered with it comes with a DNS zone; an externally registered domain is assumed to pay the zone fee.

List prices read: 2026-10-22. Model: `plan-d57847d8e28e4638b04b8c1c69373ac005f231d4` / `2026-10-22.planning.2`. Scenario: `planning-example`.

Sources: [AWS Price List API, AmazonRoute53 offer](https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AmazonRoute53/current/aws-other/index.json), [Amazon Route 53 pricing](https://aws.amazon.com/route53/pricing/), [Scaleway network pricing](https://www.scaleway.com/en/pricing/network/).

## Costs

Estimated monthly service charges for each backend with a published cost model, at one sampled workload from that model's cost curve. Adapter hosting and Tensor9 fees are excluded. [How Tensor9 estimates costs](https://docs.tensor9.com/cloud-adapter-early-access/costs/overview.md) explains the method, what the estimates include and how to read their qualifications.

| Backend | Sampled workload | Price basis | Origin USD/month | Backend USD/month | Difference | Mapping |
| - | - | - | -: | -: | -: | - |
| Azure DNS | Authoritative DNS queries per second: 100 queries/s | Cited list prices, 2026-10-22 | 105.62 | 105.62 | 0.00 | Service adapter |
| Cloud DNS | Authoritative DNS queries per second: 100 queries/s | Cited list prices, 2026-10-22 | 105.62 | 105.32 | -0.30 | Service adapter |
| Cloudflare DNS | Authoritative DNS queries per second: 100 queries/s | Cited list prices, 2026-10-22 | 105.62 | 0.00 | -105.62 | Service adapter |
| OCI DNS | Authoritative DNS queries per second: 100 queries/s | Cited list prices, 2026-10-22 | 105.62 | 223.38 | +117.76 | Service adapter |
| Route53 | Authoritative DNS queries per second: 100 queries/s | Cited list prices, 2026-10-22 | 105.62 | 105.62 | 0.00 | Service adapter |
| Scaleway Domains and DNS | Authoritative DNS queries per second: 100 queries/s | Cited list prices, 2026-10-22 | 105.62 | 5.73 | -99.89 | Native or deployment |

Difference means backend minus origin; a positive difference means the backend costs more. Workloads and target configurations differ by model, so compare each row's difference at its stated workload rather than charges across rows.
Cost curves across workload sizes, with every assumption and exclusion: [Route53 costs](https://docs.tensor9.com/cloud-adapter-early-access/costs/additional-services/aws-route53).

## Service level agreements

> [!WARNING]
>
> These tables show Tensor9's standard service levels and adapters whose standard terms are still being defined. Your signed agreement determines the SLAs, covered adapters and operations, limits, remedies and support terms that apply to your deployment.

Listed terms cover requests sent through this service adapter. They do not cover direct connections to the target service or replace the cloud provider's own SLA. Each origin-to-target pair has its own terms or an explicit pending status.

See the [SLA tables](https://docs.tensor9.com/cloud-adapter-early-access/support/service-adapter-slas.md), [measurement rules](https://docs.tensor9.com/cloud-adapter-early-access/support/service-levels.md), and [scaling conditions](https://docs.tensor9.com/cloud-adapter-early-access/support/scaling-and-limits.md).

### Route53 to Route 53 (any cloud)

| SLA | Service level | What is covered | Conditions |
| - | - | - | - |
| DNS management reads adapter-added latency | +8 ms monthly p99 | `aws::1.0.0::route53`: `GetChange`, `GetHostedZone`, `ListHostedZones`, `ListResourceRecordSets` | One point read or at most 100 returned zones, records, checks, endpoints or rules. |
| Bounded zone and record mutation adapter-added latency | +20 ms monthly p99 | `aws::1.0.0::route53`: `ChangeResourceRecordSets`, `CreateHostedZone`, `DeleteHostedZone` | One zone/check or at most 100 record changes and at most 1 MiB request; DNS propagation separate. |
| Documented adapter behavior | Preserve the supported behavior documented for this adapter | `aws::1.0.0::route53`: `GetChange`, `GetHostedZone`, `ListHostedZones`, `ListResourceRecordSets`, `ChangeResourceRecordSets`, `CreateHostedZone`, `DeleteHostedZone` | A successful management response preserves owner name, type, TTL, values, routing-policy identity and private-zone association without broadening visibility. Change status cannot report INSYNC until target observation supports it, and unsupported alias, DNSSEC, health-check or resolver semantics fail explicitly rather than degrading DNS behavior. |
| Endpoint reachability | 99.9% per calendar month | Adapter endpoint reachability | The agreed production deployment has healthy target connectivity and receives a valid adapter health probe. This measures the adapter endpoint, not the target provider's service. |
| Adapter autoscaling and limits | Automatic scaling within the workload and deployment limits in your agreement | Adapter behavior across requests | Your agreement states the maximum request rate, burst size, request and response sizes, concurrency, and target calls per request. Tensor9 maintains adapter capacity inside that envelope. Target-service quotas and capacity are separate. |

**Adapter-added latency.** A + prefix marks time added by the adapter, not the total time your application waits. Total request time includes adapter processing, backend service time and network time. The backend provider's SLA applies independently. Only separately measured target-service wait may be subtracted, and only when your agreement permits it; internal metadata, coordination and retry processing still count. For one request, 12 ms of adapter processing plus 90 ms waiting for the backend means at least 102 ms total. This example does not add monthly p99 values.

**What Tensor9 covers.** These service levels cover the adapter between the origin API and target API. They do not replace the target provider's SLA.

**How latency is counted.** Adapter work, including metadata and coordination, counts. Only separately measured permitted target waits are excluded.

**Which terms apply.** Your signed agreement names the covered operations, workload limits, remedies, and final service levels for your deployment.

#### What this adapter does

The adapter validates Route 53-shaped zone, record, health-check and resolver-management calls, records the requested revision and translates it to aws::1.0.0::route53. Authoritative or recursive DNS query processing occurs in the selected DNS service and is deliberately outside these management-operation targets; no DNS query latency is claimed.

#### How the latency targets were chosen

**DNS management reads: +8 ms monthly p99 (adapter-added).** `GetChange`, `GetHostedZone`, `ListHostedZones`, `ListResourceRecordSets`. Bounded desired and observed management-state lookup; no DNS query execution.

**Bounded zone and record mutation: +20 ms monthly p99 (adapter-added).** `ChangeResourceRecordSets`, `CreateHostedZone`, `DeleteHostedZone`. Whole-batch validation, atomic durable admission and reconciliation scheduling.

Your signed agreement sets the terms for your deployment. A target does not add an operation or option that the compatibility tables mark unavailable.

#### What counts toward latency

For a request-response row, measure from the agreed ingress boundary to dispatch of the complete response. A row that explicitly names a first response chunk ends at that chunk; its number does not cover the rest of the stream. A long-poll row names the intentional wait and when adapter delay starts. Include parsing, authorization, admission, translation, serialization, adapter-owned storage and coordination, retries and response handling. Subtract only separately measured target-workload waits and external network segments allowed by the measurement rules. The adapter's own response handling and dispatch remain covered. A database used for adapter metadata is still adapter work, even if a cloud provider hosts it.

For concurrent calls, exclude the union of permitted wait intervals, not the sum of overlapping spans. Calculate each request's adapter duration first, then the monthly p99. Do not subtract one service's p99 from another's. Known adapter timeouts are over-budget samples; failed or incomplete requests cannot disappear to improve the percentile. Missing measurements do not become zero latency. An SDK call span alone does not prove how much of its duration can be excluded.

#### Endpoint reachability and request failures

The endpoint-reachability target measures adapter health checks. Correctly forwarding a target quota or permission error is different from producing that error because the adapter sent the wrong request. Adapter-caused failures remain Tensor9's responsibility even when the target is healthy.

Correctness and data-integrity requirements apply to every supported request. Endpoint reachability does not measure request correctness or grant an allowance for incorrect results.

#### Scaling and target-service capacity

Independent zones, resolver endpoints and rules reconcile concurrently while changes to one zone or object remain generation ordered. Qualification fixes record count, change-batch bytes, routing-policy branches, endpoint addresses and returned page size; provider propagation and cache convergence are separate readiness measures.

Tell Tensor9 the expected steady rate, bursts, concurrency, payload sizes and operation mix. Tensor9 sizes and scales the adapter for the agreed load; you choose and monitor the target service's capacity with Tensor9's help. A latency budget is not a requests-per-second rating. Larger requests and higher rates need explicit terms, not silent inheritance of a small-request SLA.

#### Data and behavior guarantees

A successful management response preserves owner name, type, TTL, values, routing-policy identity and private-zone association without broadening visibility. Change status cannot report INSYNC until target observation supports it, and unsupported alias, DNSSEC, health-check or resolver semantics fail explicitly rather than degrading DNS behavior.

#### Example and diagnosis

ChangeResourceRecordSets submits a bounded batch of 100 records. The 20 ms target covers validation, atomic durable admission and target-plan construction. Target publication, nameserver delegation, recursive caches and client query time remain separately observed; GetChange reports the durable revision and its observed propagation state.

Use `tensor9 explain` and the documented explain headers to understand the selected adapter and its behavior. Correlate available request diagnostics with the target provider's latency, throttling and capacity metrics. An explain report helps diagnose a request; it is not by itself a qualified SLA timing measurement. Share the operation, request shape, timestamps and request identifiers with support, with credentials and customer payloads removed.

### Route53 to Azure DNS

| SLA | Service level | What is covered | Conditions |
| - | - | - | - |
| DNS management reads adapter-added latency | +8 ms monthly p99 | `aws::1.0.0::route53`: `GetChange`, `GetHostedZone`, `ListHostedZones`, `ListResourceRecordSets` | One point read or at most 100 returned zones, records, checks, endpoints or rules. |
| Bounded zone and record mutation adapter-added latency | +20 ms monthly p99 | `aws::1.0.0::route53`: `ChangeResourceRecordSets`, `CreateHostedZone`, `DeleteHostedZone` | One zone/check or at most 100 record changes and at most 1 MiB request; DNS propagation separate. |
| Documented adapter behavior | Preserve the supported behavior documented for this adapter | `aws::1.0.0::route53`: `GetChange`, `GetHostedZone`, `ListHostedZones`, `ListResourceRecordSets`, `ChangeResourceRecordSets`, `CreateHostedZone`, `DeleteHostedZone` | A successful management response preserves owner name, type, TTL, values, routing-policy identity and private-zone association without broadening visibility. Change status cannot report INSYNC until target observation supports it, and unsupported alias, DNSSEC, health-check or resolver semantics fail explicitly rather than degrading DNS behavior. |
| Endpoint reachability | 99.9% per calendar month | Adapter endpoint reachability | The agreed production deployment has healthy target connectivity and receives a valid adapter health probe. This measures the adapter endpoint, not the target provider's service. |
| Adapter autoscaling and limits | Automatic scaling within the workload and deployment limits in your agreement | Adapter behavior across requests | Your agreement states the maximum request rate, burst size, request and response sizes, concurrency, and target calls per request. Tensor9 maintains adapter capacity inside that envelope. Target-service quotas and capacity are separate. |

**Adapter-added latency.** A + prefix marks time added by the adapter, not the total time your application waits. Total request time includes adapter processing, backend service time and network time. The backend provider's SLA applies independently. Only separately measured target-service wait may be subtracted, and only when your agreement permits it; internal metadata, coordination and retry processing still count. For one request, 12 ms of adapter processing plus 90 ms waiting for the backend means at least 102 ms total. This example does not add monthly p99 values.

**What Tensor9 covers.** These service levels cover the adapter between the origin API and target API. They do not replace the target provider's SLA.

**How latency is counted.** Adapter work, including metadata and coordination, counts. Only separately measured permitted target waits are excluded.

**Which terms apply.** Your signed agreement names the covered operations, workload limits, remedies, and final service levels for your deployment.

#### What this adapter does

The adapter validates Route 53-shaped zone, record, health-check and resolver-management calls, records the requested revision and translates it to azure::1.0.0::dns. Authoritative or recursive DNS query processing occurs in the selected DNS service and is deliberately outside these management-operation targets; no DNS query latency is claimed.

#### How the latency targets were chosen

**DNS management reads: +8 ms monthly p99 (adapter-added).** `GetChange`, `GetHostedZone`, `ListHostedZones`, `ListResourceRecordSets`. Bounded desired and observed management-state lookup; no DNS query execution.

**Bounded zone and record mutation: +20 ms monthly p99 (adapter-added).** `ChangeResourceRecordSets`, `CreateHostedZone`, `DeleteHostedZone`. Whole-batch validation, atomic durable admission and reconciliation scheduling.

Your signed agreement sets the terms for your deployment. A target does not add an operation or option that the compatibility tables mark unavailable.

#### What counts toward latency

For a request-response row, measure from the agreed ingress boundary to dispatch of the complete response. A row that explicitly names a first response chunk ends at that chunk; its number does not cover the rest of the stream. A long-poll row names the intentional wait and when adapter delay starts. Include parsing, authorization, admission, translation, serialization, adapter-owned storage and coordination, retries and response handling. Subtract only separately measured target-workload waits and external network segments allowed by the measurement rules. The adapter's own response handling and dispatch remain covered. A database used for adapter metadata is still adapter work, even if a cloud provider hosts it.

For concurrent calls, exclude the union of permitted wait intervals, not the sum of overlapping spans. Calculate each request's adapter duration first, then the monthly p99. Do not subtract one service's p99 from another's. Known adapter timeouts are over-budget samples; failed or incomplete requests cannot disappear to improve the percentile. Missing measurements do not become zero latency. An SDK call span alone does not prove how much of its duration can be excluded.

#### Endpoint reachability and request failures

The endpoint-reachability target measures adapter health checks. Correctly forwarding a target quota or permission error is different from producing that error because the adapter sent the wrong request. Adapter-caused failures remain Tensor9's responsibility even when the target is healthy.

Correctness and data-integrity requirements apply to every supported request. Endpoint reachability does not measure request correctness or grant an allowance for incorrect results.

#### Scaling and target-service capacity

Independent zones, resolver endpoints and rules reconcile concurrently while changes to one zone or object remain generation ordered. Qualification fixes record count, change-batch bytes, routing-policy branches, endpoint addresses and returned page size; provider propagation and cache convergence are separate readiness measures.

Tell Tensor9 the expected steady rate, bursts, concurrency, payload sizes and operation mix. Tensor9 sizes and scales the adapter for the agreed load; you choose and monitor the target service's capacity with Tensor9's help. A latency budget is not a requests-per-second rating. Larger requests and higher rates need explicit terms, not silent inheritance of a small-request SLA.

#### Data and behavior guarantees

A successful management response preserves owner name, type, TTL, values, routing-policy identity and private-zone association without broadening visibility. Change status cannot report INSYNC until target observation supports it, and unsupported alias, DNSSEC, health-check or resolver semantics fail explicitly rather than degrading DNS behavior.

#### Example and diagnosis

ChangeResourceRecordSets submits a bounded batch of 100 records. The 20 ms target covers validation, atomic durable admission and target-plan construction. Target publication, nameserver delegation, recursive caches and client query time remain separately observed; GetChange reports the durable revision and its observed propagation state.

Use `tensor9 explain` and the documented explain headers to understand the selected adapter and its behavior. Correlate available request diagnostics with the target provider's latency, throttling and capacity metrics. An explain report helps diagnose a request; it is not by itself a qualified SLA timing measurement. Share the operation, request shape, timestamps and request identifiers with support, with credentials and customer payloads removed.

### Route53 to Cloudflare DNS

| SLA | Service level | What is covered | Conditions |
| - | - | - | - |
| DNS management reads adapter-added latency | +8 ms monthly p99 | `aws::1.0.0::route53`: `GetChange`, `GetHostedZone`, `ListHostedZones`, `ListResourceRecordSets` | One point read or at most 100 returned zones, records, checks, endpoints or rules. |
| Bounded zone and record mutation adapter-added latency | +20 ms monthly p99 | `aws::1.0.0::route53`: `ChangeResourceRecordSets`, `CreateHostedZone`, `DeleteHostedZone` | One zone/check or at most 100 record changes and at most 1 MiB request; DNS propagation separate. |
| Documented adapter behavior | Preserve the supported behavior documented for this adapter | `aws::1.0.0::route53`: `GetChange`, `GetHostedZone`, `ListHostedZones`, `ListResourceRecordSets`, `ChangeResourceRecordSets`, `CreateHostedZone`, `DeleteHostedZone` | A successful management response preserves owner name, type, TTL, values, routing-policy identity and private-zone association without broadening visibility. Change status cannot report INSYNC until target observation supports it, and unsupported alias, DNSSEC, health-check or resolver semantics fail explicitly rather than degrading DNS behavior. |
| Endpoint reachability | 99.9% per calendar month | Adapter endpoint reachability | The agreed production deployment has healthy target connectivity and receives a valid adapter health probe. This measures the adapter endpoint, not the target provider's service. |
| Adapter autoscaling and limits | Automatic scaling within the workload and deployment limits in your agreement | Adapter behavior across requests | Your agreement states the maximum request rate, burst size, request and response sizes, concurrency, and target calls per request. Tensor9 maintains adapter capacity inside that envelope. Target-service quotas and capacity are separate. |

**Adapter-added latency.** A + prefix marks time added by the adapter, not the total time your application waits. Total request time includes adapter processing, backend service time and network time. The backend provider's SLA applies independently. Only separately measured target-service wait may be subtracted, and only when your agreement permits it; internal metadata, coordination and retry processing still count. For one request, 12 ms of adapter processing plus 90 ms waiting for the backend means at least 102 ms total. This example does not add monthly p99 values.

**What Tensor9 covers.** These service levels cover the adapter between the origin API and target API. They do not replace the target provider's SLA.

**How latency is counted.** Adapter work, including metadata and coordination, counts. Only separately measured permitted target waits are excluded.

**Which terms apply.** Your signed agreement names the covered operations, workload limits, remedies, and final service levels for your deployment.

#### What this adapter does

The adapter validates Route 53-shaped zone, record, health-check and resolver-management calls, records the requested revision and translates it to cloudflare::1.0.0::dns. Authoritative or recursive DNS query processing occurs in the selected DNS service and is deliberately outside these management-operation targets; no DNS query latency is claimed.

#### How the latency targets were chosen

**DNS management reads: +8 ms monthly p99 (adapter-added).** `GetChange`, `GetHostedZone`, `ListHostedZones`, `ListResourceRecordSets`. Bounded desired and observed management-state lookup; no DNS query execution.

**Bounded zone and record mutation: +20 ms monthly p99 (adapter-added).** `ChangeResourceRecordSets`, `CreateHostedZone`, `DeleteHostedZone`. Whole-batch validation, atomic durable admission and reconciliation scheduling.

Your signed agreement sets the terms for your deployment. A target does not add an operation or option that the compatibility tables mark unavailable.

#### What counts toward latency

For a request-response row, measure from the agreed ingress boundary to dispatch of the complete response. A row that explicitly names a first response chunk ends at that chunk; its number does not cover the rest of the stream. A long-poll row names the intentional wait and when adapter delay starts. Include parsing, authorization, admission, translation, serialization, adapter-owned storage and coordination, retries and response handling. Subtract only separately measured target-workload waits and external network segments allowed by the measurement rules. The adapter's own response handling and dispatch remain covered. A database used for adapter metadata is still adapter work, even if a cloud provider hosts it.

For concurrent calls, exclude the union of permitted wait intervals, not the sum of overlapping spans. Calculate each request's adapter duration first, then the monthly p99. Do not subtract one service's p99 from another's. Known adapter timeouts are over-budget samples; failed or incomplete requests cannot disappear to improve the percentile. Missing measurements do not become zero latency. An SDK call span alone does not prove how much of its duration can be excluded.

#### Endpoint reachability and request failures

The endpoint-reachability target measures adapter health checks. Correctly forwarding a target quota or permission error is different from producing that error because the adapter sent the wrong request. Adapter-caused failures remain Tensor9's responsibility even when the target is healthy.

Correctness and data-integrity requirements apply to every supported request. Endpoint reachability does not measure request correctness or grant an allowance for incorrect results.

#### Scaling and target-service capacity

Independent zones, resolver endpoints and rules reconcile concurrently while changes to one zone or object remain generation ordered. Qualification fixes record count, change-batch bytes, routing-policy branches, endpoint addresses and returned page size; provider propagation and cache convergence are separate readiness measures.

Tell Tensor9 the expected steady rate, bursts, concurrency, payload sizes and operation mix. Tensor9 sizes and scales the adapter for the agreed load; you choose and monitor the target service's capacity with Tensor9's help. A latency budget is not a requests-per-second rating. Larger requests and higher rates need explicit terms, not silent inheritance of a small-request SLA.

#### Data and behavior guarantees

A successful management response preserves owner name, type, TTL, values, routing-policy identity and private-zone association without broadening visibility. Change status cannot report INSYNC until target observation supports it, and unsupported alias, DNSSEC, health-check or resolver semantics fail explicitly rather than degrading DNS behavior.

#### Example and diagnosis

ChangeResourceRecordSets submits a bounded batch of 100 records. The 20 ms target covers validation, atomic durable admission and target-plan construction. Target publication, nameserver delegation, recursive caches and client query time remain separately observed; GetChange reports the durable revision and its observed propagation state.

Use `tensor9 explain` and the documented explain headers to understand the selected adapter and its behavior. Correlate available request diagnostics with the target provider's latency, throttling and capacity metrics. An explain report helps diagnose a request; it is not by itself a qualified SLA timing measurement. Share the operation, request shape, timestamps and request identifiers with support, with credentials and customer payloads removed.

### Route53 to Cloud DNS

| SLA | Service level | What is covered | Conditions |
| - | - | - | - |
| DNS management reads adapter-added latency | +8 ms monthly p99 | `aws::1.0.0::route53`: `GetChange`, `GetHostedZone`, `ListHostedZones`, `ListResourceRecordSets` | One point read or at most 100 returned zones, records, checks, endpoints or rules. |
| Bounded zone and record mutation adapter-added latency | +20 ms monthly p99 | `aws::1.0.0::route53`: `ChangeResourceRecordSets`, `CreateHostedZone`, `DeleteHostedZone` | One zone/check or at most 100 record changes and at most 1 MiB request; DNS propagation separate. |
| Documented adapter behavior | Preserve the supported behavior documented for this adapter | `aws::1.0.0::route53`: `GetChange`, `GetHostedZone`, `ListHostedZones`, `ListResourceRecordSets`, `ChangeResourceRecordSets`, `CreateHostedZone`, `DeleteHostedZone` | A successful management response preserves owner name, type, TTL, values, routing-policy identity and private-zone association without broadening visibility. Change status cannot report INSYNC until target observation supports it, and unsupported alias, DNSSEC, health-check or resolver semantics fail explicitly rather than degrading DNS behavior. |
| Endpoint reachability | 99.9% per calendar month | Adapter endpoint reachability | The agreed production deployment has healthy target connectivity and receives a valid adapter health probe. This measures the adapter endpoint, not the target provider's service. |
| Adapter autoscaling and limits | Automatic scaling within the workload and deployment limits in your agreement | Adapter behavior across requests | Your agreement states the maximum request rate, burst size, request and response sizes, concurrency, and target calls per request. Tensor9 maintains adapter capacity inside that envelope. Target-service quotas and capacity are separate. |

**Adapter-added latency.** A + prefix marks time added by the adapter, not the total time your application waits. Total request time includes adapter processing, backend service time and network time. The backend provider's SLA applies independently. Only separately measured target-service wait may be subtracted, and only when your agreement permits it; internal metadata, coordination and retry processing still count. For one request, 12 ms of adapter processing plus 90 ms waiting for the backend means at least 102 ms total. This example does not add monthly p99 values.

**What Tensor9 covers.** These service levels cover the adapter between the origin API and target API. They do not replace the target provider's SLA.

**How latency is counted.** Adapter work, including metadata and coordination, counts. Only separately measured permitted target waits are excluded.

**Which terms apply.** Your signed agreement names the covered operations, workload limits, remedies, and final service levels for your deployment.

#### What this adapter does

The adapter validates Route 53-shaped zone, record, health-check and resolver-management calls, records the requested revision and translates it to google::1.0.0::dns. Authoritative or recursive DNS query processing occurs in the selected DNS service and is deliberately outside these management-operation targets; no DNS query latency is claimed.

#### How the latency targets were chosen

**DNS management reads: +8 ms monthly p99 (adapter-added).** `GetChange`, `GetHostedZone`, `ListHostedZones`, `ListResourceRecordSets`. Bounded desired and observed management-state lookup; no DNS query execution.

**Bounded zone and record mutation: +20 ms monthly p99 (adapter-added).** `ChangeResourceRecordSets`, `CreateHostedZone`, `DeleteHostedZone`. Whole-batch validation, atomic durable admission and reconciliation scheduling.

Your signed agreement sets the terms for your deployment. A target does not add an operation or option that the compatibility tables mark unavailable.

#### What counts toward latency

For a request-response row, measure from the agreed ingress boundary to dispatch of the complete response. A row that explicitly names a first response chunk ends at that chunk; its number does not cover the rest of the stream. A long-poll row names the intentional wait and when adapter delay starts. Include parsing, authorization, admission, translation, serialization, adapter-owned storage and coordination, retries and response handling. Subtract only separately measured target-workload waits and external network segments allowed by the measurement rules. The adapter's own response handling and dispatch remain covered. A database used for adapter metadata is still adapter work, even if a cloud provider hosts it.

For concurrent calls, exclude the union of permitted wait intervals, not the sum of overlapping spans. Calculate each request's adapter duration first, then the monthly p99. Do not subtract one service's p99 from another's. Known adapter timeouts are over-budget samples; failed or incomplete requests cannot disappear to improve the percentile. Missing measurements do not become zero latency. An SDK call span alone does not prove how much of its duration can be excluded.

#### Endpoint reachability and request failures

The endpoint-reachability target measures adapter health checks. Correctly forwarding a target quota or permission error is different from producing that error because the adapter sent the wrong request. Adapter-caused failures remain Tensor9's responsibility even when the target is healthy.

Correctness and data-integrity requirements apply to every supported request. Endpoint reachability does not measure request correctness or grant an allowance for incorrect results.

#### Scaling and target-service capacity

Independent zones, resolver endpoints and rules reconcile concurrently while changes to one zone or object remain generation ordered. Qualification fixes record count, change-batch bytes, routing-policy branches, endpoint addresses and returned page size; provider propagation and cache convergence are separate readiness measures.

Tell Tensor9 the expected steady rate, bursts, concurrency, payload sizes and operation mix. Tensor9 sizes and scales the adapter for the agreed load; you choose and monitor the target service's capacity with Tensor9's help. A latency budget is not a requests-per-second rating. Larger requests and higher rates need explicit terms, not silent inheritance of a small-request SLA.

#### Data and behavior guarantees

A successful management response preserves owner name, type, TTL, values, routing-policy identity and private-zone association without broadening visibility. Change status cannot report INSYNC until target observation supports it, and unsupported alias, DNSSEC, health-check or resolver semantics fail explicitly rather than degrading DNS behavior.

#### Example and diagnosis

ChangeResourceRecordSets submits a bounded batch of 100 records. The 20 ms target covers validation, atomic durable admission and target-plan construction. Target publication, nameserver delegation, recursive caches and client query time remain separately observed; GetChange reports the durable revision and its observed propagation state.

Use `tensor9 explain` and the documented explain headers to understand the selected adapter and its behavior. Correlate available request diagnostics with the target provider's latency, throttling and capacity metrics. An explain report helps diagnose a request; it is not by itself a qualified SLA timing measurement. Share the operation, request shape, timestamps and request identifiers with support, with credentials and customer payloads removed.

### Route53 to OCI DNS

| SLA | Service level | What is covered | Conditions |
| - | - | - | - |
| DNS management reads adapter-added latency | +8 ms monthly p99 | `aws::1.0.0::route53`: `GetChange`, `GetHostedZone`, `ListHostedZones`, `ListResourceRecordSets` | One point read or at most 100 returned zones, records, checks, endpoints or rules. |
| Bounded zone and record mutation adapter-added latency | +20 ms monthly p99 | `aws::1.0.0::route53`: `ChangeResourceRecordSets`, `CreateHostedZone`, `DeleteHostedZone` | One zone/check or at most 100 record changes and at most 1 MiB request; DNS propagation separate. |
| Documented adapter behavior | Preserve the supported behavior documented for this adapter | `aws::1.0.0::route53`: `GetChange`, `GetHostedZone`, `ListHostedZones`, `ListResourceRecordSets`, `ChangeResourceRecordSets`, `CreateHostedZone`, `DeleteHostedZone` | A successful management response preserves owner name, type, TTL, values, routing-policy identity and private-zone association without broadening visibility. Change status cannot report INSYNC until target observation supports it, and unsupported alias, DNSSEC, health-check or resolver semantics fail explicitly rather than degrading DNS behavior. |
| Endpoint reachability | 99.9% per calendar month | Adapter endpoint reachability | The agreed production deployment has healthy target connectivity and receives a valid adapter health probe. This measures the adapter endpoint, not the target provider's service. |
| Adapter autoscaling and limits | Automatic scaling within the workload and deployment limits in your agreement | Adapter behavior across requests | Your agreement states the maximum request rate, burst size, request and response sizes, concurrency, and target calls per request. Tensor9 maintains adapter capacity inside that envelope. Target-service quotas and capacity are separate. |

**Adapter-added latency.** A + prefix marks time added by the adapter, not the total time your application waits. Total request time includes adapter processing, backend service time and network time. The backend provider's SLA applies independently. Only separately measured target-service wait may be subtracted, and only when your agreement permits it; internal metadata, coordination and retry processing still count. For one request, 12 ms of adapter processing plus 90 ms waiting for the backend means at least 102 ms total. This example does not add monthly p99 values.

**What Tensor9 covers.** These service levels cover the adapter between the origin API and target API. They do not replace the target provider's SLA.

**How latency is counted.** Adapter work, including metadata and coordination, counts. Only separately measured permitted target waits are excluded.

**Which terms apply.** Your signed agreement names the covered operations, workload limits, remedies, and final service levels for your deployment.

#### What this adapter does

The adapter validates Route 53-shaped zone, record, health-check and resolver-management calls, records the requested revision and translates it to oci::1.0.0::dns. Authoritative or recursive DNS query processing occurs in the selected DNS service and is deliberately outside these management-operation targets; no DNS query latency is claimed.

#### How the latency targets were chosen

**DNS management reads: +8 ms monthly p99 (adapter-added).** `GetChange`, `GetHostedZone`, `ListHostedZones`, `ListResourceRecordSets`. Bounded desired and observed management-state lookup; no DNS query execution.

**Bounded zone and record mutation: +20 ms monthly p99 (adapter-added).** `ChangeResourceRecordSets`, `CreateHostedZone`, `DeleteHostedZone`. Whole-batch validation, atomic durable admission and reconciliation scheduling.

Your signed agreement sets the terms for your deployment. A target does not add an operation or option that the compatibility tables mark unavailable.

#### What counts toward latency

For a request-response row, measure from the agreed ingress boundary to dispatch of the complete response. A row that explicitly names a first response chunk ends at that chunk; its number does not cover the rest of the stream. A long-poll row names the intentional wait and when adapter delay starts. Include parsing, authorization, admission, translation, serialization, adapter-owned storage and coordination, retries and response handling. Subtract only separately measured target-workload waits and external network segments allowed by the measurement rules. The adapter's own response handling and dispatch remain covered. A database used for adapter metadata is still adapter work, even if a cloud provider hosts it.

For concurrent calls, exclude the union of permitted wait intervals, not the sum of overlapping spans. Calculate each request's adapter duration first, then the monthly p99. Do not subtract one service's p99 from another's. Known adapter timeouts are over-budget samples; failed or incomplete requests cannot disappear to improve the percentile. Missing measurements do not become zero latency. An SDK call span alone does not prove how much of its duration can be excluded.

#### Endpoint reachability and request failures

The endpoint-reachability target measures adapter health checks. Correctly forwarding a target quota or permission error is different from producing that error because the adapter sent the wrong request. Adapter-caused failures remain Tensor9's responsibility even when the target is healthy.

Correctness and data-integrity requirements apply to every supported request. Endpoint reachability does not measure request correctness or grant an allowance for incorrect results.

#### Scaling and target-service capacity

Independent zones, resolver endpoints and rules reconcile concurrently while changes to one zone or object remain generation ordered. Qualification fixes record count, change-batch bytes, routing-policy branches, endpoint addresses and returned page size; provider propagation and cache convergence are separate readiness measures.

Tell Tensor9 the expected steady rate, bursts, concurrency, payload sizes and operation mix. Tensor9 sizes and scales the adapter for the agreed load; you choose and monitor the target service's capacity with Tensor9's help. A latency budget is not a requests-per-second rating. Larger requests and higher rates need explicit terms, not silent inheritance of a small-request SLA.

#### Data and behavior guarantees

A successful management response preserves owner name, type, TTL, values, routing-policy identity and private-zone association without broadening visibility. Change status cannot report INSYNC until target observation supports it, and unsupported alias, DNSSEC, health-check or resolver semantics fail explicitly rather than degrading DNS behavior.

#### Example and diagnosis

ChangeResourceRecordSets submits a bounded batch of 100 records. The 20 ms target covers validation, atomic durable admission and target-plan construction. Target publication, nameserver delegation, recursive caches and client query time remain separately observed; GetChange reports the durable revision and its observed propagation state.

Use `tensor9 explain` and the documented explain headers to understand the selected adapter and its behavior. Correlate available request diagnostics with the target provider's latency, throttling and capacity metrics. An explain report helps diagnose a request; it is not by itself a qualified SLA timing measurement. Share the operation, request shape, timestamps and request identifiers with support, with credentials and customer payloads removed.

### Route53 to Scaleway Domains and DNS

**SLA status:** Not applicable

DNS zones and records are provisioned through the target provider. This mapping has no Route 53 management adapter endpoint, and DNS lookups go directly to the provider's name servers.

## Install and run

The documentation and SLAs are public. Downloading and running the Cloud Adapter binary requires an entitled customer account. Set `T9_API_KEY` as described in [Install and Authenticate](https://docs.tensor9.com/cloud-adapter-early-access/getting-started/install-and-authenticate.md), then list the adapters your account may use with this origin:

```sh theme={null}
tensor9 adapt svc list \
  -origin aws::1.0.0::route53
```

The result is limited to directed mappings for this origin that your account is entitled to use. Use a returned backend identifier when configuring the adapter or investigating a request.

Request binary access from [hello@tensor9.com](mailto:hello@tensor9.com) if your account does not yet include this direction.

## Existing data and credentials

Selecting a backend does not copy existing data, credentials or access policies. Plan and verify migration separately before changing an application's endpoint. Do not assume an identifier, credential or encrypted value from the origin service works unchanged on the target.

## Configure, tune and debug

Start with [setup](https://docs.tensor9.com/cloud-adapter-early-access/getting-started/overview.md) and [configuration](https://docs.tensor9.com/cloud-adapter-early-access/configuration/overview.md). Use [tuning](https://docs.tensor9.com/cloud-adapter-early-access/tuning/overview.md) to understand supported request tags, [debugging](https://docs.tensor9.com/cloud-adapter-early-access/debugging/overview.md) to investigate a request, and [High Fidelity Cloud Emulators](https://docs.tensor9.com/cloud-adapter-early-access/local-testing/overview.md) to validate a bounded reproduction.

For requests that go through an entitled service adapter, use [tensor9 explain](https://docs.tensor9.com/cloud-adapter-early-access/debugging/explain.md) and [x-t9-explain](https://docs.tensor9.com/cloud-adapter-early-access/debugging/response-headers.md) to inspect the selected mapping.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.