This repository contains the automated deployment process for Aurora, a data streaming platform designed to process and visualize real-time event streams from Kafka to ClickHouse.
The platform deploys the following key components:
- ClickHouse database on EC2
- Grafana dashboard on EC2
- Kafka consumer on EC2
- Aurora web application on EC2 (Docker container)
- VPC and security groups
- SSM Parameter Store for configuration
The platform uses Terraform to manage infrastructure as code, allowing for consistent, repeatable deployments and easy management of AWS resources.
- An AWS account
- AWS CLI installed and configured with the appropriate credentials and region
- Terraform installed
- OpenAI API key
Clone the repository and install dependencies:
git clone <repository-url>
cd deploy
pip install -r requirements.txtTo deploy the infrastructure, run:
./deploy.shThis script will:
- Initialize and apply Terraform configuration
- Deploy all EC2 instances and networking
- Run post-deployment configuration scripts
- Provide access URLs for all services
After deployment, you can access:
- Aurora web app:
http://<web-app-ip>:8000 - Grafana dashboard:
http://<grafana-ip>:3000 - ClickHouse:
<clickhouse-ip>:8123
To tear down the infrastructure, run:
./destroy.shThis script will:
- Use Terraform to destroy all resources
- Clean up local state files
Note: Destroying the infrastructure will remove all related resources and data. This action cannot be undone, so please use with caution.