Skip to content

Amazon Web Services (AWS)

AWS is a cloud infrastructure platform.

Electric and AWS

You can use AWS to deploy any or all components of the Electric stack:

If you already run Postgres in AWS, potentially using RDS or Aurora, then it's a great idea to also deploy Electric within the same network.

Need context?

See the Deployment guide for more details.

Deploy Postgres

AWS provides Postgres hosting via RDS and Aurora. Electric works with either. You need to configure them to enable logical replication and connect with the right user.

Enable logical replication by setting rds.logical_replication=1 in your custom parameter group for the RDS instance (or the Aurora DB cluster) and rebooting the instance. This sets wal_level to logical. The PostgreSQL default wal_level is replica.

The default postgres user has the REPLICATION role. If you need to add it to another user you can do so by granting the rds_replication role, e.g.:

sql
GRANT rds_replication TO someuser;

Deploy Electric

AWS provides a wide range of container hosting. For example, you can deploy Electric to AWS Elastic Container Service using AWS Fargate.

You should store Shape logs to a persistent disk (not an ephemoral filesystem). For example using Amazon Elastic File System.

Deploy your app

AWS provides a range of website hosting options. For example you can deploy a static app to AWS Amplify.

Examples

AWS Terraform

We have an example Terraform repo at electric-sql/terraform-aws.