Skip to content

Commit

Permalink
Merge pull request #538 from vnandwana/v3
Browse files Browse the repository at this point in the history
Updated CF stack diagram and setup document
  • Loading branch information
sbrossie authored Feb 22, 2024
2 parents 1406481 + a592bc0 commit 4d51e22
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 6 deletions.
Binary file modified userguide/assets/aws/cf_stack.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
12 changes: 6 additions & 6 deletions userguide/aws/how-to-set-up-a-cloud-formation-system.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,13 @@

This document describes the procedures for setting up Kill Bill under AWS using the CloudFormation option. This is one of two recommended alternatives for production use. The multi-tier option requires more setup than CloudFormation, but provides more control over the deployment. The procedures in this document are based on the options recommended by Kill Bill.

Deployment via CloudFormation leverages the capabilites of the AWS infrastructure to provide a robust *production ready* deployment with a single click. The entire CloudFormation configuration, or stack, is defined by a *CloudFormation Template*.
Deployment via CloudFormation leverages the capabilities of the AWS infrastructure to provide a robust *production ready* deployment with a single click. The entire CloudFormation configuration, or stack, is defined by a *CloudFormation Template*.

The features of the CloudFormation system include:

* Both Kill Bill and Kaui instances can be scaled up or down using AWS autoscaling groups
* AWS CloudWatch provides metrics to follow what is happening
* The RDS database based on AWS Aurora comes automatically configured and ready for use
* The instance with Kill Bill and Kaui installed can be scaled up or down using an AWS Auto Scaling Group.
* AWS CloudWatch provides metrics to follow what is happening.
* The RDS database based on AWS Aurora comes automatically configured and ready for use.

Running Kill Bill on AWS using our CloudFormation Template is the easiest and fastest way to get started with a production cluster. *It is also the only method of installation that is certified by the core developers for a highly available, horizontally scalable and production-ready installation.*

Expand All @@ -29,7 +29,7 @@ image::../assets/aws/cf_stack.png[align=center]

All resources for this system run within a single AWS *Virtual Private Cloud (VPC)*, providing a dedicated block of IP addresses which must be located in a single *region*. The cloud is partitioned into *availability zones*, which are accessed by *subnets*. The resources must be distributed over at least two availability zones.

Multiple instances of Kaui and the Kill Bill server are deployed in the VPC, each running on its own Ubuntu Linux server. AWS autoscaling is used to increase and decrease the number of instances for each package as needed.
A single EC2 instance hosts both Kill Bill and Kaui servers in the VPC, running on an Ubuntu Linux server. AWS autoscaling is utilized to dynamically adjust the number of instances for each package based on demand, allowing for efficient scaling.

Access to these instances is managed by an AWS *Elastic Load Balancer (ELB)*. The ELB routes each request to the correct package and distributes the requests across the available instances. The ELB accepts traffic securely using HTTPS by default.

Expand Down Expand Up @@ -135,13 +135,13 @@ First, you need to provide a name for your stack. Any name will do, as long as i
* *InstanceType:* the EC2 instance type to use for Kill Bill. This normally should not be changed.
* *KBAdminPassword:* the password to be used for the default `root` user which has all permissions. By default this is set to `password`. Please change it! There are currently no restrictions on format. This is also the password you will use to login to Kaui.
* *KauiDBName:* database name for Kaui. This is preset to *kaui*. Do not change it.
* *KauiServerCapacity:* the initial number of Kaui instances in the Auto Scaling group. We recommend using the default value, `2`.
* *KeyName:* name of your existing EC2 KeyPair to enable SSH access to the instances. You created this in Step 4.
* *KillBillServerCapacity:* the initial number of Kill Bill instances in the Auto Scaling group. Again we recommend the default value of `2`.
* *NewRelicApiKey:* key needed if New Relic is used. Leave blank.
* *RDSSubnets:* the subnets to use for the RDS instance. Select two or more from your subnets, which must be in two or more availability zones. There is no harm in using more.
* *RollbarAccessToken:* key needed for Rollbar. Leave blank.
* *SentryDsn:* key needed for Sentry. Leave blank.
* *SetEnvironmentVariables:* A comma-delimited list of environment variables to set.
* *SsmStorePath:* SSM parameter store that can be used for key pairs. Leave this blank.
* *Subnets:* the subnets to use for the KB and Kaui instances. Also two or more from your subnets in two or more availability zones. These may or may not be the same as the RDS subnets.
* *VpcId:* the Id of the VPC to use for the installation, which you identified earlier.
Expand Down

0 comments on commit 4d51e22

Please sign in to comment.