https://github.com/zseta/scylladb-tablet-demo
https://github.com/zseta/scylladb-tablet-demo
Last synced: 3 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/zseta/scylladb-tablet-demo
- Owner: zseta
- Created: 2024-07-22T01:01:48.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2024-07-22T19:33:44.000Z (almost 2 years ago)
- Last Synced: 2025-07-03T18:59:07.156Z (11 months ago)
- Language: HCL
- Size: 12.7 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Security: security-group.tf
Awesome Lists containing this project
README
# ScyllaDB Tablets demo
This ScyllaDB demo shows you how ScyllaDB handles high workload while scaling out from 3 nodes to 6 nodes.
## Infrastructure elements
* Amazon Web Services (AWS) EC2 instances
## Prerequisites
* AWS account and CLI credentials (more information on acquiring the credentials [here](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.html) and [here](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html), for OKTA you can use [gimme-aws-creds](https://github.com/Nike-Inc/gimme-aws-creds))
* Terraform installed on your machine (installation instructions [here](https://developer.hashicorp.com/terraform/tutorials/aws-get-started/install-cli))
### AWS permissions
Make sure that you have sufficient AWS permissions to create the following items:
* VPC
* Subnets
* Security groups
* EC2 instances
## Get started
Clone the repository:
```
git clone
cd repo/
```
First, set the required items in `variables.tf`:
```terraform
#
# Set the following variables (mandatory)
#
# ScyllaDB Cloud API token
variable "scylla_cloud_token" {
description = "ScyllaDB Cloud API token"
type = string
default = "ADD-YOUR-API-TOKEN-HERE"
}
# ScyllaDB Cloud region
variable "scylla_cloud_region" {
description = "ScyllaDB Cloud region of the cluster"
type = string
default = "eu-north-1"
}
# SSH private key for EC2 instance access
variable "ssh_private_key" {
description = "SSH private key location for EC2 instance access"
type = string
default = "/home/user/Documents/your-private-key.pem"
}
variable "aws_key_pair" {
description = "Key pair name in AWS"
type = string
default = "my-key-pair"
}
# AWS credentials file
variable "aws_creds" {
description = "AWS credentials location"
type = string
default = "/home/user/.aws/credentials"
}
```
Start setting up infrastructure with Terraform:
```bash
terraform init
terraform plan
terraform apply
Do you want to perform these actions?
Terraform will perform the actions described above.
Only 'yes' will be accepted to approve.
Enter a value: yes
[...]
Apply complete! Resources: 23 added, 0 changed, 0 destroyed.
```
Setting up the infrastructure takes YX minutes. Once Terraform is finished do X Y Z
After finishing the demo, destroy the infrastructure:
```
terraform destroy
```