AWS resources provisioning for deploying “Raven”
This document guides you through provisioning AWS resources using Terraform for deploying the “Raven” SaaS product. The example repository is for guidance purposes to help you understand the requirements and needed AWS resources to run the Raven platform (self-hosted). It is not intended for production use.
Before starting, ensure you have the following:
docker_image_uri
hosted by RavenConfigure a proper Terraform backend to store the state files securely. Create or modify the backend.tf
file:
In providers.tf
, configure the AWS provider with the required region and credentials:
Open the variables.tf
file and set appropriate values for the variables. Modify defaults as needed:
Generate an execution plan to preview the changes:
Apply the changes to your AWS environment:
Confirm the apply step by typing yes
when prompted.
EC2 Instances: The configuration includes setting up EC2 instances with appropriate IAM roles and security settings.
ec2.tf
, the script provisions EC2 instances, attaches IAM roles, and configures security groups to allow necessary traffic.clickhouse.tf
file.Elasticache for Redis: Managed Redis instances using Elasticache.
elasticache.tf
, it sets up Redis with specified node types and cluster settings, ensuring proper subnet and security group configurations.redis_host
and redis_port
which will then be passed to the Lambda as an ENV variables.RDS (Relational Database Service): Provisions a managed database instance.
rds.tf
file includes configurations for instance type, storage, and security groups, tailored to meet the requirements of the SaaS product.AWS Lambda: Sets up AWS Lambda functions triggered by S3 events.
lambda.tf
, the configuration includes creating Lambda functions, assigning IAM roles, and setting up S3 event triggers.lambda_arn
which will be used to configure AWS S3 bucket to send events to the Lambda.lambda_sg_id
which will be used to allow the Lambda to access the ElastiCache/Redis database.Verify the resources in the AWS Management Console to ensure they are created as expected. Use CloudWatch and other monitoring tools to manage and observe the performance and health of the provisioned resources.
To destroy the resources created by Terraform when they are no longer needed:
Confirm the destroy step by typing yes
when prompted.
For more detailed information, refer to the GitLab repository.
AWS resources provisioning for deploying “Raven”
This document guides you through provisioning AWS resources using Terraform for deploying the “Raven” SaaS product. The example repository is for guidance purposes to help you understand the requirements and needed AWS resources to run the Raven platform (self-hosted). It is not intended for production use.
Before starting, ensure you have the following:
docker_image_uri
hosted by RavenConfigure a proper Terraform backend to store the state files securely. Create or modify the backend.tf
file:
In providers.tf
, configure the AWS provider with the required region and credentials:
Open the variables.tf
file and set appropriate values for the variables. Modify defaults as needed:
Generate an execution plan to preview the changes:
Apply the changes to your AWS environment:
Confirm the apply step by typing yes
when prompted.
EC2 Instances: The configuration includes setting up EC2 instances with appropriate IAM roles and security settings.
ec2.tf
, the script provisions EC2 instances, attaches IAM roles, and configures security groups to allow necessary traffic.clickhouse.tf
file.Elasticache for Redis: Managed Redis instances using Elasticache.
elasticache.tf
, it sets up Redis with specified node types and cluster settings, ensuring proper subnet and security group configurations.redis_host
and redis_port
which will then be passed to the Lambda as an ENV variables.RDS (Relational Database Service): Provisions a managed database instance.
rds.tf
file includes configurations for instance type, storage, and security groups, tailored to meet the requirements of the SaaS product.AWS Lambda: Sets up AWS Lambda functions triggered by S3 events.
lambda.tf
, the configuration includes creating Lambda functions, assigning IAM roles, and setting up S3 event triggers.lambda_arn
which will be used to configure AWS S3 bucket to send events to the Lambda.lambda_sg_id
which will be used to allow the Lambda to access the ElastiCache/Redis database.Verify the resources in the AWS Management Console to ensure they are created as expected. Use CloudWatch and other monitoring tools to manage and observe the performance and health of the provisioned resources.
To destroy the resources created by Terraform when they are no longer needed:
Confirm the destroy step by typing yes
when prompted.
For more detailed information, refer to the GitLab repository.