Skip to main content

Quick Start (AWS)

Deploying FormKiQ into your AWS account with CloudFormation.

Deploy and configure FormKiQ in your AWS account in approximately 15 minutes using AWS CloudFormation. The automated setup process provisions and connects all required resources through a streamlined installation workflow.

Prerequisites

For this quickstart you will need access to an AWS account with administrator access to ensure proper permissions for creating required AWS services.

If you do not have a AWS account, you can sign up for one at https://aws.amazon.com.

AWS Lambda Concurrent Executions

Concurrent executions refer to the number of function invocations being handled simultaneously. AWS Lambda defaults to 10 concurrent executions per region. Request an increase to 1000 before installation.

Check Concurrent Executions

Open CloudShell

Run aws cli command:

aws service-quotas get-service-quota --service-code lambda \
--quota-code L-B99A9384 --region <AWS_REGION>

Resulting Value shows the AWS Lambda Concurrent executions.

{
"Quota": {
"ServiceCode": "lambda",
"ServiceName": "AWS Lambda",
"QuotaCode": "L-B99A9384",
"QuotaName": "Concurrent executions",
"Value": 1000.0,
"Unit": "None",
...
}
}
note

Request this increase for each region where you'll deploy FormKiQ.

Request Concurrent Executions Increase

Request through the Service Quotas Dashboard:

AWS RegionLocationRequest Increase Link
us-east-1N. VirginiaRequest Increase
us-east-2OhioRequest Increase
us-west-2OregonRequest Increase
ca-central-1Canada (Central)Request Increase
eu-central-1FrankfurtRequest Increase
eu-west-1IrelandRequest Increase
eu-west-2LondonRequest Increase
eu-west-3ParisRequest Increase
eu-north-1StockholmRequest Increase
eu-south-1MilanRequest Increase
ap-south-1MumbaiRequest Increase
ap-southeast-1SingaporeRequest Increase
ap-southeast-2SydneyRequest Increase
ap-northeast-1TokyoRequest Increase
ap-northeast-2SeoulRequest Increase
af-south-1Cape TownRequest Increase
sa-east-1São PauloRequest Increase
me-central-1Middle East (UAE)Request Increase
me-south-1BahrainRequest Increase

For more information, see the AWS Tutorial on Requesting a Quota Increase.

AWS Service Role For ECS

Verify that AWSServiceRoleForECS is enabled on your AWS Account before installation.

Open CloudShell

Run aws cli command:

aws iam create-service-linked-role --aws-service-name ecs.amazonaws.com
note

An error message "Service role name AWSServiceRoleForECS has been taken in this account" indicates this step is already complete.

For installation support, feedback, or updates, please join our FormKiQ Slack Community

note

Ensure you've completed the prerequisites and enabled AWSServiceRoleforECS.

The FormKiQ installation uses AWS CloudFormation to automate resource creation and management.

Select your AWS region from the installation links below:

AWS RegionLocationInstall Link
us-east-1N. VirginiaInstall FormKiQ
us-east-2OhioInstall FormKiQ
us-west-2OregonInstall FormKiQ
ca-central-1Canada (Central)Install FormKiQ
eu-central-1FrankfurtInstall FormKiQ
eu-west-1IrelandInstall FormKiQ
eu-west-2LondonInstall FormKiQ
eu-west-3ParisInstall FormKiQ
eu-north-1StockholmInstall FormKiQ
eu-south-1MilanInstall FormKiQ
ap-south-1MumbaiInstall FormKiQ
ap-southeast-1SingaporeInstall FormKiQ
ap-southeast-2SydneyInstall FormKiQ
ap-northeast-1TokyoInstall FormKiQ
ap-northeast-2SeoulInstall FormKiQ
af-south-1Cape TownInstall FormKiQ
sa-east-1São PauloInstall FormKiQ
me-central-1Middle East (UAE)Install FormKiQ
me-south-1BahrainInstall FormKiQ
note
  • For unlisted regions, use SAM CLI installation
  • FormKiQ Core supports AWS GovCloud (US) West but not East
  • AWS China installations are not currently supported
  • FormKiQ Essentials, Advanced, and Enterprise users: use your custom CloudFormation template links provided by the FormKiQ team

Install FormKiQ

After selecting your region, you'll see the AWS CloudFormation Console with the FormKiQ installation URL pre-populated.

CloudFormation Create Stack

Click Next to continue.

Set Stack Name

Name your stack using the format formkiq-core-<app_environment> (e.g., formkiq-prod).

CloudFormation Stack Name

note

For production, we recommend using AWS Organizations and separate accounts for different environments.

Installation Parameters

Configure your installation:

CloudFormation Stack Parameters

Required Parameters

  • AdminEmail: Administrator email address
  • AppEnvironment: Environment identifier (prod, staging, dev, etc.)

Optional Parameters

  • CapacityProvider: AWS Fargate capacity provider (for Typesense)
  • EnablePublicUrls: Enable public endpoints (default: false)
  • PasswordMinimumLength: Minimum password length
  • Password Requirements: Several properties to configure requirements for length, lowercase, numbers, symbols, and uppercase
  • TypesenseApiKey: API key for Typesense
  • TypesenseMemory: Typesense memory allocation
  • VpcStackName: VPC stack name (used for Typesense or OpenSearch)

Configure Stack Options

Select ALL checkboxes at the bottom.

Setup Stack Options

Click Next to proceed.

Review and Create

Review your configuration and click Submit.

Setup Stack Options

info
  • Installation takes 15-30 minutes
  • You'll receive an admin email when complete

Configure Admin Password

  1. Check your admin email for the verification link
  2. Click "Verify Email" to set your password

Welcome to FormKiQ

  1. Set your admin password

Set Admin Password

  1. Access the FormKiQ Console

FormKiQ Console Home

note

AWS GovCloud (US) requires manual admin user creation.

Install VPC

For Typesense or OpenSearch, install the VPC stack:

Select your region's VPC template:

AWS RegionLocationInstall Link
us-east-1N. VirginiaInstall VPC
us-east-2OhioInstall VPC
us-west-2OregonInstall VPC
ca-central-1Canada (Central)Install VPC
eu-central-1FrankfurtInstall VPC
eu-west-1IrelandInstall VPC
eu-west-2LondonInstall VPC
eu-west-3ParisInstall VPC
eu-north-1StockholmInstall VPC
eu-south-1MilanInstall VPC
ap-south-1MumbaiInstall VPC
ap-southeast-1SingaporeInstall VPC
ap-southeast-2SydneyInstall VPC
ap-northeast-1TokyoInstall VPC
ap-northeast-2SeoulInstall VPC
af-south-1Cape TownInstall VPC
sa-east-1São PauloInstall VPC
me-central-1Middle East (UAE)Install VPC
me-south-1BahrainInstall VPC

Create CloudFormation Stack

After selecting your VPC installation link and logging in, you'll see the CloudFormation Create Stack console with the pre-populated FormKiQ VPC installation URL.

CloudFormation Create Stack

Click the Next button to move to the next page.

Set Stack Name

The stack name uniquely identifies your FormKiQ VPC deployment within AWS CloudFormation.

We recommended to use the naming convention formkiq-vpc.

CloudFormation VPC Stack Name

Installation Parameters

The following is description of the VPC installation parameters:

CloudFormation Stack Parameters

EnableEnterpriseFeatures:

If you are using OpenSearch, you need to enable enterprise features, which automatically setups VPC endpoints.

note

This is not required for FormKiQ Core.

CIDR Ranges:

The VPC sets up 3 public, and 3 private subnets.

When creating the VPC, you need to specify an IPv4 network range for the VPC, in CIDR notation. For example, 10.1.0.0/16.

note

We recommend choosing a CIDR block that you know is not being used by any existing AWS resources in your AWS Organization. Ideally, each AWS account (one for each environment) is using its own CIDR range, e.g., 10.10.0.0/16 for dev, 10.20.0.0/16 for test/qa, etc.

VpcLabel:

The label added to the created VPC. This will be visible in the AWS Management Console when viewing your VPCs, and will help identify this VPC in future.

Configure stack options

Scroll down to the bottom of the page, select ALL the checkboxes.

Setup Stack Options

Click the Next button to move to the next page.

Review and create

Scroll down to the bottom.

Setup Stack Options

Click the Submit button to start the VPC installation.

info

Once the installation has completed, you will need to attach this Stack to your FormKiQ installation, by updating the VpcStackName parameter.

Update FormKiQ

This step is essential in order to enable access to Typesense or OpenSearch

After creating the VPC stack, the main FormKiQ CloudFormation stack needs to be updated. Select the FormKiQ CloudFormation stack and then click the Update button.

When updating the stack you will want to choose Use existing template.

CloudFormation Update Stack

For the VpcStackName parameter, set the value to the same value you used for the VPC stack you created above; in our example, it was formkiq-vpc.

Set VPC Stack Name

Click the Next button to move to the next pages. On the last page click the Submit button to update the FormKiQ stack. After the Stack completes updating, the FormKiQ installation will have the VPC features enabled.

Install with SAM CLI

FormKiQ Core was built using the AWS Serverless Application Model (SAM) framework.

The Serverless Application Model Command Line Interface (SAM CLI) is an extension of the AWS CLI that adds functionality for deploying serverless applications.

Prerequisite

To use SAM CLI, you will need to install the following tools:

Get Latest Release

The latest version of FormKiQ Core can be found on the https://github.com/formkiq/formkiq-core/releases page on Github.

Download the file with the naming convention of: formkiq-core-X.X.X.zip

Once downloaded, unzip the file in its own directory.

INSTALL.md
LICENSE
template.yaml
...

Sam deploy

To deploy FormKiQ Core, run the following command in the same folder as the template.yaml file.

sam deploy --guided --capabilities CAPABILITY_IAM CAPABILITY_AUTO_EXPAND CAPABILITY_NAMED_IAM

The command will package and deploy your application to AWS, with a series of prompts:

ArgumentDescriptionDefault Value
Stack NameThe name of the stack to deploy to CloudFormation. This should be unique to your account and regionformkiq-core-<AppEnvironment>
AdminEmailSet the admin email address. During the FormKiQ installation, this email address will be automatically set up with administrator access.
AppEnvironmentAppEnvironment is a unique identifier for FormKiQ installations. The identifier should provider context to what kind of information is contained in the installation, IE: prod, staging, dev.prod
EnablePublicUrlsWhether to enable "/public" endpoints.false
PasswordMinimumLengthMinimum Password Length8
PasswordRequireLowercaseWhether Password requires a lowercase letterfalse
PasswordRequireNumbersWhether Password requires a numberfalse
PasswordRequireSymbolsWhether Password requires a symbolfalse
PasswordRequireUppercaseWhether Password requires a uppercase letterfalse
VpcStackNameOptional: The name of the FormKiQ VPC CloudFormation stacknull
TypesenseApiKeyOptional: API Key to access the Typesense servernull
CapacityProviderOptional: CapacityProvider used by AWS Fargate serviceFARGATE_SPOT
  • Confirm changes before deploy: If set to yes, any change sets will be shown to you before execution for manual review. If set to no, the AWS SAM CLI will automatically deploy application changes.
  • Allow SAM CLI IAM role creation: FormKiQ Core's AWS SAM templates create AWS IAM roles required for the AWS Lambda function(s) included to access AWS services. The permissions are passed in by the sam deploy command above. Set Value to 'Y'
  • Save arguments to samconfig.toml: If set to yes, your choices will be saved to a configuration file inside the project, so that in the future you can just re-run sam deploy without parameters to deploy changes to your application.

Once you have set all of these options, SAM CLI will create a changeset and will display a list of all actions that will be performed as part of the changeset. If you have set "confirm changes before deploy" to "y", you will then be asked whether or nor to deploy this changeset. Choose "y" to complete the installation.

Once the FormKiQ Core stack has been deployed, you will be able to find your API Gateway Endpoint URL in the output values displayed after deployment.

FormKiQ Console for AWS GovCloud (US)

Due to restrictions related to AWS GovCloud (US) and the lack of CloudFront availability, the FormKiQ Document Console is not installed as part of the deployment. Instead, you can deploy a docker image into GovCloud for internal or external access. More information can be found here.

API Walkthrough and Reference

To try out the API, try our API Walkthrough. You can also check out the FormKiQ API Reference for more endpoints you can try out.

CloudFormation Troubleshooting

If your stack fails to complete, follow our CloudFormation Troubleshooting guide.