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
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.
For installation support along the way, reach out to
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
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.
Start the installation process by going to AWS Marketplace: click Continue to Subscribe and populate the configuration options in the CloudFormation form.
Launch the stack.
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.
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.