Skip to content

Commit 990bdd7

Browse files
authored
byoc: add onboarding docs and diagram (#23256)
1 parent da6fe79 commit 990bdd7

12 files changed

Lines changed: 731 additions & 1 deletion

TOC-tidb-cloud-byoc.md

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,16 @@
2929

3030
- [Select Your Plan](/tidb-cloud/select-cluster-tier.md)
3131
- [Manage TiDB Cloud Resources and Projects](/tidb-cloud/manage-projects-and-resources.md)
32-
- Manage {{{ .premium }}} Instances
32+
- Deploy BYOC
33+
- [Onboarding Overview](/tidb-cloud/byoc/byoc-onboarding-overview.md)
34+
- [Prepare AWS Environment](/tidb-cloud/byoc/byoc-prepare-environment-aws.md)
35+
- [Configure IAM Permissions](/tidb-cloud/byoc/byoc-iam-configuration.md)
36+
- [Automated Deployment](/tidb-cloud/byoc/byoc-automated-deployment.md)
37+
- [Service Initialization](/tidb-cloud/byoc/byoc-service-initialization.md)
38+
- [Joint Validation](/tidb-cloud/byoc/joint-validation.md)
39+
- [Security Hardening](/tidb-cloud/byoc/security-hardening.md)
40+
- [Multi-Region Deployment](/tidb-cloud/byoc/multi-region-deployment.md)
41+
- Manage Instances
3342
- [Create a {{{ .premium }}} Instance](/tidb-cloud/premium/create-tidb-instance-premium.md)
3443
- Connect to Your {{{ .premium }}} Instance
3544
- [Connection Overview](/tidb-cloud/premium/connect-to-tidb-instance.md)
527 KB
Loading

scripts/verify-internal-links-in-toc.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ const CLOUD_TOC_FILES = [
1919
"TOC-tidb-cloud-premium.md",
2020
"TOC-tidb-cloud-starter.md",
2121
"TOC-tidb-cloud-essential.md",
22+
"TOC-tidb-cloud-byoc.md",
2223
];
2324

2425
const PREFIX_TO_TOC = [

tidb-cloud/byoc/_index.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,22 @@ summary: TiDB Cloud is a fully-managed Database-as-a-Service (DBaaS) that brings
3535

3636
</LearningPath>
3737

38+
<LearningPath label="Deploy" icon="deploy">
39+
40+
[BYOC Onboarding Overview](https://docs.tidb.io/tidbcloud/byoc-onboarding-overview/?plan=byoc)
41+
42+
[Prepare AWS Environment](https://docs.tidb.io/tidbcloud/byoc-prepare-environment-aws/?plan=byoc)
43+
44+
[Configure IAM Permissions](https://docs.tidb.io/tidbcloud/byoc-iam-configuration/?plan=byoc)
45+
46+
[Automated Deployment](https://docs.tidb.io/tidbcloud/byoc-automated-deployment/?plan=byoc)
47+
48+
[Service Initialization](https://docs.tidb.io/tidbcloud/byoc-service-initialization/?plan=byoc)
49+
50+
[Joint Validation](https://docs.tidb.io/tidbcloud/joint-validation/?plan=byoc)
51+
52+
</LearningPath>
53+
3854
<LearningPath label="Maintain" icon="cloud7">
3955

4056
[Create a {{{ .premium }}} Instance](https://docs.tidb.io/tidbcloud/create-tidb-instance-premium/?plan=byoc)
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
---
2+
title: TiDB Cloud BYOC Automated Deployment
3+
summary: This document outlines the automated deployment process for TiDB Cloud BYOC on AWS.
4+
---
5+
6+
# TiDB Cloud BYOC Automated Deployment
7+
8+
With the AWS environment prepared and IAM permissions established, the TiDB Cloud team will initiate the automated provisioning process.
9+
10+
> **Note:**
11+
>
12+
> This phase is fully managed by TiDB Cloud. No customer action is required until you receive the completion notification.
13+
14+
## Deployment process
15+
16+
The deployment consists of two automated steps:
17+
18+
### Step 1: Image synchronization (approx. 1-2 hours)
19+
20+
* **Customer action:** Select the AWS Region where the BYOC deployment will be created and provide the Region information to your TiDB Cloud representative.
21+
* **What happens:** Database container images are synchronized from the TiDB Cloud central repository to your AWS account's region.
22+
23+
> **Note:**
24+
>
25+
> This step is time-intensive only for the **first BYOC deployment** in a new region. Subsequent deployments in the same region will reuse the existing images and complete significantly faster.
26+
27+
### Step 2: Infrastructure provisioning (approx. 3 hours)
28+
29+
**Action**: The system automatically provisions dedicated resources within your AWS account, including:
30+
31+
* **Network Environment (VPC & Networking):** Creates an isolated VPC to provide a secure network foundation for the database cluster.
32+
33+
* **Control Plane Initialization:** Deploys essential management components responsible for the database's full lifecycle management. This includes automated resource provisioning, service scheduling, elastic scaling, and failure recovery—all executed automatically with no manual intervention required.
34+
35+
* **Compute Resource Provisioning:** Creates two EKS clusters serving the following purposes:
36+
37+
* Deploy Observability Services: Hosts components such as Prometheus and Grafana to collect monitoring metrics and logs.
38+
* Deploy Data Plane Management Nodes: Hosts components (such as the TiDB Operator) to provide the runtime environment for the subsequent creation of TiDB compute and storage nodes.
39+
40+
## Deployment completion
41+
42+
Once the automation completes:
43+
44+
1. **Notification**: You will be notified by the TiDB Cloud Team that the BYOC Region is ready.
45+
46+
2. **Billing Activation:**
47+
48+
**AWS Invoice:** You will begin seeing charges from AWS for the underlying resources (EC2, NAT Gateways, EKS).
49+
50+
**Status:** Your BYOC region is now fully operational. You may proceed to [**BYOC service initialization**](/tidb-cloud/byoc/byoc-service-initialization.md) to create your first TiDB instance.
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
---
2+
title: TiDB Cloud BYOC IAM Configuration
3+
summary: This document outlines the IAM configuration required for TiDB Cloud BYOC controller access.
4+
---
5+
6+
# TiDB Cloud BYOC IAM Configuration
7+
8+
Once the AWS environment is prepared, you must authorize the TiDB Cloud Control Plane to manage resources within your account. This is achieved by executing a bootstrapping script that establishes the necessary IAM Roles based on the Principle of Least Privilege.
9+
10+
## Preparation
11+
12+
Before executing the script, ensure you have the following:
13+
14+
1. **AWS CLI installed:** The CLI must be configured with an Access Key that has permissions to create IAM roles and policies.
15+
2. **TiDB Cloud account info:** Contact your TiDB Cloud support representative to obtain the **Control Plane Account ID** and **Clinic Account ID**.
16+
17+
## Gather parameters
18+
19+
Use the table below to map the required parameters for the script:
20+
21+
| Parameter | Source | Description |
22+
| :---- | :---- | :---- |
23+
| `<ControlPlaneAccountId>` | **TiDB Support** | The AWS Account ID of the TiDB Control Plane. |
24+
| `<ClinicAccountId>` | **TiDB Support** | The AWS Account ID for the TiDB Clinic service. |
25+
| `<TidbHostedZoneId>` | [Required information](/tidb-cloud/byoc/byoc-prepare-environment-aws.md#summary-required-information) | The ID of the TiDB Cluster Hosted Zone you created. |
26+
| `<O11yHostedZoneId>` | [Required information](/tidb-cloud/byoc/byoc-prepare-environment-aws.md#summary-required-information) | The ID of the Observability Hosted Zone you created. |
27+
| `<TidbPCAArn>` | [Required information](/tidb-cloud/byoc/byoc-prepare-environment-aws.md#summary-required-information) | The ARN of the Private CA you created. |
28+
29+
## Execute bootstrapping script
30+
31+
1. Download the script from the [PingCAP GitHub repository](https://github.com/tidbcloud/byoc-account-setup/tree/main).
32+
33+
2. In your terminal, run the following command. Note to replace the placeholders with your actual values.
34+
35+
```bash
36+
sh tidbcloud-byoc-setup.sh \
37+
--control-plane-id <ControlPlaneAccountId> \
38+
--clinic-id <ClinicAccountId> \
39+
--tidb-hz-id <TidbHostedZoneId> \
40+
--o11y-hz-id <O11yHostedZoneId> \
41+
--pca-arn <TidbPCAArn>
42+
```
43+
44+
3. Monitor the process. Upon execution, the script initiates AWS CloudFormation to provision and update resources. You can observe a log stream in the terminal displaying status messages such as `waiting for changeset to be created` and `successfully created/updated stack`.
45+
46+
<!--To confirm: whether to add image-->
47+
48+
## Verification
49+
50+
After execution, the script will output the ARNs of the created IAM roles.
51+
52+
* **Action required:** Share the **execution result/log** with your TiDB Cloud representative.
53+
54+
* **Next step:** Once TiDB Cloud verifies the roles, the [automated deployment](/tidb-cloud/byoc/byoc-automated-deployment.md) will be triggered.
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
---
2+
title: TiDB Cloud BYOC Onboarding Overview
3+
summary: Overview of the TiDB Cloud BYOC onboarding process, detailing the responsibilities and steps for both the customer and TiDB Cloud team.
4+
---
5+
6+
# TiDB Cloud BYOC Onboarding Overview
7+
8+
TiDB Cloud BYOC (Bring Your Own Cloud) is an enterprise solution that lets you run the data plane in your own cloud environment while retaining the fully managed experience of TiDB Cloud.
9+
10+
The TiDB Cloud BYOC deployment process is a collaborative effort between your organization and the TiDB Cloud team. The process includes secure infrastructure preparation, automated provisioning, and comprehensive validation.
11+
12+
<!--TO confirm: might need to state that currently only AWS is supported and the word AWS is not used in title for future content scale.-->
13+
14+
## Deployment phases
15+
16+
| Phase | Responsibility | Description |
17+
| :---- | :---- | :---- |
18+
| [**Phase 1: Environment preparation**](/tidb-cloud/byoc/byoc-prepare-environment-aws.md) | **Customer** | Prepare the AWS foundation required for deployment. This includes creating a dedicated AWS account configuring Route 53 Hosted Zones setting up the private certificate authority (PCA). |
19+
| [**Phase 2: IAM bootstrapping**](/tidb-cloud/byoc/byoc-iam-configuration.md) | **Customer** | Execute the provided bootstrapping scripts to install the necessary IAM roles and policies. This authorizes the TiDB Cloud Control Plane to securely manage resources within your AWS account. |
20+
| [**Phase 3: Automated deployment**](/tidb-cloud/byoc/byoc-automated-deployment.md) | **TiDB Cloud** | Once IAM permissions are verified, TiDB Cloud automatically provisions the VPC, EKS clusters, and control plane resources. Note: This process is **fully automated** and requires no customer intervention. |
21+
| [**Phase 4: Service initialization**](/tidb-cloud/byoc/byoc-service-initialization.md) | **Customer** | Create your TiDB instance via the console. Subsequently, deploy the Bastion Host and authentication scripts to establish secure maintenance channels (Tailscale) and observability pipelines. Note: You may also choose to establish maintenance channels using your own custom methods. |
22+
| [**Phase 5: Validation**](/tidb-cloud/byoc/joint-validation.md) | **Joint** | Both teams collaborate to validate connectivity, verify metric collection, and confirm system health to ensure the BYOC environment is ready for use. |
23+
24+
> **Note:**
25+
>
26+
> Each phase requires timely coordination between teams. We recommend assigning dedicated resources from both organizations to ensure smooth progression through all stages.
27+
28+
## Architecture overview
29+
30+
TiDB Cloud BYOC employs a strict separation between the Control Plane and the Data Plane. Your data remains entirely within your AWS account. The Control Plane connects to your VPC exclusively via AWS PrivateLink. No public internet exposure is required for database nodes.
31+
32+
> **Note:**
33+
>
34+
> This architecture defaults to a Multi-AZ deployment for production high availability, but also supports a Single-AZ deployment for Proof of Concept (POC) or cost optimization scenarios.
35+
36+
![TiDB Cloud BYOC Architecture](/media/tidb-cloud/byoc-architecture.png)

0 commit comments

Comments
 (0)