---
id: "cloudflare-magic-transit"
type: "component"
kind: "ddos-protection"
provider: "cloudflare"
category: "security"
docs: "https://developers.cloudflare.com/magic-transit/"
url: "https://localhost:3000/catalogue/components/cloudflare-magic-transit"
---

# Cloudflare Magic Transit

BGP-announced IP prefixes scrubbed on Cloudflare's network and delivered back over GRE, IPsec or CNI.

| | |
|---|---|
| Provider | [cloudflare](https://localhost:3000/catalogue?provider=cloudflare) |
| Kind | [DDoS protection plan](https://localhost:3000/catalogue/kinds/ddos-protection) |
| Category | Security |
| Official docs | [https://developers.cloudflare.com/magic-transit/](https://developers.cloudflare.com/magic-transit/) |

## Properties

| property | type | values | required | kind default | this component |
|---|---|---|---|---|---|
| `adaptiveThresholds` | boolean | — | no | — | inherited |
| `alwaysOn` | boolean | — | no | — | **true** |
| `deploymentMode` | enum | `always-on`, `on-demand` | no | "always-on" | inherited |
| `managed` | boolean | — | no | false | **true** |
| `minimumPrefixLength` | integer | — | no | 24 | inherited |
| `protectedResourceCount` | integer | — | no | — | inherited |
| `scope` | enum | `network`, `application`, `both` | no | — | **"network"** |
| `telemetry` | boolean | — | no | — | **true** |
| `tunnelType` | enum | `gre`, `ipsec`, `cni` | 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 · 10

- [Anti-DDoS Origin](https://localhost:3000/catalogue/components/alibaba-anti-ddos-origin.md) `alibaba-anti-ddos-origin` — alibabacloud
- [Anti-DDoS Pro](https://localhost:3000/catalogue/components/alibaba-anti-ddos-pro.md) `alibaba-anti-ddos-pro` — alibabacloud
- [Game Shield](https://localhost:3000/catalogue/components/alibaba-game-shield.md) `alibaba-game-shield` — alibabacloud
- [AWS Shield](https://localhost:3000/catalogue/components/aws-shield.md) `aws-shield` — aws
- [Azure DDoS Protection](https://localhost:3000/catalogue/components/azure-ddos-protection.md) `azure-ddos-protection` — azure
- [Cloudflare DDoS Protection](https://localhost:3000/catalogue/components/cloudflare-ddos-protection.md) `cloudflare-ddos-protection` — cloudflare
- [Generic DDoS protection plan](https://localhost:3000/catalogue/components/ddos-protection.md) `ddos-protection` — default
- [NETSCOUT Arbor DDoS](https://localhost:3000/catalogue/components/netscout-arbor.md) `netscout-arbor` — default
- [Radware DefensePro](https://localhost:3000/catalogue/components/radware-defensepro.md) `radware-defensepro` — default
- [DigitalOcean DDoS Protection](https://localhost:3000/catalogue/components/digitalocean-ddos-protection.md) `digitalocean-ddos-protection` — digitalocean

## Use it in a design

```yaml
nodes:
  - { id: "cloudflare-magic-transit", component: "cloudflare-magic-transit" }
```

## Source (`component` YAML, verbatim)

```yaml
# yaml-language-server: $schema=../../schema/component.schema.json
# Magic Transit: BGP-announced IP prefixes (a /24 minimum, or Cloudflare IPs for smaller networks)
# are scrubbed on the Cloudflare network and handed back over GRE, IPsec or CNI tunnels with
# health checks and priority-based steering ("Magic Transit overview").
schemaVersion: "1"
type: "component"
id: "cloudflare-magic-transit"
kind: "ddos-protection"
provider: "cloudflare"
docs: "https://developers.cloudflare.com/magic-transit/"
defaults:
  managed: true
  scope: "network"
  alwaysOn: true
  telemetry: true
properties:
  deploymentMode:
    type: "enum"
    values: ["always-on", "on-demand"]
    default: "always-on"
  tunnelType:
    type: "enum"
    values: ["gre", "ipsec", "cni"]
  minimumPrefixLength:
    type: "integer"
    default: 24
```

Human page: https://localhost:3000/catalogue/components/cloudflare-magic-transit
