Skip to content

Commit fdd019d

Browse files
committed
Cross-link the deployment guide to the AWS guide and example configs
1 parent e8bd9cf commit fdd019d

3 files changed

Lines changed: 10 additions & 2 deletions

File tree

website/docs/sync/api/config.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -554,6 +554,8 @@ If provided must be one of `MEMORY` or `FAST_FILE`.
554554

555555
Path to root folder for storing data on the filesystem.
556556

557+
This must be persistent storage that survives restarts. See [Optimizing for disk](/docs/sync/guides/deployment#optimizing-for-disk) in the deployment guide for what to run it on.
558+
557559
</EnvVarConfig>
558560

559561
## Telemetry

website/docs/sync/guides/deployment.md

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -129,19 +129,23 @@ You can deploy it anywhere you can run a container with a filesystem and exposed
129129
- [Fly.io](/docs/sync/integrations/fly)
130130
- [Render](/docs/sync/integrations/render)
131131

132+
The [AWS guide](/docs/sync/integrations/aws#deploy-electric) goes into the most depth, covering how to choose an ECS launch type and storage backing. It comes with [example Terraform and Pulumi configurations](https://github.com/electric-sql/electric-aws) that provision the whole stack &mdash; database, sync service and load balancer.
133+
132134
### Docker container
133135

134136
Images are deployed to Docker Hub at [electricsql/electric](https://hub.docker.com/r/electricsql/electric).
135137

136138
### Optimizing for disk
137139

138-
Electric caches [Shape logs](/docs/sync/api/http#shape-log) and metadata on the filesystem. Your Electric host must provide a persistent filesystem. Ideally this should be large, fast and locally mounted, such as a NVMe SSD. If you're configuring a machine and you want to optimise it for Electric, the factors to optimise for, in order of important, are:
140+
Electric caches [Shape logs](/docs/sync/api/http#shape-log) and metadata on the filesystem. Your Electric host must provide a persistent filesystem. Ideally this should be large, fast and locally mounted, such as a NVMe SSD. If you're configuring a machine and you want to optimise it for Electric, the factors to optimise for, in order of importance, are:
139141

140142
1. disk speed &mdash; low latency, high throughput reads and writes
141143
2. memory
142144
3. CPU
143145

144-
For example, on AWS, [Storage Optimized](https://aws.amazon.com/ec2/instance-types/#Storage_Optimized) instances such as the `i3en.large`, or on Hetzner the [SX-line](https://www.hetzner.com/dedicated-rootserver/matrix-sx/) of dedicated servers would both be great choices.
146+
For example, on AWS, [storage optimized](https://aws.amazon.com/ec2/instance-types/#Storage_Optimized) instances such as the `i4i` family, or general purpose instances that ship local NVMe such as `m6id`, are both good choices. On Hetzner, the [SX-line](https://www.hetzner.com/dedicated-rootserver/matrix-sx/) of dedicated servers works well.
147+
148+
For a worked example, see [ECS on EC2](/docs/sync/integrations/aws#ecs-on-ec2) in the AWS guide. It covers choosing between local NVMe and an attached EBS volume, and [preparing the disk on boot](/docs/sync/integrations/aws#bootstrapping-the-data-disk).
145149

146150
### Configuring storage
147151

website/docs/sync/guides/upgrading.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -226,6 +226,8 @@ With `maxSurge: 1` and `maxUnavailable: 0`, Kubernetes will:
226226

227227
This example uses EC2 launch type with a host bind mount for shared storage. Both old and new tasks share the same directory on the EC2 host.
228228

229+
See [ECS on EC2](/docs/sync/integrations/aws#ecs-on-ec2) in the AWS guide for how to provision this. The [example configurations](https://github.com/electric-sql/electric-aws) run a single container instance per cluster, which satisfies the placement requirement below.
230+
229231
> [!Warning] Same-host placement
230232
> ECS does not guarantee that the new task lands on the same host as the old one. To ensure both tasks share the same host volume, your ECS cluster must have exactly one EC2 instance matching your placement constraint, or use a custom instance attribute to pin tasks to a specific host.
231233

0 commit comments

Comments
 (0)