Private connectivity: per-zone ingest endpoints
Send telemetry from your VPC or VNet to Watchtower without crossing the public internet. The Helm chart renders one gateway tier per entry of gateway.zones[]: a Deployment whose WT_ZONE makes the gateway stamp every record with the wt-zone header (1 to 32 characters of a-z0-9-, anything else is ignored), and an internal load-balanced Service that your provider's private-link feature attaches to. No public exposure is required.
gateway:
zones:
- { name: aws-use1, preset: aws-nlb-internal }
- { name: gcp-euw1, preset: gcp-ilb }
- { name: azure-weu, preset: azure-internal, loadBalancerSourceRanges: ["10.0.0.0/8"] }preset | Service annotations |
|---|---|
|
|
|
|
|
|
annotations adds or overrides entries. Each zone creates <release>-gateway-<zone> (the Deployment and a ClusterIP Service) and <release>-gateway-<zone>-internal (the load balancer). Zones are separate Deployments, so size gateway replicas and resources for the sum.
DNS
Publish ingest.<zone>.<domain> (for example ingest.aws-use1.example.com) in a private DNS zone that resolves inside the consumer network to the private endpoint below. Senders then use https://ingest.<zone>.<domain>:4318 (OTLP/HTTP) or :4317 (gRPC) with the usual ingestion key. Terminate TLS with a certificate for that name (WT_TLS_CERT and WT_TLS_KEY).
AWS PrivateLink
Apply the
aws-nlb-internalzone; wait for the NLB to beactive.Create a VPC endpoint service for that NLB (require acceptance) and allow the consumer account principals.
In each consumer VPC create an interface endpoint to the service, enable private DNS or create a private hosted zone for
ingest.<zone>.<domain>pointing to the endpoint.
GCP Private Service Connect
Apply the
gcp-ilbzone; note the forwarding rule of the internal passthrough load balancer.Publish it with a service attachment (accept list of consumer projects).
In each consumer VPC create a PSC endpoint targeting the attachment and a Cloud DNS private zone record for
ingest.<zone>.<domain>.
Azure Private Link
Apply the
azure-internalzone; the internal load balancer must be Standard SKU.Create a Private Link service on its frontend IP configuration with the consumer subscriptions in the visibility and auto-approval lists.
In each consumer VNet create a private endpoint to that service and a Private DNS zone record for
ingest.<zone>.<domain>.
Where the consumer cannot reach even a private endpoint all the time, put a relay in the consumer network and point it at the zone endpoint.