AzureLive-testedattested

Azure Traffic Manager Profile

Global, DNS-based load balancing with a Traffic Manager profile and map-driven external endpoints - Performance, Priority, Weighted, Geographic, Subnet or MultiValue routing with an HTTPS health probe.

terraformAzureazure

Compare DNS & Traffic Management across clouds →

azure-traffic-managervizier v1.2.0

Verification

Live-tested

Really deployed to a cloud sandbox, verified against its outputs and assertions, then destroyed - with the teardown confirmed.

Conformance

  • Static validation (fmt · validate · tflint)
  • No applicable security policies for this provider
  • Plan test superseded by live test

Provenance

Functional

  • Live-tested - applied, verified, destroyed

Last verified 2026-06-30 · how we verify

Verify this download

cosign · sha-256

Don't take our word for it. Every release is signed with cosign - check the bytes against our pinned public key before you trust them.

# 1. Our pinned public key - fetch once, trust out-of-band
curl -O https://iac-bazaar.ae/cosign.pub

# 2. This module's Sigstore bundle
curl -o azure-traffic-manager-1.0.0.sigstore.json \
  https://iac-bazaar.ae/api/artifacts/azure-traffic-manager/signature

# 3. Verify the tarball you downloaded
cosign verify-blob \
  --key cosign.pub \
  --bundle azure-traffic-manager-1.0.0.sigstore.json \
  azure-traffic-manager-1.0.0.tar.gz
# → Verified OK

# 4. (optional) confirm the checksum too
echo "ccfa0d2931763cad1e213b08002227cbe125adce21e9390e984da6f9a7680a6a  azure-traffic-manager-1.0.0.tar.gz" | sha256sum -c

Use it from the registry

terraform · opentofu
module "traffic_manager" {
  source  = "www.iac-bazaar.com/iac-bazaar/azure-traffic-manager/azure"
  version = "1.0.0"
}

Needs a registry token from /account/tokens. The module itself is free; the account is what identifies you. Full setup: registry docs.

Cite it in your README

badge · attribution

Paste this beside the module in the repository that uses it. The badge is rendered from this artifact's verification record, so it reads live-tested because the record says so, and the link lands on this page.

README.md, GitLab, Gitea
[![IaC Bazaar: live-tested](https://www.iac-bazaar.com/api/artifacts/azure-traffic-manager/badge)](https://www.iac-bazaar.com/catalog/azure-traffic-manager?utm_source=syndication&utm_medium=readme&utm_campaign=artifact)

Terraform module 1.0.0, live-tested on IaC Bazaar: [Azure Traffic Manager Profile](https://www.iac-bazaar.com/catalog/azure-traffic-manager?utm_source=syndication&utm_medium=readme&utm_campaign=artifact)

```hcl
module "traffic_manager" {
  source  = "www.iac-bazaar.com/iac-bazaar/azure-traffic-manager/azure"
  version = "1.0.0"
}
```

Preview:IaC Bazaar: live-tested

Inputs & outputs

Create a free account to read this module's contract

The declared contract - every input name, type, default and description, plus every output - is shown to signed-in accounts, not to anonymous visitors.

A free account sees the contract of every module in the catalogue. There is no subscription and nothing to buy - the modules are free to download, and they run under Vizier.

Documentation

azure-traffic-manager

Global, DNS-based load balancing with Azure Traffic Manager: a profile (azurerm_traffic_manager_profile) plus map-driven external endpoints (azurerm_traffic_manager_external_endpoint). Steer clients across regions or providers by Performance (lowest latency), Priority (failover), Weighted, Geographic, Subnet or MultiValue routing, with a single health monitor. Secure-by-default: the health probe is HTTPS/443, and Traffic View analytics (extra cost + client-network telemetry) is off. Consumes an existing resource group (Traffic Manager is a global resource). Works with Terraform and OpenTofu (>= 1.6), azurerm provider >= 4.0, < 5.0.

Requirements

RequirementVersion
Terraform / OpenTofu>= 1.6
hashicorp/azurerm>= 4.0, < 5.0

License

Commercial — IaC Bazaar EULA. © IaC Bazaar. Original work (not derived from a third-party module).

Usage code & full reference need an account

The complete copy-paste usage, the full input/output reference, and operational notes are free with an account - shown here and bundled in the download. Sign in and this section fills in.

  • Usage
  • Inputs
  • Outputs
  • Notes — the routing toggles that trip people up

Azure Traffic Manager pricing and routing

How Traffic Manager routes traffic

Traffic Manager is a DNS-based traffic load balancer. It never carries your traffic: when a client looks up the profile's name (<name>.trafficmanager.net, or your own name with a CNAME to it), Traffic Manager answers with one of your service endpoints, and the client connects straight to that endpoint's IP address. The profile's traffic routing method decides which endpoint it hands out:

  • Performance: the endpoint with the lowest network latency from the client. Azure needs the region of every external endpoint to use it.
  • Priority: the first healthy endpoint in priority order, so traffic fails over automatically from a primary to a standby.
  • Weighted: distributes traffic across endpoints in proportion to each endpoint's weight.
  • Geographic: the endpoint mapped to the region the query comes from, for data that has to stay in one jurisdiction.
  • Subnet: the endpoint mapped to the client's IP address range.
  • MultiValue: several healthy endpoints in one answer, up to a maximum you set. Azure accepts it only when every endpoint is external and given as an IPv4 or IPv6 address.

Every profile health-checks its endpoints and stops handing out one that fails. Because the answer is DNS, a client that already resolved a failed endpoint keeps using it until its cached answer expires. With Azure's default probing (every 30 seconds, 3 failures tolerated) and a 60-second TTL, clients move off a failed endpoint after roughly three minutes: about two minutes to detect the failure, then up to one minute for caches to expire.

What Azure bills for

Microsoft bills a Traffic Manager profile for the DNS queries it answers and for every endpoint it monitors. List prices in US dollars, as Microsoft's retail price list gave them on 8 October 2026:

MeterList price
DNS queries, first billion each month$0.54 per million
DNS queries, beyond a billion each month$0.375 per million
Health checks, per external endpoint$0.54 a month
HTTPS health checks add-on, per external endpoint$2.00 a month
Fast interval health checks add-on, per external endpoint$2.00 a month
Traffic View, per million data points processed$2.00

Azure endpoints cost less to monitor ($0.36 a month, and $1.00 for each add-on), but this module creates external endpoints only. What you pay depends on your agreement and currency, so check Microsoft's pricing page before you budget.

What moves the bill

  • Endpoints. Each external endpoint is health-checked: $0.54 a month.
  • HTTPS probes, which this module uses by default, carry the HTTPS health checks add-on that the price list shows from 1 July 2026: $2.00 per endpoint a month. Two endpoints probed over HTTPS list at $5.08 a month before any DNS queries.
  • Fast probing, every 10 seconds instead of 30, adds $2.00 per endpoint a month ($4.54 in all with HTTPS) and cuts detection from about two minutes to about forty seconds.
  • The TTL is how long resolvers cache an answer. A shorter one moves clients faster after a failure and sends more queries to Traffic Manager, each one billed.
  • Traffic View, which this module leaves off, adds $2.00 per million data points processed, and Microsoft counts each query Traffic Manager receives as a data point.

Written by IaC Bazaar about the cloud service, not part of the module. Checked on 8 October 2026 against Traffic Manager pricing, Azure Retail Prices API, Traffic Manager routing methods and Traffic Manager endpoint monitoring.

Related modules

Live-tested

azure-application-gateway

Regional L7 load balancer with WAF v2 policy, TLS termination from Key Vault, autoscaling and health probes.

View module
Live-tested

azure-front-door

Global entry point: Front Door profile, endpoints, origin groups, custom domains with managed TLS and WAF policy.

View module
Live-tested

azure-load-balancer

An Azure Standard L4 load balancer with a self-created static public IP frontend, a backend address pool, health probes and load-balancing rules - Standard SKU throughout.

View module
Static validatedLive test pending

civo-dns-zone

A Civo DNS zone with every record in one map, each with the TTL Civo requires per record, and the nameservers exported for the registrar. Civo does not sign zones and has no CAA or NS record types; dnssec_available says so, so a domain that needs DNSSEC is sent elsewhere before it is delegated.

View module
Static validatedLive test pending

do-dns-zone

A DigitalOcean domain and its records. Creating the zone does not delegate it: until the registrar's nameservers point here the zone is correct, complete and serving nobody, which looks exactly like a working zone. The domain's ip_address shortcut, which hides an apex A record from your records map, is deliberately not used, and a CNAME at the apex is refused.

View module
Static validatedLive test pending

tencent-dns-zone

A Tencent Cloud DNSPod zone with every record in one map, all on the default resolution line so every resolver gets the same answer, MX priority carried on the record, and the free-grade nameservers exported for the registrar. DNSSEC is not a resource in the provider; dnssec_available says so.

View module