diff --git a/packer/config.pkr.hcl b/packer/config.pkr.hcl index 4ce3e72..f6d2a5a 100644 --- a/packer/config.pkr.hcl +++ b/packer/config.pkr.hcl @@ -37,6 +37,11 @@ source "amazon-ebs" "ubuntu" { instance_type = "t3.micro" source_ami = "${data.amazon-ami.ubuntu.id}" ssh_username = "ubuntu" + + tags { + BillingCategory = "Riju" + BillingCategory = "Riju:AMI" + } } build { diff --git a/tf/acm.tf b/tf/acm.tf index be8245a..2333115 100644 --- a/tf/acm.tf +++ b/tf/acm.tf @@ -4,7 +4,8 @@ resource "aws_acm_certificate" "riju" { validation_method = "DNS" tags = { - Name = "Riju server" + Name = "Riju server" + BillingSubcategory = "Riju:ACM" } } diff --git a/tf/alb.tf b/tf/alb.tf index 15335f7..c03d69c 100644 --- a/tf/alb.tf +++ b/tf/alb.tf @@ -31,6 +31,10 @@ resource "aws_lb" "server" { security_groups = [aws_security_group.alb.id] subnets = data.aws_subnet_ids.default.ids idle_timeout = 3600 + + tags = { + BillingSubcategory = "Riju:ALB" + } } resource "aws_lb_target_group" "server" { diff --git a/tf/asg.tf b/tf/asg.tf index ab54ab6..44ba421 100644 --- a/tf/asg.tf +++ b/tf/asg.tf @@ -99,6 +99,13 @@ resource "aws_autoscaling_group" "server" { propagate_at_launch = true, } ], + [ + { + key = "BillingSubcategory" + value = "Riju:EC2:Webserver" + propagate_at_launch = true + } + ] ) lifecycle { diff --git a/tf/backup.tf b/tf/backup.tf index 473b980..e887d26 100644 --- a/tf/backup.tf +++ b/tf/backup.tf @@ -15,7 +15,8 @@ resource "aws_backup_plan" "riju" { } recovery_point_tags = { - BillingCategory = "Riju" + BillingCategory = "Riju" + BillingSubcategory = "Riju:Backup:DevServer" } } } diff --git a/tf/cloudwatch.tf b/tf/cloudwatch.tf index 57beecc..875d648 100644 --- a/tf/cloudwatch.tf +++ b/tf/cloudwatch.tf @@ -16,6 +16,10 @@ resource "aws_cloudwatch_metric_alarm" "server_cpu" { dimensions = { AutoScalingGroupName = aws_autoscaling_group.server[count.index].name } + + tags = { + BillingSubcategory = "Riju:CloudWatch:Alarm" + } } resource "aws_cloudwatch_metric_alarm" "server_memory" { @@ -36,6 +40,10 @@ resource "aws_cloudwatch_metric_alarm" "server_memory" { dimensions = { AutoScalingGroupName = aws_autoscaling_group.server[count.index].name } + + tags = { + BillingSubcategory = "Riju:CloudWatch:Alarm" + } } resource "aws_cloudwatch_metric_alarm" "server_data_volume_disk_space" { @@ -57,6 +65,10 @@ resource "aws_cloudwatch_metric_alarm" "server_data_volume_disk_space" { AutoScalingGroupName = aws_autoscaling_group.server[count.index].name path = "/mnt/riju/data" } + + tags = { + BillingSubcategory = "Riju:CloudWatch:Alarm" + } } resource "aws_cloudwatch_metric_alarm" "server_root_volume_disk_space" { @@ -78,6 +90,10 @@ resource "aws_cloudwatch_metric_alarm" "server_root_volume_disk_space" { AutoScalingGroupName = aws_autoscaling_group.server[count.index].name path = "/" } + + tags = { + BillingSubcategory = "Riju:CloudWatch:Alarm" + } } resource "aws_cloudwatch_dashboard" "riju" { diff --git a/tf/ec2.tf b/tf/ec2.tf index 84ba20c..a5fefe8 100644 --- a/tf/ec2.tf +++ b/tf/ec2.tf @@ -50,7 +50,8 @@ resource "aws_instance" "dev_server" { } tags = { - Name = "Riju dev server" + Name = "Riju dev server" + BillingSubcategory = "Riju:EC2:DevServer" } lifecycle { @@ -63,8 +64,10 @@ resource "aws_instance" "dev_server" { resource "aws_eip" "dev_server" { count = local.ssh_key_available ? 1 : 0 + tags = { - Name = "Riju dev server" + Name = "Riju dev server" + BillingSubcategory = "Riju:EIP" } } diff --git a/tf/ecr.tf b/tf/ecr.tf index a074197..9fe47e5 100644 --- a/tf/ecr.tf +++ b/tf/ecr.tf @@ -1,6 +1,10 @@ resource "aws_ecr_repository" "riju" { name = "riju" image_tag_mutability = "MUTABLE" + + tags = { + BillingSubcategory = "Riju:ECR:Private" + } } resource "aws_ecrpublic_repository" "riju" { diff --git a/tf/s3.tf b/tf/s3.tf index 4d98f3f..60d309e 100644 --- a/tf/s3.tf +++ b/tf/s3.tf @@ -1,5 +1,9 @@ resource "aws_s3_bucket" "riju" { bucket = data.external.env.result.S3_BUCKET + + tags = { + BillingSubcategory = "Riju:S3" + } } resource "aws_s3_bucket_public_access_block" "riju" { diff --git a/tf/sns.tf b/tf/sns.tf index 951ba31..ceb68f5 100644 --- a/tf/sns.tf +++ b/tf/sns.tf @@ -1,3 +1,7 @@ resource "aws_sns_topic" "riju" { name = "Riju" + + tags = { + BillingSubcategory = "Riju:SNS" + } }