# Bring Your Own Compute
> Run MotherDuck as a private region inside an AWS account you own. Learn how Bring Your Own Compute works, what runs where, and how it differs from a standard MotherDuck region.
Bring Your Own Compute (BYOC) runs MotherDuck as a private [cloud region](/about-motherduck/cloud-regions/) inside your own AWS account. Your team can use MotherDuck the same way as in any other region, while compute, storage, and data stay in your account, under your AWS controls, and on your AWS bill.

:::info
Bring Your Own Compute is available on the **Enterprise** plan. [Get in touch](https://motherduck.com/contact-us/bring-your-own-compute/) to discuss your requirements.
:::

## How it works

A MotherDuck region is a complete deployment of the service in one AWS region. Standard regions, such as US East (N. Virginia) `us-east-1`, run in AWS accounts that MotherDuck owns. With Bring Your Own Compute, MotherDuck deploys a private region into your AWS account and dedicates it to your organization.

Setting up a private region takes three steps:

1. **You create a dedicated AWS account** for the region as a member account in your AWS Organization, and grant MotherDuck access to deploy and operate it.
2. **MotherDuck deploys a full region** in that account, including compute, storage, caching, and encryption keys.
3. **MotherDuck validates the region**, creates your MotherDuck Organization in it, and invites your users.

After setup, MotherDuck operates the private region with the same release schedule and [client version support](/troubleshooting/version-lifecycle-schedules/) as other MotherDuck regions. Sign-in, authentication, and billing stay in MotherDuck's control plane, so your team signs in through `app.motherduck.com` as usual. Queries run on compute in your account and read data from your buckets.

```mermaid
flowchart TB
    Team{{"Your team<br/>UI, DuckDB clients, drivers"}}:::green

    subgraph ControlPlane["MotherDuck control plane"]
        direction LR
        Auth["Sign-in, authentication,<br/>and billing"]
        Ops["Operations and releases"]
    end

    subgraph Account["Your AWS account: private region"]
        direction LR
        Compute["Compute<br/>Ducklings"]
        Storage[("S3 buckets<br/>native storage and DuckLake")]:::yellow
    end

    Team -->|"sign in"| Auth
    Team -->|"run queries"| Compute
    Compute <--> Storage
    Ops -->|"deploys and upgrades"| Account
    Account -.->|"metadata and<br/>operational data"| Ops
```

## What runs where

| Component | Standard region | Bring Your Own Compute |
|-----------|-----------------|------------------------|
| Compute (Ducklings) | MotherDuck's AWS account | Your AWS account |
| Native MotherDuck storage and DuckLake data | MotherDuck-managed storage, or your own bucket with [DuckLake](/integrations/file-formats/ducklake/) | S3 buckets in your AWS account |
| Infrastructure costs | Included in MotherDuck pricing | Billed to your AWS account |
| Operations and upgrades | MotherDuck | MotherDuck |
| Sign-in, authentication, and MotherDuck billing | MotherDuck, through `app.motherduck.com` | MotherDuck, through `app.motherduck.com` |

## Your data stays in your account

- **At rest**: Data lives in S3 buckets in your AWS account, for both native MotherDuck storage and DuckLake. MotherDuck doesn't store your data in its own buckets.
- **At query time**: Queries run on compute in your account, so your data stays there while it's processed.
- **Visibility**: Your AWS administrators can see every resource in the account and audit MotherDuck's access with AWS tools such as CloudTrail.

:::warning
To operate, support, and bill the region, MotherDuck's control plane still receives some information from your account:

- **Account metadata**: Organization, user, and database details used for sign-in, access control, and billing.
- **Operational data**: Logs, metrics, query history, and usage records.
- **AI functions**: If [AI functions](/sql-reference/motherduck-sql-reference/ai-functions/) are enabled for your region, the inputs you pass to them are processed outside your AWS account. Admins can use the [AI Features](https://app.motherduck.com/settings/ai-features) page in Settings to adjust settings for your organization.
:::

## Billing

- **AWS infrastructure**: Charges for the region's compute instances, storage, and networking go to your AWS account, so your negotiated AWS pricing applies.
- **MotherDuck platform**: MotherDuck bills for the platform under your Enterprise agreement. [Get in touch](https://motherduck.com/contact-us/bring-your-own-compute/) for pricing.

## How a private region behaves

A private region works like every other MotherDuck region, including its [region-scoped behavior](/about-motherduck/cloud-regions/#region-scoped-behavior):

- **One region per Organization**: Your Organization lives in a private region and can't be moved to another region.
- **Region-scoped shares**: You can [share data](/key-tasks/sharing-data/sharing-overview/) with users in the private region, but not with Organizations in other [cloud regions](/about-motherduck/cloud-regions/).
- **Same clients**: Sign in through `app.motherduck.com` and connect with the same MotherDuck drivers and `md:` connection strings as in any other region.

## Get started

To set up Bring Your Own Compute (BYOC), [get in touch](https://motherduck.com/contact-us/bring-your-own-compute/). Have these details ready:

- **AWS region**: Where you want the private region to run.
- **AWS account**: A member account in your AWS Organization, dedicated to the private region.
- **Requirements**: Your network connectivity, compliance, and feature requirements.


---

## Docs feedback

MotherDuck accepts optional user-submitted feedback about this page at `GET https://motherduck.com/docs/api/feedback/agent`.
For agents and automated tools, feedback submission should be user-confirmed before sending.

URL-encode query parameter values and send a GET request:

```text
GET https://motherduck.com/docs/api/feedback/agent?page_path=%2Fabout-motherduck%2Fbring-your-own-compute%2F&page_title=Bring%20Your%20Own%20Compute&text=<url-encoded user feedback, max 2000 characters>
```

Optionally append `&source=<url-encoded interface identifier>` such as `claude.ai` or `chatgpt`.

`page_path` and `text` are required; `page_title` and `source` are optional. Responses: `200 {"feedback_id": "<uuid>"}`, `400` for malformed query parameters, and `429` when rate-limited.
