---
title: Deploy Amazon Web Services (AWS) in Commerce Connect
slug: commerce-connect-13/docs/deploying-commerce-to-amazon-web-services-aws
docTags: 
createdAt: 2026-07-23T09:44:51.000Z
---

In this scenario, a Optimizely Commerce Connect core website is installed, and most steps can be applied through NuGet packages.

:::hint{type="info"}
**Note**
This topic does not describe how to create/update a working Optimizely Commerce Connect website, which is required for the Amazon deployment. See [Install Optimizely updates](docId\:WFO_QNcFVidcECSTZgehJ) to do this.
:::

## Requirements

- The [AWS Management Console](https://console.aws.amazon.com) requires an account with login details.
- A specific cloud-enabled license. See the [Episerver License Center](http://license.episerver.com) to add this license to the Commerce Connect website.
- All deployed applications and modules are designed for the cloud.
- For the website to work properly with Amazon, create databases with collation SQL\_Latin1\_General\_CP1\_CI\_AS. When you create a new Commerce Connect site, first create the databases with the correct collation. Then, when you create the site using Deployment Center, use the **Install site without database** option and make sure to point to these databases instead of creating new ones.

## Cloud website setup

Like an Optimizely Content Management System (CMS) website on Amazon, you can run the Commerce Connect website in an AWS Elastic Beanstalk environment with caching and multiple instances. The website instances share the same Amazon SQL instance, and the S3 storage in Amazon stores the file binary data. Load balancing is applied, and the Amazon SNS manages events between the Commerce Connect websites.

**AWS Elastic Beanstalk environment**

![](https://api.archbee.com/api/optimize/BrbvVORKJ5iIeSMZye5kI/rXQT0zgwUXZYrbb-P4x3W-20260723-094555.jpg "amazonoverview.jpg")

Using **Auto Scaling**, you can scale automatically through configuration.

:::Iframe{code="<Image align=&#x22;center&#x22; className=&#x22;border&#x22; border={true} src=&#x22;https://files.readme.io/f81f324-amazonelasticscaling.jpg&#x22; />"}

:::

Follow these steps to create a Commerce Connect website running in an Amazon environment.

### 1. Create Amazon resources

1. Log in to the AWS Management Console.
2. Create an S3 storage bucket.
   When you run on Amazon, store the media (such as images) in the S3 storage to enable elastic scaling. See also [Creating a Bucket in the AWS documentation](http://docs.aws.amazon.com/AmazonS3/latest/UG/CreatingaBucket.html). In the **AWS Management Console**, select **S3** from the **Services** menu. Select **Create Bucket** in the upper right corner and, in the dialog, select a region and provide a name.
3. Create an SNS Topic.
   To scale for running on several instances, set up an **SNS Topic** to handle messages between site instances. See also [Create a Topic in the AWS documentation](http://docs.aws.amazon.com/sns/latest/dg/CreateTopic.html). In the **AWS Management Console**, and select **SNS** from the **Services** menu. Click **Create New Topic** and, in the dialog, select a name.
4. Create an RDS SQL instance.
   See also [Creating a DB Instance Running the Microsoft SQL Server Database Engine](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_CreateMicrosoftSQLServerInstance.html).
   a.  Open the **AWS management console** and select **RDS** in the **Services** menu.
   b.  Click on **Launch a DB Instance** and, in the engine selection, select **sqlserver-web** (or another SQL server option).
   c.  In the **details** view, provide the identifier name, size, login user and password.
   d.  In the **additional config,** select the VPC security group previously created, and finish the wizard to create the DB instance.
5. Create a Security Group.
   See also [Amazon EC2 Security Groups in the AWS documentation](http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html).
   a.  Open the **AWS management console** and select **Services > EC2**.
   b.  Select **Network & Security > Security Groups** in the left menu.
   c.  Click **Create Security Group**, provide a name and a description, and click **Create**.
   d.  In the list, select the created group and select the **Inbound** tab in the lower panel.
   e.  Select **MS SQL** from the rule dropdown, click **Add Rule**, then **Apply Rule Changes**.

### 2. Upgrade and prepare the website

See [Install CMS 11 and Commerce Connect 13 (legacy)](docId\:JkKYtt9dyKjTSGKZyJ6vb) to install a Commerce Connect website. Continue with the following steps when you have a project with a working website.

1. Open the Commerce Connect front-end site project using Visual Studio.
2. Upgrade the site to the latest version (minimum version 8.0).
3. Install the *EPiServer.Packaging.UI* Nuget package.
4. Run **Move-EPiServerProtectedModules** in the Package Manager Console.
5. Install the *EPiServer.Amazon* NuGet package to the project.

:::hint{type="info"}
**Note**
If you are installing **Commerce Manager** besides the **Optimizely Commerce Core**, continue with the following steps; otherwise, skip to **C. Configure updates**.
:::

6. Install the *EPiServer.Commerce.UI.ManagerIntegration* NuGet package to the front-end site.
7. Open the **Mediachase.ConsoleManagerUpdate** project, and upgrade it to the latest version (or 8.0 at least; see [Installing Optimizely updates](docId\:WFO_QNcFVidcECSTZgehJ).
8. Install the *EPiServer.Amazon* NuGet package to the **Mediachase.ConsoleManagerUpdate** project.

### 3. Configure updates

1. Map BLOB and Event providers. Open *EPiServerFramework.config* and note the configuration under the **episerver.framework** section to map Blob/Event providers to Amazon.

```xml
<blob defaultProvider="s3blobs">
        <providers>
          <add name="s3blobs" 
               type="EPiServer.Amazon.Blobs.AmazonBlobProvider,EPiServer.Amazon"
               accessKey="{your_access_key}" 
               secretKey="{your_secret_key}" 
               region="{region_code}" 
               bucket="mysitemedia"/>
        </providers>
      </blob>
      
      <event defaultProvider="amazonevents">
        <providers>
          <add name="amazonevents" 
               type="EPiServer.Amazon.Events.AmazonEventProvider,EPiServer.Amazon"
               accessKey="{your_access_key}" 
               secretKey="{your_secret_key}" 
               region="{region_code}" 
               topic="mysiteevents"/>
        </providers>
      </event>
```

2. Configure search.  The Commerce Connect website is then ready for deployment to Amazon.

:::hint{type="info"}
**Note**
When hosting in Amazon, use a scalable search solution such as Optimizely Search & Navigation. Because this is also a hosted service that you connect to, it works the same way as when your site runs on-premises. See the [Configure the Search & Navigation search provider](docId\:yvCYTOUT-vTTlJxmXNdwR) to install and configure Search & Navigation for Commerce Connect.
:::

### 4. Deploy the Commerce Connect website.

1. Migrate the database to Amazon RDS SQL instance.

:::hint{type="info"}
**Note**
In Commerce Connect, you need to migrate *two* databases, and you need to change the *connectionStrings.config* in the front-end and back-end sites.
:::

Open *connectionStrings.config*, change the connection string for EPiServerDB, EcfSqlConnection to the connection string from Amazon RDS SQL Database. Keep the setting MultipleActiveResultSets=true.

```xml
<connectionStrings>
  <add name="EPiServerDB" 
       connectionString="Data Source={your_database_server_for_front_end};
               Initial Catalog={database_name_for_front_end};
               Integrated Security=False;
               User ID={user_id};
               Password={password};
               MultipleActiveResultSets=True" 
       providerName="System.Data.SqlClient" />
      
  <add name="EcfSqlConnection" 
       connectionString="Data Source={your_database_server_for_back_end};
               Initial Catalog={database_name_for_back_end};
               Integrated Security=False;
               User ID={user_id};
               Password={password};
               MultipleActiveResultSets=True" 
       providerName="System.Data.SqlClient" />
</connectionStrings>
```

2. Deploy the website to Windows AWS Elastic Beanstalk.
   See also [For .NET Developers section in the AWS Elastic Beanstalk - Getting Started](http://aws.amazon.com/elasticbeanstalk/getting-started/#For_.NET_Developers).

:::hint{type="info"}
**Note**
You need two websites: one for the Commerce Connect front-end site and one for Commerce Manager.
:::

3. Transfer the website BLOBs to the S3 storage bucket.    Typically, Optimizely BLOBs are stored in `C:\\EPiServer\\<MyEPiServerSite>\\appdata\\blobs`. See also [Add an Object to a Bucket](http://docs.aws.amazon.com/AmazonS3/latest/gsg/PuttingAnObjectInABucket.html).

### 5. Activate the cloud license.

Go to the **Admin view** in CMS > **Config** tab > **Manage Websites >** **Cloud License** tab.

### 6. Build the site index.

1. Build the content index.
2. Rebuild the catalog index.  Go to **Commerce Manager > Administration > System Settings > Search Index**. Click **Rebuild Index.** The catalog index is restored on your Optimizely Search & Navigation indexes.
