Cloud NAT

gcpNAT gatewaygoogle-cloud-nat

Distributed managed source NAT for outbound traffic from private instances.

Provider
gcp
Category
Edge
Properties · 3 set by this component
propertytypevaluesrequiredkind defaultthis component
idleTimeoutMinutesinteger—no—▸ 20
loggingboolean—nofalse▸ false
managedboolean—nofalse▸ true
minPortsPerVm · component propertyinteger—no64inherited
natType · component propertyenumpublic | privatenopublicinherited
portAllocation · component propertyenumstatic | dynamicnostaticinherited
staticIpCountinteger—no—inherited
udpIdleTimeoutSeconds · component propertyinteger—no30inherited
zoneRedundantboolean—no—inherited
Rules that apply · 0

Every rule whose selector covers this component's kind or its category. Whether a rule fires depends on the design: its properties, its edges and its groups.

No rule reads this kind yet. That is a gap, not a guarantee.
Use it in a design
nodes:
  - { id: "cloud-nat", component: "google-cloud-nat" }
Other NAT gateway products · 8
Source
# yaml-language-server: $schema=../../schema/component.schema.json
# Cloud NAT: distributed, software-defined managed egress NAT; no proxy VMs or appliances.
# Defaults from "Cloud NAT overview", "IP addresses and ports" (64 ports per VM, static allocation) and "Tune NAT configuration" (TCP established idle 1200 s, UDP and ICMP idle 30 s).
schemaVersion: "1"
type: "component"
id: "google-cloud-nat"
kind: "nat-gateway"
provider: "gcp"
docs: "https://cloud.google.com/nat/docs/overview"
defaults:
  managed: true
  logging: false
  idleTimeoutMinutes: 20
properties:
  natType:
    type: "enum"
    values: ["public", "private"]
    default: "public"
  portAllocation:
    type: "enum"
    values: ["static", "dynamic"]
    default: "static"
  minPortsPerVm:
    type: "integer"
    default: 64
  udpIdleTimeoutSeconds:
    type: "integer"
    default: 30

The same page as markdown, for an agent: /catalogue/components/google-cloud-nat.md