Introduction

The core development team publishes official images on the AWS Marketplace, which lets you quickly get started with Kill Bill in the cloud.

Installation via our standalone AMI

Running Kill Bill on AWS using our official AMI lets you deploy Kill Bill, Kaui and MySQL in a single EC2 instance. It is perfect for test environments or for small production deployments where high availability isn’t a concern.

Setup steps

  1. Start the installation process by going to AWS Marketplace: click Continue to Subscribe and accept Terms.

  2. After a few minutes, click Continue to Configuration and Continue to Launch

  3. Upon success, once the instance is running, Kill Bill is running on port 8443 and Kaui on port 443.

You can log-in to Kaui by going to https://<INSTANCE_IP_>:443 (make sure your IP address can address this port, or add it to the security group as needed). Default credentials are: admin/password. The first few requests might be a bit slow as Kill Bill initializes itself.

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

Installation via CloudFormation

Running Kill Bill on AWS using our official 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.

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

By installating additional plugins suchs as our free Analytics plugin, you get a subscription billing management solution as feature-rich as popular SaaS platforms, but you are in control.

analytics

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.