Was this page helpful?
Get started¶
Follow along this video to get started:
Or use the instructions outlined below to set up AWS EC2 instances and ScyllaDB Enterprise and run 1 million ops/sec workload.
Prerequisites¶
AWS account and CLI credentials (more information on acquiring the credentials here and here, for OKTA you can use gimme-aws-creds)
Terraform installed on your machine (installation instructions here)
AWS permissions¶
Make sure that you have sufficient AWS permissions to create the following items:
VPC
Subnets
Security groups
EC2 instances
Configure Terraform and set up infrastructure¶
Clone the repository:
git clone https://github.com/scylladb/1m-ops-demo.git cd 1m-ops-demo/scylladb-enterprise/
Set the required items in
variables.tf
:# Set the following variables (mandatory) # # AWS credentials file variable "path_to_aws_cred_file" { description = "AWS credentials location" type = string default = "/home/user/.aws/credentials" } # AWS credentials file variable "aws_creds_profile" { description = "AWS credentials profile" type = string default = "DeveloperAccessRole" } # 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/key.pem" } variable "aws_key_pair_name" { description = "Key pair name in AWS" type = string default = "key-pair" } variable "aws_region" { description = "AWS region" type = string default = "us-east-2" } # Make sure the AMIs are available in your chosen region # Amazon Machine Image (AMI) ID variable "monitoring_ami_id" { description = "AMI ID for the EC2 instance" type = string default = "ami-068cf3d51efeb20d6" } # Scylla (AMI) ID variable "scylla_ami_id" { description = "AMI ID for the ScyllaDB EC2 instance" type = string default = "ami-0a4e6d1a9b982b961" } # Scylla (AMI) ID for Loader instance variable "loader_ami_id" { description = "AMI ID for the EC2 loader instance" type = string default = "ami-027fdd99203b5e063" }
Run Terraform:
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: 20 added, 0 changed, 0 destroyed. Outputs: monitoring_url = "http://<ip-address>:3000" scylla_ips = "10.0.0.74,10.0.0.73,10.0.0.145" scylla_public_ips = "18.222.111.226,18.222.163.223,3.145.73.47"
Setting up the infrastructure takes 4+ minutes. Once Terraform is finished, go to the ScyllaDB Monitoring page (Terraform outputs the URL).
After finishing the demo, destroy the infrastructure:
terraform destroy