View Categories

Deploy Odoo on AWS

Introduction #

AWS is the world’s largest cloud provider, trusted by enterprises for its global reliability and flexibility. It lets you start small and grow as your business needs more power, while keeping your data safe on resilient storage that protects against hardware failures. You can even enable automatic recovery so your server is restarted on healthy hardware if the underlying host fails. With Cloudpepper you can launch Odoo on AWS in just a few clicks, without touching the complex setup behind the scenes.

Requirements #

Step 1. Connect AWS to Cloudpepper #

Before you can provision servers in your AWS account from the Cloudpepper dashboard, we need to connect your AWS account. In your Cloudpepper dashboard, click Add a Server.

Add a new server on Cloudpepper
Click Add a Server to add your first server.

Select AWS as your cloud provider.

Select AWS as cloud provider
Select AWS as your cloud provider

Select your Default Region for new servers and fill in your Account ID.

Where to find your Account ID

You can find your Account ID in the top-right corner after logging in to the AWS console.

Account ID in AWS Console
Where to find your Account ID in Amazon AWS Console

Click Link your AWS account. This opens the AWS console and starts a CloudFormation stack to create a role for Cloudpepper with the minimal permissions needed to create and manage servers on your behalf. You can edit the role later if you need to restrict permissions further.

Scroll down the AWS page to acknowledge and Create stack.

Scroll down the AWS page to acknowledge and create stack

You will be redirected to the events page. Once you see CREATE_COMPLETE, you can return to My Cloudpepper and click OK.

Step 2. Select your server #

With your AWS account connected, you’ll see a screen to configure your new server. Here’s what each option means:

  • Region: Choose the datacenter where your server will run. Pick the one closest to your users for best performance. (overview of available AWS regions)
  • Instance type: The size of your server (overview of all sizes and prices per region). Not sure what to pick? Use our server sizing guide. A t2.small (1 vCPU, 2 GB RAM) is sufficient for a basic Odoo instance with 6-8 concurrent users. If you have 12 concurrent users, move to t3.small (2 vCPU, 2 GB RAM) or t3a.medium (2 vCPU, 4 GB RAM). You can always resize later as your needs grow.
  • Storage size (GB): Decide how much disk space your server needs. This covers your Odoo database, modules and filestore. Backups are stored externally.
  • Odoo version: Select which version of Odoo to deploy (e.g. 17, 18, or 19).
Options to create an AWS server with Cloudpepper

Once you’ve filled in the details, click OK to start provisioning your server. Cloudpepper will automatically install updates, apply security settings, tune performance, and set up all required software for Odoo. The process takes about 10–20 minutes. When it’s finished, you’ll be ready to create your first Odoo instance.

Optional. Enable automatic recovery #

Automatic recovery restarts your server on healthy hardware if the underlying host fails. It keeps the same instance ID, IP addresses, and EBS volumes. There is no extra cost.

How to enable it #

  1. Open the AWS Console and go to CloudWatch
  2. Alarms → Create alarm
  3. Select metric → EC2 → Per-instance metrics → StatusCheckFailed_System
  4. Choose your instance and continue
  5. Set the condition to Greater than 0 for at least 5 minutes
  6. Configure actions → EC2 action → Recover this instance
  7. (Optional) Add an email notification via an SNS topic
  8. Name the alarm and create it

Good to know #

  • You keep paying the normal EC2 and EBS charges only
  • Works within the same Availability Zone
  • Requires EBS backed instances (most EC2 setups use EBS)
  • Does not protect against application errors