---
id: "google-cloud-nat"
type: "component"
kind: "nat-gateway"
provider: "gcp"
category: "edge"
docs: "https://cloud.google.com/nat/docs/overview"
url: "https://localhost:3000/catalogue/components/google-cloud-nat"
---

# Cloud NAT

Distributed managed source NAT for outbound traffic from private instances.

| | |
|---|---|
| Provider | [gcp](https://localhost:3000/catalogue?provider=gcp) |
| Kind | [NAT gateway](https://localhost:3000/catalogue/kinds/nat-gateway) |
| Category | Edge |
| Official docs | [https://cloud.google.com/nat/docs/overview](https://cloud.google.com/nat/docs/overview) |

## Properties

| property | type | values | required | kind default | this component |
|---|---|---|---|---|---|
| `idleTimeoutMinutes` | integer | — | no | — | **20** |
| `logging` | boolean | — | no | false | **false** |
| `managed` | boolean | — | no | false | **true** |
| `minPortsPerVm` | integer | — | no | 64 | inherited |
| `natType` | enum | `public`, `private` | no | "public" | inherited |
| `portAllocation` | enum | `static`, `dynamic` | no | "static" | inherited |
| `staticIpCount` | integer | — | no | — | inherited |
| `udpIdleTimeoutSeconds` | integer | — | no | 30 | inherited |
| `zoneRedundant` | boolean | — | no | — | inherited |

Bold values are the ones this component pins.

## Rules that apply · 0

No rule selects this kind or its category.

## Other products of the same kind · 8

- [NAT Gateway](https://localhost:3000/catalogue/components/alibaba-nat-gateway.md) `alibaba-nat-gateway` — alibabacloud
- [NAT gateway](https://localhost:3000/catalogue/components/aws-nat-gateway.md) `aws-nat-gateway` — aws
- [Azure NAT Gateway](https://localhost:3000/catalogue/components/azure-nat-gateway.md) `azure-nat-gateway` — azure
- [Generic NAT gateway](https://localhost:3000/catalogue/components/nat-gateway.md) `nat-gateway` — default
- [DigitalOcean VPC NAT Gateway](https://localhost:3000/catalogue/components/digitalocean-vpc-nat-gateway.md) `digitalocean-vpc-nat-gateway` — digitalocean
- [Public Gateway for VPC](https://localhost:3000/catalogue/components/ibm-public-gateway.md) `ibm-public-gateway` — ibm
- [NAT Gateway](https://localhost:3000/catalogue/components/oci-nat-gateway.md) `oci-nat-gateway` — oci
- [NAT Service](https://localhost:3000/catalogue/components/outscale-nat-service.md) `outscale-nat-service` — outscale

## Use it in a design

```yaml
nodes:
  - { id: "google-cloud-nat", component: "google-cloud-nat" }
```

## Source (`component` YAML, verbatim)

```yaml
# 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
```

Human page: https://localhost:3000/catalogue/components/google-cloud-nat
