LogoLogo
6.0
  • Docs
  • Connector Configuration
  • Knowledge Base
  • Changelog
6.0
  • Introduction
  • Getting Started
    • Build and Publish an Integration
    • Build and Run an Automation
    • Build a Custom Connector
    • Embed into Your Application
    • Monitor & Troubleshoot
    • Access Appmixer REST API
    • Install and Update Connectors
    • Connector Configuration
    • Handle Flow Errors
    • Use App Events
    • End User Guide
  • API
    • Authentication
    • Flows
    • Apps
    • Accounts
    • User
    • Insights
    • Files
    • Data Stores
    • Connector Configuration
    • People Task
    • ACL
    • Charts
    • Config
    • Modifiers
    • Public Files
    • Unprocessed Messages
    • Variables
  • Building Connectors
    • Flow
    • Component
    • Basic Structure
    • Manifest
      • name
      • label
      • icon
      • description
      • auth
      • inPorts
      • outPorts
      • properties
      • quota
      • tick
      • private
      • webhook
      • state
      • author
      • marker
      • localization
      • firePatterns
    • Behaviour
    • Dependencies
    • Authentication
    • Quotas & Limits
    • Example: twilio.SendSMS
    • Example: Webhook Trigger
  • Appmixer UI SDK
    • Introduction
    • Installation
    • Quick Start
    • Constructor
    • API Module
    • UI & Widgets
      • Flow Manager
      • Designer
      • Insights Logs
      • Insights Chart Editor
      • Insights Dashboard
      • Accounts
      • Storage
      • People Tasks
      • Connectors
      • Integrations
      • Wizard
    • Custom API
  • Customizing Embedded UI
    • Custom Theme
    • Custom Strings
    • Custom Component Strings
  • Appmixer Backoffice
    • Getting Started
    • System Configuration
  • Appmixer CLI
    • Getting Started
    • OpenAPI Connector Generator
      • Getting started
      • Open API Extensions
      • Examples
  • Appmixer Self-Managed
    • Installation Docker Compose
    • Installation AWS ECS
    • Getting Started
    • Authentication Hub
    • Additional Configuration
    • Appmixer Architecture
    • Appmixer Deployment Models
  • Tutorials
    • Appmixer Virtual Users
    • Flows Metadata & Filtering
    • Access Control
    • Sharing Flows
    • People Tasks
    • Customizing modifiers
  • Connectors
    • Connector Configuration
    • Connector Request
Powered by GitBook
On this page
  • Prerequisities
  • Installation Types
  • Default Installation
  • Custom Installation
  • Preparation
  • Installation

Was this helpful?

Export as PDF
  1. Appmixer Self-Managed

Installation AWS ECS

PreviousInstallation Docker ComposeNextGetting Started

Last updated 1 year ago

Was this helpful?

Appmixer can be installed in an AWS account via our public Terraform module.

Prerequisities

  • Account in Appmixer Docker registry [registry.appmixer.com]. This account has been given to you during your sign-up process to the Appmixer Self-Managed package.

Installation Types

There are two types of installations:

  • Default installation

  • Custom installation

Default Installation

This type of installation assumes that you don't have any preferences regarding AWS Networking (VPC) and want leave all attributes in default. This kind of installation will create a new VPC and all required network parts (Internet Gateway, NAT Gateway, subnets, route tables, etc.). Then it will provision all the four required AWS managed services:

  • Amazon DocumentDB (MongoDB)

  • ElastiCache (Redis)

  • Opensearch (Elasticsearch)

  • Amazon MQ (RabbitMQ)

Next, it will provision AWS ECS (Elastic Container Service) with all Appmixer applications (Engine, Frontend, Backoffice, Quota and Logstash).

Custom Installation

By configuring external_* values, you have a choice where to install the Appmixer stack and choose external services like:

  • external_vpc: your specific VPC

  • external_redis: external Redis (running either in AWS or somewhere else)

  • external_rabbitmq: external RabbitMQ (running either in AWS or somewhere else)

  • external_elasticsearch: external Elasticsearch (running either in AWS or somewhere else)

  • external_documentdb: external MongoDB (running either in AWS or somewhere else)

Preparation

$ git clone https://github.com/clientIO/appmixer-module-aws.git
$ cd appmixer-module-aws/

This repository contains examples for both dev and production use cases. Also, both of these examples include autoscaling configuration. Let's start with dev example:

$ cd examples/development

This example defines a new VPC and it's CIDR block. You will need to configure:

  • zone_id (line #44) -> if set AWS Route53 will be used and you should also update aws_route53_zone (line #33) and set the domain name to be used.

  • ecs_autoscaling_config (line #52) -> Docker registry credentials, base64 encoded string.

  • input_init_user (line #54) -> here you can configure credentials for the initial user (Appmixer admin).

Installation

You should now be ready to provision the Appmixer stack.

$ terraform init
$ terraform plan

In the ouptput of the above commands, you can see the exact resources that will be provisioned. If the output looks right we can proceed:

$ terraform apply

Again, you'll have a chance to check what exactly will be provisioned. If it looks correct, you can approve. After the Terraform run, you'll get the so called Terraform output, where you can find a lot of useful information like Loadbalancer name, service URLs, managed services, etc.

First, clone the git project with the Terraform code:

AWS account
AWS CLI
Terraform
Cofigured AWS CLI
Appmixer Module AWS