Introduction

Running Kill Bill on AWS using our official CloudFormation template is the easiest and fastest way to get started. 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.

With the click of a button, the template will install and configure:

  • Kill Bill and Kaui on a custom AMI optimized for AWS workloads (integrated with CloudWatch, SQS, SES, X-Ray and more)

  • Auto Scaling Groups, to automatically scale up and down the number of instances as needed (such as when batches of invoices are generated)

  • A load balancer, integrated with our internal healthchecks to promptly take out of rotation unhealthy instances

  • A RDS Aurora Cluster with automatic failover

cloudwatch

Kill Bill comes with the Analytics plugin pre-configured: you get a subscription billing management solution as feature-rich as popular SaaS platforms, but you are in control.

analytics

Installation

For installation support along the way, reach out to [email protected].

Configuration options

The installation supports the following configuration options:

  • VpcId: the VPC to use for the installation. In your AWS Console, go to Services and search for VPC. Under Your VPCs, locate the VPC ID you would like to use or create a new one.

  • Subnets: the subnets to use, associated with at least two different availability zones. In the VPC Dashboard, go to Subnets and find two subnets in your VPC in two different availability zones. Alternatively, create new ones (use 10.0.0.0/24 and 10.0.1.0/24 as the IPv4 CIDR for instance).

  • KeyName: name of an existing EC2 KeyPair to enable SSH access to the instances. You can create a new one by going to Key Pairs in your EC2 Dashboard.

  • HTTPLocation: IP address range allowed to access the load balancer (you can always use 0.0.0.0/0 initially and adjust access later on).

  • EnvType: environment purpose (test, prod, etc.)

  • InstanceType: the EC2 instance type to use for Kill Bill. Here are some guidelines:

    • m5.large: test environment

    • c5.xlarge: up to 5,000 subscriptions

    • c5.2xlarge: up to 50,000 subscriptions

    • c5.4xlarge: beyond 50,000 subscriptions

  • KillBillServerCapacity: the initial number of Kill Bill instances in the Auto Scaling group. Here are some guidelines:

    • 1: test environment

    • 2: up to 5,000 subscriptions

    • 3: up to 50,000 subscriptions

    • 4: beyond 50,000 subscriptions

  • KauiServerCapacity: the initial number of Kaui instances in the Auto Scaling group. We recommend using the default value 2.

  • DBClass: the database instance type to use for RDS. Here are some guidelines:

    • db.t3.medium: test environment

    • db.r5.xlarge: up to 5,000 subscriptions

    • db.r5.2xlarge: up to 50,000 subscriptions

    • db.r5.4xlarge: beyond 50,000 subscriptions

  • DBName: database name for Kill Bill. We recommend using the default value killbill.

  • KauiDBName: database name for Kaui. We recommend using the default value kaui.

  • DBUser: database admin username

  • DBPassword: database admin password

  • EnableCloudWatchMetrics: whether to record Kill Bill metrics in CloudWatch. Strongly recommended for production. When enabled, a default monitoring dashboard will be created.

Setup steps

  1. Start the installation process by going to AWS Marketplace: click Continue to Subscribe and populate the configuration options in the CloudFormation form.

  2. Launch the stack.

  3. Upon success, the Outputs tab will display the load balancer URL. Kill Bill is available on port 80 while Kaui on port 9090.

You can log-in to Kaui by going to http://<LOAD_BALANCER_URL>:9090 (make sure your IP address can access the load balancer, as defined by the parameter HTTPLocation, or add it to the security group as needed). Default credentials are: admin/password.

Take a look at our Getting Started guide for an introduction to Kaui.

Upgrade steps

The Kill Bill core team will provide new AMIs whenever necessary.

Because the CloudFormation from AWS Marketplace will always reflect the latest AMI ids, you can simply update the stack with the latest CloudFormation template and the instances in the AutoScaling groups will be updated automatically.

We strongly recommend to always test the upgrade in a test environment first.