Skip to content
AWS

AWS Terraform Resources

Cost estimation reference for 193 AWS resources supported by C3X. Each page covers pricing dimensions, Terraform examples, and optimization tips.

Analytics

aws_athena_workgroup

Serverless query engine for S3 data. $5 per TB scanned (standard). Provisioned capacity option starts at $0.30/DPU-hour with 24-hour minimum. Workgroups themselves are free; the queries within bill.

Amazon Athena
aws_elasticsearch_domain

The legacy Elasticsearch Service domain (now OpenSearch). Bills per data-node instance-hour plus storage. A single t3.small.search node is ~$26/month.

Amazon OpenSearch Service
aws_emr_cluster

Managed Hadoop, Spark, Hive, Presto, and HBase. Bills EC2 instance hours plus EMR service fee (typically $0.063-$0.27/instance-hour on top of EC2). EMR Serverless eliminates instance management; EMR on EKS allows reusing EKS clusters.

Amazon EMR
aws_glue_catalog_database

A Glue Data Catalog database is effectively free (the first million objects and requests are free) and the real cost is the querying, crawling, and ETL that use it.

AWS Glue
aws_glue_crawler

A crawler that catalogs data sources into the Glue Data Catalog, billed per DPU-hour while it runs. 10 DPU-hours/month is ~$4.40, it only bills during crawl runs.

AWS Glue
aws_kendra_index

A managed intelligent-search index. Priced as a flat hourly fee by edition, billed continuously, with a substantial monthly floor.

Amazon Kendra
aws_kinesis_firehose_delivery_stream

A managed stream that loads data into S3, Redshift, OpenSearch, or Splunk. Priced per GB ingested, with extras for format conversion and VPC delivery.

Amazon Data Firehose
aws_kinesisanalyticsv2_application

A managed Apache Flink (Kinesis Data Analytics) application billed per Kinesis Processing Unit-hour. Two KPUs run ~$161/month, billed while the application runs.

Amazon Managed Service for Apache Flink
aws_msk_serverless_cluster

A serverless Apache Kafka cluster that scales automatically. Priced per cluster-hour plus partition-hours, storage, and data in/out.

Amazon MSK
aws_mwaa_environment

A managed Apache Airflow environment. Priced per environment-hour by size, plus additional worker and scheduler hours and metadata storage.

Amazon MWAA
aws_opensearchserverless_collection

Serverless OpenSearch billed per OpenSearch Compute Unit-hour, with a minimum capacity floor. The 4-OCU minimum is ~$701/month.

Amazon OpenSearch Service
aws_redshift_parameter_group

A set of engine parameters for a Redshift cluster. Parameter groups are free. The clusters they configure bill per node-hour, from $0.25/hour for dc2.large to $13/hour for ra3.16xlarge, plus Spectrum and concurrency scaling.

Amazon Redshift
aws_redshiftserverless_workgroup

Serverless Redshift compute billed per RPU-hour only while queries run. 100 RPU-hours is ~$36; idle workgroups cost nothing for compute.

Amazon Redshift Serverless

Application Integration

Backup

Compute

aws_apprunner_service

A managed container service that scales to zero between requests. Priced on provisioned memory plus active vCPU, with separate build minutes.

AWS App Runner
aws_autoscaling_group

An Auto Scaling Group is free to create. Its cost is entirely the EC2 instances it launches, so the bill scales with desired_capacity times the instance type times uptime.

Amazon EC2 Auto Scaling
aws_ec2_host

A physical server dedicated to your account, billed per host-hour by instance family. An m5 dedicated host is ~$3,700/month, you pay for the whole host, not the instances on it.

Amazon EC2
aws_instance

An EC2 virtual machine. Priced per hour by instance type, OS, tenancy, and region, with separate charges for attached EBS volumes and data transfer.

Amazon EC2
aws_launch_configuration

A launch configuration is free. It is a legacy blueprint for EC2 instances, so cost appears only when an Auto Scaling Group uses it to launch instances.

Amazon EC2 Auto Scaling
aws_launch_template

A launch template is free. It is a blueprint for EC2 instances, so its cost is realized only when an Auto Scaling Group or fleet uses it to launch instances.

Amazon EC2
aws_lightsail_instance

Simplified VPS bundles for small workloads. Flat monthly pricing from $3.50/month (512 MB) to $160/month (64 GB). Includes data transfer allowance. Much simpler than EC2 but limited features.

Amazon Lightsail
aws_sfn_state_machine

Workflow orchestration. Standard workflows at $0.025 per 1,000 state transitions. Express workflows at $1 per 1M requests + duration fees. Standard for long-running workflows; Express for high-volume short workflows.

AWS Step Functions
aws_spot_instance_request

An EC2 instance run at Spot prices, up to ~90% below on-demand, in exchange for possible interruption. c3x prices it at the on-demand ceiling (a t3.micro is ~$7.59/month).

Amazon EC2
aws_ssm_document

An SSM document is free. It is a JSON or YAML definition of commands or an automation workflow. AWS charges nothing to store it. Cost comes from what its steps run.

AWS Systems Manager

Containers

Database

aws_dax_cluster

An in-memory write-through cache for DynamoDB. Priced per node-hour by node type, multiplied across the cluster's node count.

Amazon DAX
aws_db_instance

A managed relational database instance on RDS. Priced per hour by instance class, engine, deployment option, and region, with storage and IOPS billed separately.

Amazon RDS
aws_db_option_group

A container of optional features (like SQL Server native backup, Oracle OEM, or TDE) for an RDS instance. Option groups are free. The RDS instance bills per hour, and some options carry licensing or storage cost.

Amazon RDS
aws_db_parameter_group

A DB parameter group is free. It is the engine configuration attached to an RDS instance, and the cost stays entirely on the instance it tunes.

Amazon RDS
aws_db_proxy

A managed connection pool in front of RDS or Aurora. Priced per vCPU-hour of the proxied database instances, billed continuously.

Amazon RDS
aws_db_snapshot

A manual snapshot of an RDS instance, billed per GB-month of backup storage beyond the free allowance. A 50 GB snapshot is ~$4.75/month.

Amazon RDS
aws_db_subnet_group

A DB subnet group is free. It tells RDS which subnets a database can live in, and the cost is entirely the RDS instance it enables.

Amazon RDS
aws_dms_replication_instance

A managed instance that runs database migration and replication tasks. Priced per instance-hour by class, doubled for Multi-AZ, plus storage.

AWS Database Migration Service
aws_documentdb_cluster

MongoDB-compatible managed document database. Instance-hour ($0.277/hour for db.r6g.large) plus storage ($0.10/GB-month) plus I/O ($0.20/M-requests). Backup storage above retention is $0.021/GB-month.

Amazon DocumentDB
aws_dynamodb_table

A managed NoSQL table. Pay-per-request (on-demand) or provisioned capacity, plus storage. No instances to manage.

Amazon DynamoDB
aws_dynamodb_table_item

A DynamoDB table item is free to define, but it adds to the table's stored data and consumes write and read capacity, so its cost is realized on the table.

Amazon DynamoDB
aws_elasticache_cluster

Managed Redis or Memcached. Priced per node-hour by instance type, with no storage or request charges.

Amazon ElastiCache
aws_elasticache_parameter_group

A named set of engine parameters for ElastiCache (Redis or Memcached) clusters. Parameter groups are free. The clusters they configure bill per node-hour, from about $0.017/hour for cache.t3.micro to $0.90+/hour for large nodes.

Amazon ElastiCache
aws_elasticache_replication_group

A Redis (or Valkey) replication group with primary and replica nodes, optionally cluster-mode sharded. Priced per node-hour by node type across all shards and replicas.

Amazon ElastiCache
aws_elasticache_serverless_cache

A serverless Redis or Valkey cache that scales automatically. Priced per GB-hour of data stored plus per million ElastiCache Processing Units (ECPUs).

Amazon ElastiCache
aws_elasticache_subnet_group

An ElastiCache subnet group is free. It tells ElastiCache which subnets a cache cluster can run in, and the cost is entirely the cache nodes it enables.

Amazon ElastiCache
aws_glue_job

A managed ETL job using Spark or Python shell. Priced per DPU-hour with 1-minute billing minimum, plus development endpoint and Data Catalog costs.

AWS Glue
aws_lightsail_database

A simplified managed database (MySQL/PostgreSQL) sold as a flat monthly bundle. The micro bundle is ~$15/month, all-in; HA bundles cost more.

Amazon Lightsail
aws_memorydb_cluster

A durable, Redis-compatible in-memory database. Priced per node-hour across all shards and replicas, plus per-GB data written and snapshot storage.

Amazon MemoryDB
aws_neptune_cluster

Managed graph database supporting Gremlin, openCypher, and SPARQL. Instance hours ($0.348/hour for db.r5.large) plus storage ($0.10/GB-month) plus I/O ($0.20/M requests). Neptune Serverless offers auto-scaling per-NCU.

Amazon Neptune
aws_neptune_cluster_instance

A compute instance in a Neptune graph-database cluster, billed per instance-hour by class. A db.r5.large runs ~$254/month, and a cluster usually has a writer plus readers.

Amazon Neptune
aws_opensearch_domain

A managed OpenSearch (formerly Elasticsearch) cluster. Priced per node-hour by instance type, plus storage and optional UltraWarm/Cold tiers.

Amazon OpenSearch Service
aws_qldb_ledger

A serverless immutable ledger database billed by write IOs, read IOs, and journal/indexed storage, no instances. 10M write IOs + 20 GB is ~$12/month.

Amazon QLDB
aws_rds_cluster

An Aurora cluster (MySQL or PostgreSQL compatible). Priced by per-instance compute, storage by GB used, and I/O (Standard) or compute (I/O-Optimized).

Amazon Aurora
aws_rds_cluster_instance

A compute instance in an Aurora cluster, billed per instance-hour by class. A db.r6g.large Aurora PostgreSQL instance is ~$247/month, and a cluster usually runs several.

Amazon Aurora
aws_redshift_cluster

A managed data warehouse. Two compute models: classic node-based pricing (per-hour) or Redshift Serverless (per-RPU-hour), plus managed storage.

Amazon Redshift
aws_timestreamwrite_table

A serverless time-series table billed by writes, storage tier, and queries, no instances. 100M writes + 500 GB magnetic storage is ~$65/month.

Amazon Timestream

Developer Tools

End User Computing

Integration

Machine Learning

Management

Management & Governance

Messaging

Monitoring

Networking

aws_api_gateway_rest_api

A REST API endpoint. Priced per request, with no base hourly fee. Cheaper than ALB at low volume.

Amazon API Gateway
aws_apigatewayv2_api

HTTP and WebSocket APIs. HTTP API is 70% cheaper than REST API: $1.00 per million requests vs $3.50. WebSocket connections billed separately by connection-minute and messages.

Amazon API Gateway
aws_cloudfront_distribution

A CDN distribution. Priced by data transfer to viewers and request count, with rates varying by region.

Amazon CloudFront
aws_customer_gateway

A customer gateway is free. It just records the on-premises side of a VPN (public IP and BGP ASN). The cost is the VPN connection it participates in.

Amazon VPC
aws_directconnect_gateway

A Direct Connect gateway is free. It is a global routing hub for Direct Connect. The cost is the Direct Connect connection port hours and the data transfer out that flows over it.

AWS Direct Connect
aws_dx_connection

A dedicated physical network link to AWS, billed per port-hour by speed plus data transfer out. A 1 Gbps port is ~$219/month before egress.

AWS Direct Connect
aws_ec2_transit_gateway

A network hub connecting multiple VPCs, VPNs, and Direct Connects. $0.05/hour per attachment plus $0.02/GB processed.

Amazon VPC
aws_ec2_transit_gateway_vpc_attachment

Attaches a VPC to a Transit Gateway, billed ~$0.05/hour (~$36.50/month) per attachment plus the data the TGW processes for it.

AWS Transit Gateway
aws_eip

A static public IPv4 address. Free while attached and in use, $0.005/hour while detached or unassociated. As of 2024, also charges per-hour for attached IPv4 in some scenarios.

Amazon EC2
aws_eip_association

An EIP association is free. It binds an Elastic IP to an instance or network interface. The cost sits on the Elastic IP itself, which is free while attached to a running instance and billed when idle.

Amazon VPC
aws_globalaccelerator_accelerator

Anycast IPs that route users to the nearest healthy endpoint over the AWS backbone. Priced as a fixed hourly fee plus a per-GB data transfer premium.

AWS Global Accelerator
aws_internet_gateway

An internet gateway is free. Attaching one to a VPC and routing through it costs nothing. The cost is the data transfer out to the internet that it enables.

Amazon VPC
aws_lb

A managed load balancer (ALB or NLB). Priced per hour plus per LCU/NLCU based on processed traffic.

Elastic Load Balancing
aws_lb_listener

A listener is free. It checks for connections on a port and forwards them, so the cost is the load balancer it belongs to, not the listener.

Elastic Load Balancing
aws_lb_target_group

A target group is free. It routes traffic to registered targets for an ALB or NLB, and the cost sits on the load balancer and the targets themselves.

Elastic Load Balancing
aws_lightsail_distribution

A simplified CDN fronting a Lightsail (or other) origin, sold as a flat monthly bundle with an included transfer allowance. The small bundle is ~$2.50/month.

Amazon Lightsail
aws_main_route_table_association

Sets which route table is the main (default) table for a VPC. The association is free, but it decides the default path for any subnet without an explicit table, and that path can silently route traffic through paid NAT or transit gateways.

Amazon VPC
aws_nat_gateway

A managed NAT gateway for outbound internet access from private subnets. Notoriously expensive: $0.045/hour plus $0.045/GB processed.

Amazon VPC
aws_network_interface

An elastic network interface is free. AWS charges nothing for the ENI or its private IPs. Cost comes from the instance it attaches to, any Elastic IP left idle on it, and the traffic it carries.

Amazon VPC
aws_networkfirewall_firewall

A managed VPC firewall billed per endpoint-hour plus traffic processed. One endpoint with 100 GB is ~$295/month, and multi-AZ deployments multiply the endpoint fee.

AWS Network Firewall
aws_route

A single entry in a VPC route table. Routes are free, but they point traffic at targets like NAT gateways, transit gateways, and VPC peering, and those targets plus the data transfer they carry are where the cost is.

Amazon VPC
aws_route_table

A route table is free. It is a set of routing rules for a VPC, and AWS charges nothing for the table, its routes, or its associations. Cost lives in the targets those routes point at.

Amazon VPC
aws_route53_health_check

A health check that monitors an endpoint for DNS failover, billed ~$0.50/month for AWS endpoints or ~$0.75 for external ones, plus optional feature add-ons.

Amazon Route 53
aws_route53_query_log

Enables DNS query logging for a Route 53 public hosted zone. The logging config is free, but every query it records is written to CloudWatch Logs, which bills for ingestion and storage.

Amazon Route 53
aws_route53_record

A Route 53 record is free to create. There is no per-record charge. Cost comes from DNS queries against the hosted zone and from any health checks the record uses.

Amazon Route 53
aws_route53_resolver_endpoint

An inbound or outbound DNS resolver endpoint for hybrid name resolution, billed per elastic network interface (IP) per hour. Two IPs are ~$183/month, plus DNS query charges.

Amazon Route 53
aws_route53_zone

A DNS hosted zone. Flat $0.50/month per zone, plus tiered per-query charges.

Amazon Route 53
aws_route53_zone_association

A zone association is free. It attaches a VPC to a private hosted zone so the VPC can resolve its records. Cost comes from the hosted zone and its query volume, not the association.

Amazon Route 53
aws_security_group

Security groups are free. There is no charge for the group, its rules, or the traffic it allows. The cost sits in the resources it protects.

Amazon VPC
aws_subnet

A subnet is free. It carves an IP range out of a VPC in one Availability Zone, and AWS charges nothing for it. Cost comes from the resources you place in it and the traffic they generate.

Amazon VPC
aws_vpc

A VPC is free. The network itself, subnets, route tables, and security groups cost nothing. The cost comes from the paid components you run inside it.

Amazon VPC
aws_vpc_endpoint

A private endpoint into AWS services from your VPC. Gateway endpoints (S3, DynamoDB) are free; Interface endpoints are ~$7/month per AZ plus data fees.

Amazon VPC
aws_vpc_peering_connection

A VPC peering connection is free to create and has no hourly charge. The cost is the data transfer that crosses it, which depends on whether the VPCs are in the same or different regions.

Amazon VPC
aws_vpn_connection

A site-to-site IPsec VPN connection between your VPC and on-premises network. $0.05/hour per active connection plus data transfer.

AWS Site-to-Site VPN
aws_vpn_gateway

A virtual private gateway is free to attach to a VPC. The cost is the Site-to-Site VPN connection you terminate on it, billed hourly, plus data transfer.

Amazon VPC

Networking & Content Delivery

Observability

Security

aws_acm_certificate

TLS certificates for AWS services. Public certificates are free with auto-renewal. Private CA-issued certificates bill $400/month per private CA. Wildcard and SAN certificates included at no extra cost.

AWS Certificate Manager
aws_acmpca_certificate_authority

A managed private certificate authority. Priced as a flat monthly CA fee by mode, plus a per-certificate issuance charge.

AWS Private CA
aws_cognito_user_pool

A managed user directory for sign-up and sign-in. Priced per monthly active user (MAU) above a free tier, with the rate set by the feature tier.

Amazon Cognito
aws_iam_group

An IAM group is free. It bundles users so they share a set of policies. AWS charges nothing for the group. Cost comes from what the member users are permitted to do.

AWS IAM
aws_iam_instance_profile

An instance profile is free. It is the wrapper that passes an IAM role to an EC2 instance. AWS charges nothing for it. Cost lives in the instance and what its role lets it do.

AWS IAM
aws_iam_policy

An IAM policy is free. It is a JSON permission document. AWS charges nothing for creating, attaching, or evaluating policies. Cost lives in the services the policy permits.

AWS IAM
aws_iam_role

An IAM role is completely free. IAM is a no-cost service. A role grants permissions to whatever assumes it, and the cost is whatever those services do, never the role.

AWS IAM
aws_iam_user

An IAM user is free. Creating users, their access keys, and login profiles costs nothing. The cost is whatever AWS services the user is permitted to operate.

AWS IAM
aws_kms_alias

A KMS alias is free. It is a friendly name pointing at a KMS key. AWS charges nothing for the alias. Cost comes from the underlying KMS key and its API requests.

AWS KMS
aws_kms_key

A managed encryption key. Flat $1/month per key, plus per-request charges for cryptographic operations.

AWS Key Management Service
aws_secretsmanager_secret

A managed secret with versioning, rotation, and IAM-controlled access. Flat $0.40/month per secret plus per-API-call charges.

AWS Secrets Manager
aws_secretsmanager_secret_version

A secret version is free. It is one stored value of a secret. Secrets Manager bills per secret and per API call, not per version, so adding versions adds nothing.

AWS Secrets Manager
aws_ssm_parameter

A standard SSM parameter is free to store and read at standard throughput. Cost only appears if you choose the advanced tier or higher-throughput API calls.

AWS Systems Manager
aws_wafv2_web_acl

A web application firewall. $5/month per Web ACL, $1/month per rule, plus $0.60 per million inspected requests.

AWS WAF

Security & Identity

aws_cloudhsm_v2_hsm

A dedicated, single-tenant hardware security module billed per HSM-hour. One HSM is ~$1,168/month, and production needs at least two for HA.

AWS CloudHSM
aws_config_config_rule

A compliance rule evaluated by AWS Config, billed per rule evaluation. 10,000 evaluations is ~$10; cost scales with resource changes and rule count.

AWS Config
aws_config_configuration_recorder

Records resource configuration changes into AWS Config, billed per configuration item. 10,000 items is ~$30; cost is driven by recording scope and churn.

AWS Config
aws_directory_service_directory

A managed directory (Microsoft AD, Simple AD, or AD Connector) billed per hour. Standard Microsoft AD is ~$88/month; Simple AD is cheaper.

AWS Directory Service
aws_fms_policy

A Firewall Manager policy that centrally manages WAF/Shield/security-group rules across accounts, billed ~$100/policy/region/month, plus the resources it deploys.

AWS Firewall Manager
aws_guardduty_detector

Managed threat detection billed by the volume of CloudTrail events, VPC flow logs, and DNS logs analyzed. ~10M events + 100 GB logs is ~$140/month.

Amazon GuardDuty
aws_iam_access_key

A long-lived access key ID and secret for an IAM user. Access keys are free to create and use, but a leaked key is one of the most expensive incidents in AWS, capable of running up tens of thousands of dollars in hours.

AWS Identity and Access Management
aws_iam_role_policy

An inline IAM policy embedded directly in a role. IAM is completely free, there is no charge for roles, policies, or evaluation. The cost lives in the AWS services the policy grants access to.

AWS Identity and Access Management
aws_iam_role_policy_attachment

Links a managed IAM policy to a role. The attachment is free, as is all of IAM. What it grants determines how much the role can spend, so it is a cost-governance control point.

AWS Identity and Access Management
aws_kms_grant

A temporary, scoped permission to use a KMS key. Grants are free. The key it points at costs about $1/month, and the encrypt/decrypt API calls the grant enables bill per request.

AWS Key Management Service
aws_macie2_account

Managed sensitive-data discovery for S3, billed per bucket evaluated plus per GB inspected. 50 buckets + 100 GB inspected is ~$105/month.

Amazon Macie
aws_securityhub_account

Centralized security posture management, billed per security check and per finding ingested. 100K checks/month is ~$100, with tiers lowering the rate at scale.

AWS Security Hub
aws_shield_protection

Enrolls a resource in AWS Shield Advanced DDoS protection. Shield Advanced is a flat ~$3,000/month subscription per organization, shared across all protected resources.

AWS Shield Advanced

Serverless

Storage

aws_ebs_snapshot

A point-in-time backup of an EBS volume, stored in S3. $0.05/GB-month standard (incremental), or $0.0125/GB-month in the archive tier.

Amazon EBS
aws_ebs_volume

A persistent block storage volume. Priced per GB-month by volume type, with separate IOPS and throughput charges on certain types.

Amazon EBS
aws_efs_access_point

An EFS access point is free. It is an application-specific entry point into an EFS file system, and the cost is the EFS storage and throughput it maps into.

Amazon EFS
aws_efs_file_system

A managed NFS file system for shared access from EC2, ECS, EKS, and Lambda. Priced per GB stored, with tiered storage classes.

Amazon EFS
aws_efs_mount_target

An EFS mount target is free. It gives an EFS file system a network endpoint in one subnet, and the real cost is the EFS storage and throughput behind it.

Amazon EFS
aws_fsx_file_system

Managed file storage for Windows, Lustre, NetApp ONTAP, and OpenZFS workloads. Pricing varies wildly: from $0.025/GB-month (Lustre HDD) to $0.30+/GB-month (Windows SSD with deduplication).

Amazon FSx
aws_fsx_lustre_file_system

A high-performance Lustre file system for HPC and ML. Bills per GB of provisioned storage, with throughput coupled to capacity. 1.2 TB at 125 MB/s/TiB is ~$174/month.

Amazon FSx
aws_fsx_ontap_file_system

A managed NetApp ONTAP file system with multiprotocol access and NetApp features, billed per GB of SSD capacity plus throughput. 1 TB Multi-AZ is ~$256/month.

Amazon FSx
aws_fsx_openzfs_file_system

A managed OpenZFS file system for NFS workloads with ZFS features, billed per GB of SSD capacity plus throughput. 64 GB Single-AZ is ~$5.76/month.

Amazon FSx
aws_fsx_windows_file_system

A managed SMB file system with Active Directory integration. Bills per GB of provisioned storage plus throughput; 32 GB SSD Single-AZ is ~$4/month, scaling with capacity.

Amazon FSx
aws_glacier_vault

A vault for long-term archival storage, billed per GB-month at the deep-archive rate. 1 TB is ~$3.60/month, cheap to store, but retrieval costs time and money.

Amazon S3 Glacier
aws_lightsail_bucket

Simplified object storage sold as a flat monthly bundle with included storage and transfer. The small bundle is ~$1/month, all-in.

Amazon Lightsail
aws_s3_bucket

Object storage on S3. Priced by storage class, request count, and data transfer, with the bucket itself being free.

Amazon S3
aws_s3_bucket_acl

Sets the access control list on an S3 bucket. The ACL configuration is free. The bucket it governs bills for storage, requests, and data transfer, which is where all S3 cost lives.

Amazon S3
aws_s3_bucket_cors_configuration

Defines cross-origin resource sharing rules for an S3 bucket. The CORS config is free. It enables browsers to fetch objects directly, which drives the request and data transfer charges on the bucket.

Amazon S3
aws_s3_bucket_lifecycle_configuration

An S3 lifecycle configuration is free, and it is one of the strongest cost levers in S3: it transitions objects to cheaper storage classes and expires old data automatically.

Amazon S3
aws_s3_bucket_logging

Enabling S3 server access logging is free, but it writes a stream of log objects into a target bucket that you pay to store and, eventually, to query or delete.

Amazon S3
aws_s3_bucket_notification

An S3 bucket notification is free to configure. It routes bucket events to Lambda, SQS, or SNS, and cost lands on whichever destination processes the events.

Amazon S3
aws_s3_bucket_policy

An S3 bucket policy is free. It is an IAM resource policy attached to a bucket, and cost stays with the bucket and the requests the policy allows.

Amazon S3
aws_s3_bucket_public_access_block

A public access block is free. It is a safety toggle that stops a bucket from becoming public, and cost stays with the bucket and the requests it serves.

Amazon S3
aws_s3_bucket_server_side_encryption_configuration

Setting default encryption on a bucket is free. Encryption itself adds no charge, but choosing aws:kms means each object request also triggers a billable KMS call.

Amazon S3
aws_s3_bucket_versioning

Enabling S3 versioning is free, but it multiplies storage cost by keeping every old version of an object as billable data until something deletes it.

Amazon S3
aws_s3_object

An S3 object is billed for the bytes it stores at its storage class rate, plus the request to upload it, so cost scales with object size and how many objects you keep.

Amazon S3
aws_storagegateway_gateway

Hybrid storage bridging on-premises to AWS. File Gateway ($0.023/GB-month + data transfer), Volume Gateway (per-GB cached or stored mode), Tape Gateway (VTL for backup). Pricing varies significantly by gateway type.

AWS Storage Gateway
aws_transfer_server

Managed SFTP, FTPS, or FTP access to S3 and EFS. Priced per protocol-hour the endpoint is enabled, plus per-GB uploaded and downloaded.

AWS Transfer Family