apps/docs/content/guides/platform/privatelink.mdx
PrivateLink is currently in beta and available only to Team and Enterprise customers. Contact support if you would like to create a PrivateLink connection for a read-only replica.
</Admonition>PrivateLink provides enterprise-grade private network connectivity between your AWS VPC and your Supabase database using AWS VPC Lattice. This eliminates exposure to the public internet by creating a secure, private connection that keeps your database traffic within the AWS network backbone.
By enabling PrivateLink, database connections never traverse the public internet, enabling the disablement of public facing connectivity and providing an additional layer of security and compliance for sensitive workloads. This infrastructure-level security feature helps organizations meet strict data governance requirements and reduces potential attack vectors.
Supabase PrivateLink is an organisation level configuration. It works by sharing a VPC Lattice Resource Configuration to any number of AWS Accounts for each of your Supabase projects. Connectivity can be achieved by either associating the Resource Configuration to a PrivateLink endpoint, or a VPC Lattice Service Network. This means:
The connection architecture changes from public internet routing to a dedicated private path through AWS's secure network backbone.
Supabase PrivateLink is currently just for direct database and PgBouncer connections only. It does not support other Supabase services like API, Storage, Auth, or Realtime. These services will continue to operate over public internet connections.
To use PrivateLink with your Supabase project:
Navigate to your project's Integrations section to set up PrivateLink:
After submission, Supabase creates a VPC Lattice Resource Configuration for your project and sends an AWS Resource Share to the specified AWS Account ID. This process may take a few moments. Once complete, the account will show a "Ready" status, indicating that the resource share has been sent to your AWS account and is ready to be accepted.
Supabase will send you an AWS Resource Share containing the VPC Lattice Resource Configurations for your projects. To accept this share:
sspl-[project_ref]-[random alphanumeric string]Ensure your security groups allow traffic on the appropriate ports:
In your AWS account, you have two options to establish connectivity:
supabase-privatelink-[project name])[organisation]-[project-ref]-rcVerify the private connection is working correctly from your VPC:
psql)psql "postgresql://[username]:[password]@[private-endpoint]:5432/postgres"
You should see a successful connection without any public internet traffic.
Configure your applications to use the private connection details:
Example connection string update:
# Before (public)
postgresql://user:pass@db.[project-ref].supabase.co:5432/postgres
# After (private)
postgresql://user:[email protected]:5432/postgres
For maximum security, you can disable public internet access for your database:
During the beta phase:
The PrivateLink endpoint is a layer 3 solution so behaves like a standard Postgres endpoint, allowing you to connect using:
Ready to enhance your database security with PrivateLink? Contact our Enterprise team to discuss your requirements and begin the setup process.
Our support team will guide you through the configuration and ensure your private database connectivity meets your security and performance requirements.
PrivateLink is not currently available in the following regions: