Kong is an open-source management layer for APIs, delivering high-performance and reliability (see http://getkong.org). Kong requires Cassandra as its data store. As such, Instaclustr is a great way to run Cassandra for your Kong deployment. This article describes how to get set up to use Instaclustr with Kong.
Firstly, for a product installation or one where you will be doing any kind of performance/load testing, we highly recommend that your server running Kong is in the same region as your Cassandra cluster. We support all AWS regions, most Azure Data Centers, Google Cloud Platform, and Softlayer.
These are the steps to configure Kong to work with Instaclustr:
Provision a new cluster on Instaclustr by logging into the dashboard and choosing “Create Cluster”.
Choose the same region as your Kong server.
Before v0.4.2, Kong does not support user authentication or client connection encryption, so ensure that you turn these options off. You will need to rely on the firewall rules to limit access to the cluster to your server only. (Alternatively, on AWS you could use VPC peering.) Kong v0.4.2 has included support for authentication and encryption. You can therefore now enable these options in your cluster if desired – username, password and certificate file will have to be set in your kong configuration file.
All other settings can be left at default.
Ensure the server from which you are running Kong is whitelisted in your cluster firewall rules.
From the cluster page in the Instaclustr dashboard, choose Manage Cluster / Firewall Rules.
In the Allowed Addresses box, enter the IP of your Kong host and click on “Save Cluster Settings”.
Navigate to the Cluster Details page for your cluster and note the Public IPs of the nodes that have been provisioned.
Log in to a shell on your Kong host and, if necessary, install Kong according to the instructions on getkong.org.
Optionally, install CQLSH on your Kong host and check the connection
pip install cqlsh
It is the easiest way to install cqlsh where you have pip installed.
where x.x.x.x is the public IP of one of the nodes in your cluster (from step 3).
cqlsh should connect and you should get a cqlsh> prompt. You can run
to check that the connection is working. Then exit to quit cqlsh.