> For the complete documentation index, see [llms.txt](https://developer.harness.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://developer.harness.io/feature-management-experimentation/new-to-fme/sdks-and-customer-deployed-components/examples/synchronizer-docker-ecs.md).

# Deploy a Synchronizer Docker container in Amazon AWS

### Overview <a href="#overview" id="overview"></a>

This page provides instructions on how to deploy the Split Synchronizer Docker container using Amazon AWS ECS service.

### Before you begin <a href="#before-you-begin" id="before-you-begin"></a>

* AWS CLI installed and configured
* Docker installed
* An AWS account with permissions to use ECS and ECR
* Split Synchronizer Docker image or access to `splitsoftware/split-synchronizer`

### Step-by-step Guide <a href="#step-by-step-guide" id="step-by-step-guide"></a>

1. In the AWS console, go to **ECR** → **Create repository**.

   ![](/files/Tx9QLGKN3OlhEv8BRJeh)
2. Provide a name for your new repository.

   ![](/files/8zsW1J984CrtuwO8HmnT)
3. Once created, note the repository URL — it will be used later.

   ![](/files/P5mvkBWcofOlj2MsvHa0)
4. Authenticate Docker to AWS ECR by running `$(aws ecr get-login --no-include-email --region us-east-2)`. If this fails, check AWS help pages.
5. Pull the Synchronizer image locally by running `docker pull splitsoftware/split-synchronizer`.
6. Get the image ID by running `docker images`.

   For example:

   ```bash
   REPOSITORY                          TAG     IMAGE ID       CREATED      SIZE
   splitsoftware/split-synchronizer    latest  3179320c768e   3 weeks ago  941MB
   ```
7. Tag the image for your AWS ECR repository by running `docker tag 3179320c768e 082XXXXX925.dkr.ecr.us-east-2.amazonaws.com/splitsync`.
8. Push the image to AWS ECR by running `docker push 082XXXXX925.dkr.ecr.us-east-2.amazonaws.com/splitsync`. The image appears in the AWS ECR Repositories list.

   ![](/files/Jjm67adEIlqBaJU0wAT4)
9. Go to **ECS** → **Clusters** → **Create**.

   ![](/files/skgPajVGYbpwymhCdMSp)
10. Select AWS Fargate (or your preferred cluster type).

    ![](/files/1yxG5UWu1AOpjh25fdgc) ![](/files/XVJIelIvAe8eTFjpB3OH)
11. Go to **ECS** → **Task Definitions** → **Create new Task Definition**.

    ![](/files/s29u7HTfF2rg6vfqeZNc) ![](/files/YnhLEOCr9N5PmrbMjRR6)
12. Choose the launch type.
13. Under **Task Size**, set the task memory to 2GB and CPU to 1 vCPU.

    ![](/files/AxNpQuHgnDJ8ZFVtwt4o)
14. Add a container to the task:

    ![](/files/DemJHPPGomkjvG6WVE2o)

    * Container name: Enter a descriptive name.
    * Image: Use your AWS ECR URL (e.g., `082XXXXX925.dkr.ecr.us-east-2.amazonaws.com/splitsync`).
    * Port mappings:

      ```bash
      3000/tcp
      3010/tcp
      ```
    * Environment variables (adjust as needed):

      ![](/files/45ExmqcVn4cbmN6m3Txd)

      ```nginx
      SPLIT_SYNC_APIKEY
      SPLIT_SYNC_REDIS_HOST
      SPLIT_SYNC_REDIS_PORT
      SPLIT_SYNC_REDIS_DB
      SPLIT_SYNC_REDIS_PASS
      SPLIT_SYNC_ADMIN_USER
      SPLIT_SYNC_ADMIN_PASS
      ```
15. Click **Add**, then **Create**.

    ![](/files/SXkFFpgWJnnL2WAp8i9T)
16. Once created, **Run** the task.

    ![](/files/NU1UI44gYu0X4TH7pm9n) ![](/files/HNuWaUPrU4cIhTt6bQiJ)
17. Click the **Task ID** → **Logs** tab.

    ![](/files/evjD0mWfjZg1TRC1CNtq)

    You should see Synchronizer’s startup output.
