Architecture
- The data plane runs entirely in your cloud account within a dedicated VPC, storing and processing your vectors, executing queries, and managing index data in object storage (S3 on AWS, GCS on GCP, or Azure Blob Storage on Azure). Cluster metadata lives in FoundationDB, which runs inside your Kubernetes cluster, so there’s no managed database to operate.
- The control plane is managed by Pinecone globally and handles index lifecycle management, authentication, billing, and user management, but never stores or processes your vectors.
Encryption and customer-managed keys
In the standard Pinecone service, customer-managed encryption keys (CMEK) are how you connect Pinecone-managed storage to your AWS KMS keys through the Pinecone console. In BYOC, that console CMEK flow doesn’t apply. Your vectors and index data are stored in your cloud account (for example, object storage and block storage), so you apply your cloud provider’s KMS to those resources using the same native controls you use for other workloads (key policies, rotation, and compliance programs such as PCI or ISO 27001). When you deploy with pulumi-pinecone-byoc, you can supply your KMS key where the template supports it. For the current options, see the pulumi-pinecone-byoc README.Limitations
Some features available in the standard Pinecone service aren’t supported or have constraints in BYOC:- Each organization can have up to 2 BYOC environments. To request an increase, contact Pinecone support.
- Integrated embedding and inference isn’t supported, because it relies on models Pinecone hosts outside your cloud account.
- You can’t read or write data from the index browser in the Pinecone console.
- The Pinecone CLI can’t run data plane operations (queries, upserts, fetches), though its control plane operations (create, list, delete indexes) work as expected.
- You can’t import from private cloud storage buckets unless the bucket is in the same cloud account as your BYOC deployment.
- On-demand indexes in an environment share the pool, so per-index rate limits prevent a busy index from slowing down the others. If one index needs more capacity than the pool can share, create it as a dedicated read nodes index.
Pricing
Your Pinecone bill for a BYOC environment has two parts: a flat platform fee, and a rate for each node you run, across both the shared on-demand pool and your dedicated read nodes indexes. Separately, you pay your cloud provider directly for the underlying infrastructure (Kubernetes nodes, object storage, block storage, networking, etc.).od1 nodes and is billed whether or not you create on-demand indexes. Creating on-demand indexes doesn’t add nodes, because they share the pool, so you pay for more od1 nodes only when the pool grows beyond its capacity. Each dedicated read nodes index adds its shards × replicas.
Unlike dedicated read nodes in the standard service, BYOC has no separate Pinecone charges for storage or writes. That data lives in your own cloud account, so you pay your cloud provider for it instead of Pinecone.
Example
An environment with one dedicated read nodes index using two shards and two replicas runs fourb1 nodes in addition to the on-demand pool, which starts with two nodes. Its monthly bill is the platform fee, plus four times the b1 node rate, plus two times the od1 node rate (the starting pool), plus what you pay your cloud provider. Adding on-demand indexes to that environment doesn’t change the bill until the pool needs more nodes.
Metering and billing
The Pinecone BYOC agent running in your cluster measures node usage, periodically reporting which nodes are provisioned. Billing follows the agent heartbeat connection to Pinecone’s control plane:- When Pinecone receives heartbeats, you’re billed for the nodes the agent reports, even if the cluster is unhealthy.
- Short heartbeat interruptions (under 60 minutes) are treated as a grace period.
- If heartbeats are missing for more than 60 minutes, billing stops and the deployment is marked disconnected.
FAQs
Answers to common questions about BYOC:Does Pinecone have access to my cloud account?
Does Pinecone have access to my cloud account?
- Pinecone does not need SSH, VPN, inbound access, or a standing cross-account role in your cloud account.
- You control cloud account boundaries, networking, and Kubernetes access.
- Operational changes run through explicit, software-mediated workflows.
- You don’t open inbound firewall ports for Pinecone operations.
What is the difference between on-demand and dedicated read nodes in BYOC?
What is the difference between on-demand and dedicated read nodes in BYOC?
od1 nodes, and Pinecone adds nodes when you need more capacity. Each dedicated read nodes index gets its own nodes. For how the two modes differ, see On-demand vs. dedicated read nodes.Can I use on-demand indexes in an existing BYOC environment?
Can I use on-demand indexes in an existing BYOC environment?
What data leaves my cluster?
What data leaves my cluster?
- Vectors, metadata, and index contents
- Query and upsert payloads
- Customer data
- Operational metrics and traces (for example, CPU, memory, latency)
- Cluster health and operation status
What is the difference between BYOC and Pinecone's standard service?
What is the difference between BYOC and Pinecone's standard service?
How does authentication work?
How does authentication work?
How is data secured in BYOC?
How is data secured in BYOC?
Which cloud providers does BYOC support?
Which cloud providers does BYOC support?
What happens if I destroy the cluster before deleting indexes?
What happens if I destroy the cluster before deleting indexes?
pulumi destroy.What is the SLI project in my organization?
What is the SLI project in my organization?
__SLI__ in your organization. This is used by Pinecone to enforce SLAs for your BYOC environment. Do not modify or delete this project.