Launch LRS CloudFormation Template

A complete infrastructure installation to get started with your LRS in just a few clicks.

Developed by Launch Learning’s AWS specialists, our templates automatically set up an Amazon Web Services (AWS) cloud infrastructure and deploy Launch LRS. The templates describe the application architecture and are used by AWS CloudFormation to provision and configure the required services. They implement best practices for data security with a separate web server and database. Choose from a single instance infrastructure ideal for testing purposes, or a high availability, automatic scaling and load balanced, multi-instance environment with SSL.

Utilising Amazon Linux 2, MySQL and NGINX, the automated process will complete your infrastructure setup in minutes, providing you with access to Launch LRS where you can add your first provider and start receiving statements immediately.

If you do not have an Amazon Web Services account see their website for more information or sign up for a free account.

If you’re unsure which to use, the single instance environment is a good place to start.

Single instance CloudFormation


Overview

Recommended for non-production use, the single instance environment is a simple infrastructure ideal for testing Launch LRS. It can also be used as a starting point to meet your own requirements, by building upon and customising the infrastructure after creation.

What you’ll build

  • An Elastic Beanstalk environment with an EC2 t3.micro instance running Amazon Linux 2
  • A t3.micro RDS instance running MySQL with a pre-configured database
  • The latest version of Launch LRS deployed to the instance and configured to store statements in the MySQL database
  • A RDS security group to only allow inbound traffic from the LRS instance
  • An EC2 security group closed to all ports except HTTP

How to deploy

1. Create a stack using one of the options below. If the region you would like to use isn’t listed please contact us.

AWS Region NameCodeTemplate
Asia Pacific (Singapore)ap-southeast-1cloudformation-launch-stack
Asia Pacific (Sydney)ap-southeast-2cloudformation-launch-stack
Canada (Central)ca-central-1cloudformation-launch-stack
EU (Frankfurt)eu-central-1cloudformation-launch-stack
EU (Ireland)eu-west-1cloudformation-launch-stack
EU (London)eu-west-2cloudformation-launch-stack
EU (Paris)eu-west-3cloudformation-launch-stack
US East (N. Virginia)us-east-1cloudformation-launch-stack
US East (Ohio)us-east-2cloudformation-launch-stack
US West (N. California)us-west-1cloudformation-launch-stack
US West (Oregon)us-west-2cloudformation-launch-stack

2. After signing in to your AWS Console the stack template URL should be pre-filled. Press Next.

3. Specify a name for your LRS stack and a database administrator password. Press Next.

4. Configure stack options if required, all are optional. Press Next.

5. Review your LRS stack and press Create stack. It will take approximately ten minutes to build.

6. Once the stack creation is complete Launch LRS can be accessed via the URL in the Outputs.

7. You should see your Launch LRS console. Select manage and sign in with the following credentials:
username: admin
password
: password
You will be required to change your password on first sign in.

Multi-instance CloudFormation


Implementing best practices for production use, this template creates a fault tolerant, scalable, load-balanced environment with SSL.

What you’ll build

  • A highly available Elastic Beanstalk environment spanning multiple availability Zones consisting of:
    • An EC2 auto scaling group configured to use 1-4 t3.micro instances running Amazon Linux 2 with Java 11 installed
    • Policies for scaling up and down
    • A load balancer with listeners for both HTTPS and HTTP
    • Cloud watch alarms
    • Load balancer security group closed to all ports except HTTP and HTTPS
    • An EC2 security group closed to all ports except HTTP
  • The latest version of Launch LRS deployed to the EC2 instance and configured to store statements in the MySQL database
  • A t3.micro RDS instance running MySQL with a pre-configured database
  • A RDS security group to only allow inbound traffic from the LRS instance
  • A route 53 record set in the specified hosted zone

Prerequisites

A registered domain

You must own or control the domain. If you don’t already have one, you can register a new domain with Amazon Route 53.

A Route 53 hosted zone

Amazon Route 53 is a highly available and scalable Domain Name System (DNS) web service. You can use Route 53 to perform domain registration, DNS routing, and health checking.

If your domain is registered with Route 53, a public hosted zone that has the same name as the domain will have been automatically created. If you have an existing domain registered elsewhere, you will need to transfer the DNS service for your domain to Route 53, in which case you will start by creating a hosted zone for the existing domain.

Amazon Certificate Manager SSL Certificate

AWS Certificate Manager (ACM) is a service that lets you easily provision, manage, and deploy Secure Sockets Layer/Transport Layer Security (SSL/TLS) certificates for use with AWS services. SSL/TLS certificates provisioned through AWS Certificate Manager are free.

If you don’t already have an SSL/TLS certificate for your domain name you must request one using ACM. For more information about requesting an SSL/TLS certificate using ACM, please read the AWS Certificate Manager User Guide.

The certificate must be requested or imported into the region you create the CloudFormation stack. After you validate ownership of the domain names in your certificate, ACM provisions the certificate. The certificate Amazon Resource Name (ARN) can then be used as the required input parameter in step 3 of the deployment.

How to deploy

1. Create a stack using one of the options below. If the region you would like to use isn’t listed please contact us.

AWS Region NameCodeTemplate
Asia Pacific (Singapore)ap-southeast-1cloudformation-launch-stack
Asia Pacific (Sydney)ap-southeast-2cloudformation-launch-stack
Canada (Central)ca-central-1cloudformation-launch-stack
EU (Frankfurt)eu-central-1cloudformation-launch-stack
EU (Ireland)eu-west-1cloudformation-launch-stack
EU (London)eu-west-2cloudformation-launch-stack
EU (Paris)eu-west-3cloudformation-launch-stack
US East (N. Virginia)us-east-1cloudformation-launch-stack
US East (Ohio)us-east-2cloudformation-launch-stack
US West (N. California)us-west-1cloudformation-launch-stack
US West (Oregon)us-west-2cloudformation-launch-stack

2. After signing in to your AWS Console the stack template URL should be pre-filled. Press Next.

3. Specify a name for your LRS stack along with each of the following parameters (more information on the required parameters is given in the prerequisites above):

Domain name: This is the domain to be used to access your LRS (including the sub domain if using).

Hosted Zone ID: Select from one of your existing hosted zones. The domain name entered above must either be a sub domain of, or match, your chosen hosted zone.

Certificate ARN: The ARN for the domain entered above. The certificate must be within the same region as your stack.

Database password: This must be at least 8 characters long.

4. Configure stack options if required, all are optional. Press Next.

5. Review your LRS stack, acknowledge the requirements and press Create stack. It will take approximately fifteen minutes to build.

6. Once the stack creation is complete, Launch LRS can be accessed using your chosen domain. Select manage and sign in with the following credentials:
username: admin
password
: password
You will be required to change your password on first sign in.

Costs and licensing


The only cost is the AWS infrastructure cost, although most of the infrastructure is included in Amazon’s free tier. Deployment of Launch LRS is included in the formation and can be used without a licence.

If additional statement storage is required beyond the free tier, a storage plan licence can be purchased.