You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: installation/database-setup/private-endpoints.mdx
+13-13Lines changed: 13 additions & 13 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,7 +6,7 @@ title: "Private Endpoints"
6
6
7
7
To avoid exposing a database in AWS to the public internet, AWS Private Endpoints ([AWS PrivateLink](https://aws.amazon.com/privatelink/)) are an option that provides private networking between the source database and the PowerSync Service. Private Endpoints are currently available on our [Team and Enterprise plans](https://www.powersync.com/pricing).
8
8
9
-
We use Private Endpoints instead of VPC Peering, to ensure that no other resources are exposed between the VPCs.
9
+
We use Private Endpoints instead of VPC peering, to ensure that no other resources are exposed between the VPCs.
10
10
11
11
<Warning>
12
12
Do not rely on Private Endpoints as the only form of security. Always use strong database passwords, and use client certificates if additional security is required.
@@ -17,23 +17,23 @@ Do not rely on Private Endpoints as the only form of security. Always use strong
17
17
1. Private Endpoints are currently only supported for Postgres and MongoDB instances. [Contact us](/resources/contact-us) if you need this for MySQL.
18
18
2. Self-service is not yet available on the PowerSync side - contact PowerSync support to configure the instance.
19
19
3. Only AWS is supported currently, other cloud providers are not supported yet.
20
-
4. "Test Connection" on the dashboard is not supported yet - the instance has to be deployed to test the connection.
20
+
4. "Test Connection" on the [PowerSync Dashboard](/usage/tools/powersync-dashboard) is not supported yet - the instance has to be deployed to test the connection.
21
21
22
22
## Concepts
23
23
24
-
* AWS PrivateLink is the overarching feature on AWS.
24
+
*[AWS PrivateLink](https://aws.amazon.com/privatelink/) is the overarching feature on AWS.
25
25
26
-
* VPC/Private Endpoint Service is the service that exposes the database, and lives in the same VPC as the source database. It provides a one-way connection to the database without exposing other resources in the VPC..
26
+
* VPC/Private Endpoint Service is the service that exposes the database, and lives in the same VPC as the source database. It provides a one-way connection to the database without exposing other resources in the VPC.
27
27
28
-
*Endpoint Service Name is a unique identifier for this Endpoint Service.
28
+
*_Endpoint Service Name_ is a unique identifier for this Endpoint Service.
29
29
* Each Endpoint Service may have multiple Private Endpoints in different VPCs.
30
30
31
31
* VPC/Private Endpoint is the endpoint in the PowerSync VPC. This is what the PowerSync instance connects to.
32
32
33
33
For custom Endpoint Services for Postgres:
34
34
* Network Load Balancer (NLB) is a load balancer that exposes the source database to the Endpoint Service.
35
-
*Target Group specifies the IPs and ports for the Network Load Balancer to expose.
36
-
*Listener for the Network Load Balancer is what describes the incoming port on the Network Load Balancer (the port that the PowerSync instance connects to).
35
+
*_Target Group_ specifies the IPs and ports for the Network Load Balancer to expose.
36
+
*_Listener_ for the Network Load Balancer is what describes the incoming port on the Network Load Balancer (the port that the PowerSync instance connects to).
37
37
38
38
## Private Endpoint Setup
39
39
@@ -48,7 +48,7 @@ Limitations:
48
48
49
49
### 1. Configure the Endpoint Service
50
50
51
-
1. In the Atlas project dashboard, go to Network Access -> Private Endpoint -> Dedicated Cluster.
51
+
1. In the Atlas project dashboard, go to Network Access → Private Endpoint → Dedicated Cluster.
52
52
2. Select "Add Private Endpoint".
53
53
3. Select AWS and the relevant AWS region.
54
54
4. Wait for the Endpoint Service to be created.
@@ -83,7 +83,7 @@ We will then configure the instance to use the Endpoint Service for the database
83
83
On the Atlas Private Endpoint Configuration, in the final step, specify the VPC Endpoint ID from above.
84
84
If you have already closed the dialog, go through the process of creating a Private Endpoint again. It should have the same Endpoint Service Name as before.
85
85
86
-
Check that the Endpoint Status changes to Available.
86
+
Check that the Endpoint Status changes to _Available_.
87
87
88
88
### 5. Deploy
89
89
@@ -98,23 +98,23 @@ Verify the connection details, and deploy the instance. Monitor the logs to ensu
98
98
99
99
To configure a Private Endpoint Service, a network load balancer is required to forward traffic to the database.
100
100
101
-
This can be used with a Postgres database running on an EC2 instance, or a RDS instance.
101
+
This can be used with a Postgres database running on an EC2 instance, or an RDS instance.
102
102
103
-
For AWS RDS, the guide below does not handle dynamic IPs if the RDS instance's IP changes. This needs additional work to automatically update the IP - see this [AWS blog post](https://aws.amazon.com/blogs/database/access-amazon-rds-across-vpcs-using-aws-privatelink-and-network-load-balancer/) on the topic. This is specifically relevant if using a RDS cluster with failover support.
103
+
For AWS RDS, the guide below does not handle dynamic IPs if the RDS instance's IP changes. This needs additional work to automatically update the IP - see this [AWS blog post](https://aws.amazon.com/blogs/database/access-amazon-rds-across-vpcs-using-aws-privatelink-and-network-load-balancer/) on the topic. This is specifically relevant if using an RDS cluster with failover support.
104
104
105
105
Use the following steps to configure the Endpoint Service:
106
106
107
107
### 1. Create a Target Group
108
108
109
109
1. Obtain the RDS Instance's private IP address. Make sure this points to a writable instance.
110
-
2. Create a Target Group with IP addresses as target type, using the IP address from above. Use TCP protocol, and specify the database port (typically 5432 for Postgres).
110
+
2. Create a Target Group with IP addresses as target type, using the IP address from above. Use TCP protocol, and specify the database port (typically `5432` for Postgres).
111
111
3. Note: The IP address of your RDS instance may change over time. To maintain a consistent connection, consider implementing automation to monitor and update the target group's IP address as needed. See the [AWS blog post](https://aws.amazon.com/blogs/database/access-amazon-rds-across-vpcs-using-aws-privatelink-and-network-load-balancer/) on the topic.
112
112
113
113
### 2. Create a Network Load Balancer (NLB)
114
114
115
115
1. Select the same VPC as your RDS instance.
116
116
2. Choose at least two subnets in different availability zones.
117
-
3. Configure a TCP listener and pick a port (for example 5432 again).
117
+
3. Configure a TCP listener and pick a port (for example `5432` again).
118
118
4. Associate the listener with the target group created earlier.
0 commit comments