VPC
Terraform module to create AWS VPC resources
Charged while it exists
2These set the floor of the bill. They accrue from the moment they are created, even if nothing uses them.
EC2
aws_eipAn hourly charge per address, whether or not it is attached.
VPC
aws_nat_gatewayAn hourly charge per gateway plus every GB processed. One per availability zone multiplies both.
Charged by usage
2These stay near zero until there is traffic, and are the hardest to predict from source alone.
CloudWatch Logs
aws_cloudwatch_log_groupPer GB ingested, then per GB stored for as long as retention keeps it. Retention set to never expire is the usual surprise.
VPC
aws_flow_logPer GB of captured traffic. Logging all traffic on a busy VPC is expensive.
No charge
28These carry no charge of their own, though some of them govern resources that do.
ElastiCache
aws_elasticache_subnet_groupIAM
aws_iam_policyIAM
aws_iam_roleIAM
aws_iam_role_policy_attachmentRDS
aws_db_subnet_groupRedshift
aws_redshift_subnet_groupSite-to-Site VPN
aws_customer_gatewaySite-to-Site VPN
aws_vpn_gatewaySite-to-Site VPN
aws_vpn_gateway_attachmentSite-to-Site VPN
aws_vpn_gateway_route_propagationVPC
aws_default_network_aclVPC
aws_default_route_tableVPC
aws_default_security_groupVPC
aws_default_vpcVPC
aws_egress_only_internet_gatewayVPC
aws_internet_gatewayVPC
aws_network_aclVPC
aws_network_acl_ruleVPC
aws_routeVPC
aws_route_tableVPC
aws_route_table_associationVPC
aws_subnetVPC
aws_vpcVPC
aws_vpc_block_public_access_exclusionVPC
aws_vpc_block_public_access_optionsVPC
aws_vpc_dhcp_optionsVPC
aws_vpc_dhcp_options_associationVPC
aws_vpc_ipv4_cidr_block_association