mirror of
https://github.com/timokz/flutter-vienna-hackathon-25.git
synced 2025-11-09 01:34:20 +01:00
70 lines
No EOL
2 KiB
HCL
70 lines
No EOL
2 KiB
HCL
resource "aws_elasticache_cluster" "redis" {
|
|
count = var.enable_redis ? 1 : 0
|
|
|
|
cluster_id = var.project_name
|
|
engine = "redis"
|
|
node_type = "cache.t4g.micro"
|
|
num_cache_nodes = 1
|
|
engine_version = "6.x"
|
|
port = 6379
|
|
apply_immediately = true
|
|
security_group_ids = [aws_security_group.redis[0].id]
|
|
subnet_group_name = aws_elasticache_subnet_group.redis[0].name
|
|
}
|
|
|
|
resource "aws_route53_record" "redis" {
|
|
count = var.enable_redis ? 1 : 0
|
|
|
|
zone_id = var.hosted_zone_id
|
|
name = "${var.subdomain_redis}.${var.top_domain}"
|
|
type = "CNAME"
|
|
ttl = "300"
|
|
records = ["${aws_elasticache_cluster.redis[0].cache_nodes[0].address}"]
|
|
}
|
|
|
|
# Makes Redis accessible from the serverpod only.
|
|
resource "aws_security_group" "redis" {
|
|
count = var.enable_redis ? 1 : 0
|
|
|
|
name = "${var.project_name}-redis"
|
|
ingress {
|
|
from_port = 6379
|
|
to_port = 6379
|
|
protocol = "tcp"
|
|
security_groups = [aws_security_group.serverpod.id]
|
|
}
|
|
|
|
vpc_id = module.vpc.vpc_id
|
|
}
|
|
|
|
resource "aws_elasticache_subnet_group" "redis" {
|
|
count = var.enable_redis ? 1 : 0
|
|
|
|
name = "${var.project_name}-subnet"
|
|
subnet_ids = module.vpc.public_subnets
|
|
}
|
|
|
|
# Staging
|
|
resource "aws_elasticache_cluster" "redis_staging" {
|
|
count = var.enable_redis && var.enable_staging_server ? 1 : 0
|
|
|
|
cluster_id = var.project_name
|
|
engine = "redis"
|
|
node_type = "cache.t4g.micro"
|
|
num_cache_nodes = 1
|
|
engine_version = "6.x"
|
|
port = 6379
|
|
apply_immediately = true
|
|
security_group_ids = [aws_security_group.redis[0].id]
|
|
subnet_group_name = aws_elasticache_subnet_group.redis[0].name
|
|
}
|
|
|
|
resource "aws_route53_record" "redis_staging" {
|
|
count = var.enable_redis && var.enable_staging_server ? 1 : 0
|
|
|
|
zone_id = var.hosted_zone_id
|
|
name = "${var.subdomain_redis_staging}.${var.top_domain}"
|
|
type = "CNAME"
|
|
ttl = "300"
|
|
records = ["${aws_elasticache_cluster.redis_staging[0].cache_nodes[0].address}"]
|
|
} |