Hosting 3CX in Amazon AWS

Introduction

Easily host and manage 3CX in your own Amazon AWS account, managing all your servers from one account and leveraging your Amazon knowledge to stay in full control of your 3CX install. You will need to have an Amazon AWS account before you start 3CX deployment.  You can get one here Amazon AWS page, click on “Get Started for free”.

Step 1 - Get your API Access Keys

To create your API access key and allow the PBX Deployment wizard to create and provision an instance with 3CX:

  1. Log in to the AWS console and edit or create a user with the AmazonEC2FullAccess and “ServiceQuotasFullAccess” permissions.
  2. Go to “Security Credentials” and under “Access Keys” click on “Create Access key” and select “Other”.
  3. Press “Create access key” and copy both “Access key” and “Secret access key”.  Keep them somewhere safe as you cannot retrieve them later.

Step 2 - Configure SSH access

  1. Go to the EC2 Dashboard and select your deployment region on the top menu bar.
  2. On the left sidebar menu, under “Network & Security” click on “Key Pairs” and then “Create Key Pair”.
  3. Enter a key pair name and click “Create key pair” to download the certificate file. Keep this file safe as it cannot be downloaded again.
  4. This step can only be done after 3CX has been deployed! To access the vm via SSH you’ll also need to configure an inbound rule for TCP port 22.  Edit the “pbxexpress” security group under “Network & Security” > “Security Groups” and then click on “Edit inbound rules” > “Add rule SSH”.  Add your source ip address for additional security.

Step 3 - Subscribe to the OS image

The 3CX Deployment wizard utilizes AWS’s Debian 12 image for the 3CX installation so you must first subscribe to it to allow it’s usage:

  1. Visit the marketplace page for Debian 12 Bookworm and click on “Continue to Subscribe”.
  2. Click on Continue to Configuration and verify that it took you to the next screen.
  3. You can now proceed to deploy 3CX.

Step 4 - Deploy 3CX

  1. Create a 3CX customer account here
  2. Select “Self Hosted (Private Cloud)” and then click “Next”
  3. Choose your 3CX FQDN and click “Next”.
  4. Set your extension digit length and click “Next”
  5. Set your System Preferences and click “Next”
  6. Choose “Amazon - AWS” from the drop-down list and enter the created “Access Key ID” and “Secret Access Key”.
  7. Select the region where you created your key pair and then select the key pair and machine type to finish the PBX deployment wizard.
  8. 3CX will now be deployed!

Re-deploying your 3CX?

  1. Login to the customer portal.
  2. Go to “My Systems” find the subscription you want to have hosted and select "Install".
  3. Select “Self Hosted (Private Cloud)” and then click “Next” .
  1. Select your extension digit length and on the next screen set your System Preferences then click “Next”.  These settings will be overridden if you restore a backup.
  2. Choose “Amazon - AWS” from the drop-down list and enter your “Access Key ID” and “Secret Access Key” and click “Next”.
  1. Click “Yes” to upload your existing 3CX configuration backup and click “Next”
  2. 3CX will now be deployed and your existing configuration restored!

See Also

Last Updated

This document was last updated on 18 July 2024

https://www.3cx.com/docs/hosted-pbx-aws/