NAT Gateway Kosten bestehen aus einer Stundengebühr je Gateway und einer Gebühr je verarbeitetem Gigabyte; ein Gateway, durch das nichts fließt, zahlt die Stunden trotzdem, und ein Gateway je Verfügbarkeitszone und Subnetz vervielfacht sie. Dasselbe gilt für Interface-Endpunkte, Private-Link-Endpunkte und Cloud-NAT-Gateways, die nach Stunden berechnet werden, ob Bytes durchlaufen oder nicht. Die Einsparung entsteht, weil ein Gateway ohne Verkehr gelöscht und mehrere Gateways je Zone, wo die Architektur es erlaubt, zu einem je Zone zusammengelegt werden. Die Behebung gehört dem Team, das die Netzwerkvorlagen pflegt, weil Gateways aus Vorlagen entstehen und nicht aus Entscheidungen.

Symptom

Die Rechnung zeigt Gateway-Stunden ohne Bytes. Bei AWS sind das lineItem/UsageType EUC1-NatGateway-Hours ohne nennenswerte EUC1-NatGateway-Bytes unter AmazonEC2, dazu EUC1-VpcEndpoint-Hours ohne VpcEndpoint-Bytes, je Endpunkt und Zone. Bei Azure stehen MeterCategory Virtual Network mit NAT Gateway-Metern je Stunde und Data Processed je GB, und Private Link mit Endpunktstunden. In Google Cloud trägt Cloud NAT die SKUs für Gateway-Stunden je VM und für verarbeitete Daten, und Private Service Connect die Endpunktstunden. Was NAT grundsätzlich kostet und wie das Gateway im Glossar steht, erklärt Load Balancer, NAT und öffentliche IPs und der Begriff NAT-Gateway; diese Seite behandelt Gateways und Endpunkte ohne Verkehr.

Ein NAT-Gateway oder Endpunktohne VerkehrDie Stundenposition zähltvolle Stunden: NatGateway-Hours, VpcEndpoint-Hours,NAT-Gateway-Meter,EndpunktstundenKeine nennenswerte Byte-Position daneben:NatGateway-Bytes,Data ProcessedGateway-Stunden ohne Bytes,je Endpunkt und Zone
Ein ungenutztes Gateway oder ein ungenutzter Endpunkt ist eine Stundenposition mit vollen Stunden, neben der keine nennenswerte Byte-Position steht

So erkennen Sie es

AWS

Die Gateways mit Zone und Subnetz, und die Endpunkte mit Typ und Dienst:

aws ec2 describe-nat-gateways --filter Name=state,Values=available \
  --query 'NatGateways[].[NatGatewayId,VpcId,SubnetId,NatGatewayAddresses[0].PublicIp,CreateTime]' --output table
aws ec2 describe-vpc-endpoints --filters Name=vpc-endpoint-type,Values=Interface \
  --query 'VpcEndpoints[].[VpcEndpointId,VpcId,ServiceName,length(SubnetIds),CreationTimestamp]' --output table

Die Bytes eines Gateways über 30 Tage:

aws cloudwatch get-metric-statistics --namespace AWS/NATGateway --metric-name BytesOutToDestination \
  --dimensions Name=NatGatewayId,Value=nat-0123456789abcdef0 --statistics Sum \
  --start-time 2026-09-21T00:00:00Z --end-time 2026-10-21T00:00:00Z --period 86400

Vier Prüfungen von AWS (gelesen am 2026-10-21): Trusted Advisor meldet unter "Inactive NAT Gateways" ein Gateway, das in den letzten 30 Tagen 0 Bytes verarbeitet hat, unter "Inactive VPC interface endpoints" einen Endpunkt mit 0 Bytes in 30 Tagen, und ebenso inaktive Gateway-Load-Balancer-Endpunkte und Network Firewalls; Compute Optimizer stuft ein Gateway als ungenutzt ein, das verfügbar ist, in keiner Routing-Tabelle steht und über den Betrachtungszeitraum weder aktive Verbindungen noch Pakete von Quelle oder Ziel hatte:

aws compute-optimizer get-idle-recommendations --filters name=ResourceType,values=NatGateway

AWS nennt in US East (Ohio) 0,045 USD je Gateway-Stunde und 0,045 USD je verarbeitetem GB (VPC-Preise). In den Abrechnungsdaten ist der Kandidat eine NatGateway-Hours-Position mit 720 Stunden und einer NatGateway-Bytes-Position nahe null für dieselbe lineItem/ResourceId (AWS Cost and Usage Report).

Azure

Die NAT-Gateways mit Subnetzen und Adressen, und die privaten Endpunkte:

az network nat gateway list --query "[].{name:name, rg:resourceGroup, subnets:length(subnets), ips:length(publicIpAddresses), sku:sku.name}" -o table
az network private-endpoint list --query "[].{name:name, rg:resourceGroup, service:privateLinkServiceConnections[0].privateLinkServiceId}" -o table

Die Metrik ByteCount eines Gateways über 30 Tage, als Summe je Tag (NAT-Gateway-Metriken):

az monitor metrics list --resource <nat-gateway-resource-id> --metric ByteCount --aggregation Total \
  --interval P1D --start-time 2026-09-21T00:00:00Z --end-time 2026-10-21T00:00:00Z

Azure Advisor hat keine Empfehlung zu NAT-Gateways oder privaten Endpunkten ohne Verkehr; er meldet als Vorschau virtuelle Netzwerkgateways ohne Verbindungen und ExpressRoute-Circuits, die nie bereitgestellt wurden. Im Kostenexport ist der Kandidat eine natGateways/-Ressource mit Stundenmeter und ohne Data Processed (Azure-Kostenexporte).

Google Cloud

Die Cloud-NAT-Gateways je Router und die Private-Service-Connect-Endpunkte:

gcloud compute routers list --format="table(name,region.basename(),network.basename())"
gcloud compute routers nats list --router=<router> --region=<region> --format="table(name,natIpAllocateOption,sourceSubnetworkIpRangesToNat)"
gcloud compute forwarding-rules list --filter="target ~ serviceAttachments" --format="table(name,region.basename(),IPAddress,target.basename())"

Die Metrik router.googleapis.com/nat/sent_bytes_count je Gateway in Cloud Monitoring über 30 Tage ist der Nachweis; Cloud NAT wird je Gateway-Stunde nach der Zahl der angeschlossenen VMs und je verarbeitetem GB berechnet (Cloud-NAT-Preise). Einen Recommender für NAT gibt es nicht. Im Abrechnungsexport ist der Kandidat eine Cloud NAT-Gateway-SKU mit vollen Stunden ohne Daten-SKU daneben (Google-Cloud-Abrechnungsexport).

So beheben Sie es

  1. Je Gateway klären, ob es Teil einer Notfallarchitektur ist, wie Compute Optimizer es ausdrücklich fragt: ein Gateway in der zweiten Zone, das nur beim Ausfall der ersten Verkehr sieht, ist kein Fall für diese Seite.
  2. Gateways und Endpunkte ohne Verkehr löschen, nach der Liste. AWS: zuerst die Routen prüfen, aws ec2 describe-route-tables --filters Name=route.nat-gateway-id,Values=nat-0123456789abcdef0, dann aws ec2 delete-nat-gateway --nat-gateway-id nat-0123456789abcdef0 --dry-run und aws ec2 delete-vpc-endpoints --vpc-endpoint-ids vpce-0123456789abcdef0 --dry-run, beide ohne --dry-run erst nach der Freigabe; die Elastic-IP-Adresse des Gateways bleibt und braucht release-address. Azure: az network nat gateway delete --name <gateway> --resource-group <rg> und az network private-endpoint delete, ohne Dry-Run. Google Cloud: gcloud compute routers nats delete <nat> --router=<router> --region=<region> und gcloud compute forwarding-rules delete.
  3. Zusammenlegen, wo mehrere Gateways je Zone laufen: ein NAT-Gateway je Verfügbarkeitszone, das alle privaten Subnetze derselben Zone bedient, statt eines je Subnetz; bei AWS ein Endpunkt je Dienst und VPC, oder ein zentraler Endpunkt in einer gemeinsamen VPC mit Private-DNS-Weiterleitung. Ein Beispiel aus den Namensregeln: drei private Subnetze in eu-central-1a mit je einem Gateway zahlen drei Stundengebühren, eines je Zone mit drei Routen eine.
  4. Die Vorlage korrigieren: ein Gateway je Zone als Modulstandard, Gateway-Endpunkte für S3 und DynamoDB, die keine Stundengebühr haben, statt Interface-Endpunkten, und eine Prüfung im Review, die neue Gateways begründet (Kostenprüfung von Infrastrukturcode).

Die Stundengebühr endet mit dem Löschen; der Tagesexport zeigt es am Folgetag.

ja: Verkehr nur beimAusfall der ersten ZoneneinTeil einerNotfallarchitektur?Kein Fall für dieseSeite: bleibtNach der Liste löschen: erstdie Routen prüfen, Dry-Run,dann die Elastic IPfreigeben, die dasGateway zurücklässtZusammenlegen: ein NAT-Gateway je Zone für alleprivaten Subnetze der Zone,ein Endpunkt je Dienstund VPCDie Vorlage korrigieren:ein Gateway je Zone alsStandard, Gateway-Endpunktefür S3 und DynamoDB, einePrüfung im ReviewDie Stundengebühr endetmit dem Löschen
Das Notfall-Gateway bleibt, der Rest wird nach der Liste gelöscht, je Zone zusammengelegt, und die Vorlage macht eines je Zone zum Standard

Risiken und Nebenwirkungen

  • Ein Gateway ohne Verkehr ist zuweilen der Rückweg einer Notfallarchitektur; die Routing-Tabelle und das Tag sagen es, der Verantwortliche entscheidet.
  • Ein Gateway je Zone statt je Subnetz spart Stunden, aber ein Subnetz, das über ein Gateway in einer anderen Zone ins Internet geht, zahlt zonenübergreifenden Transfer und verliert beim Zonenausfall den Weg; die Zusammenlegung bleibt innerhalb der Zone (Datentransfer-Optimierung).
  • Ein gelöschter Interface-Endpunkt lenkt den Verkehr zum Dienst zurück über das NAT-Gateway und zahlt dort je GB; ob Endpunkt oder Gateway günstiger ist, hängt vom Volumen ab.
  • Die Elastic-IP-Adresse eines gelöschten NAT-Gateways bleibt zugeordnet und kostet je Stunde weiter, bis sie freigegeben wird (ungenutzte öffentliche IP-Adressen).
  • Private Endpunkte haben neben der Kostenfrage eine Sicherheitsfunktion; ein Endpunkt ohne Verkehr, der eine Richtlinie "kein öffentlicher Zugriff" erfüllt, bleibt.

So weisen Sie die Einsparung nach

Vorher: je Gateway und Endpunkt die Stunden- und die Byte-Position im letzten vollen Monat: NatGateway-Hours und NatGateway-Bytes, VpcEndpoint-Hours, die NAT-Gateway- und Private-Link-Meter, die Cloud-NAT-SKUs. Nachher: dieselben Ressourcen im ersten vollen Monat nach dem Löschen oder Zusammenlegen, erwartet null, und daneben die Byte-Position der verbleibenden Gateways, die um den umgeleiteten Verkehr steigen darf. Die Summe der Stundengebühren der Löschliste ist die Schätzung, die Freigabe macht sie akzeptiert, das Löschen umgesetzt, und die Rechnung des Folgemonats belegt sie nach dem Muster von geschätzt, akzeptiert, umgesetzt, verifiziert. Die Zahl der Gateways mit null Bytes in 30 Tagen ist die Kennzahl, die danach null bleibt.

Quellen

Gelesen am 2026-10-21. Trusted Advisor, Kostenoptimierungsprüfungen, Compute Optimizer, Leerlaufressourcen, Amazon VPC, Preise, describe-nat-gateways, Azure NAT Gateway, Metriken, Azure Advisor, Kostenempfehlungen, Cloud NAT, Preise, gcloud compute routers nats.