<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/migrate-rds-and-aurora-logs-to-cloudwatch-infrequent-access-ahpw11ypk" -->

---
title: Migrate RDS and Aurora logs to CloudWatch Infrequent Access
description: Organizations running Amazon RDS and Aurora often pay full CloudWatch Logs ingestion rates for database logs they rarely access. CloudWatch Logs Infrequent...
canonical: https://daily.dev/posts/migrate-rds-and-aurora-logs-to-cloudwatch-infrequent-access-ahpw11ypk
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: Migrate RDS and Aurora logs to CloudWatch Infrequent Access | daily.dev
og:description: Organizations running Amazon RDS and Aurora often pay full CloudWatch Logs ingestion rates for database logs they rarely access. CloudWatch Logs Infrequent...
og:url: https://daily.dev/posts/migrate-rds-and-aurora-logs-to-cloudwatch-infrequent-access-ahpw11ypk
og:image: https://api.daily.dev/og/posts/aHPw11ypk.png
og:image:alt: Migrate RDS and Aurora logs to CloudWatch Infrequent Access
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Migrate RDS and Aurora logs to CloudWatch Infrequent Access

**[AWS Database Blog](https://daily.dev/sources/aws-database-blog)** · 12 min read · 0 upvotes · 0 comments

## Summary

Organizations running Amazon RDS and Aurora often pay full CloudWatch Logs ingestion rates for database logs they rarely access. CloudWatch Logs Infrequent Access offers ~50% lower ingestion costs for these workloads. This post walks through building an automated, tag-driven solution using AWS Lambda, EventBridge, and SES that migrates RDS/Aurora CloudWatch log groups from Standard to Infrequent Access class. Key trade-offs include a temporary log gap during migration, loss of existing log data, and no support for subscription or metric filters in Infrequent Access. A CloudFormation template is provided for one-step deployment. For a fleet generating 5 TB/month, the switch saves roughly $1,250/month ($15,000/year).

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://aws.amazon.com/blogs/database/migrate-rds-and-aurora-logs-to-cloudwatch-infrequent-access>

## Questions this post answers

### What are the limitations of CloudWatch Logs Infrequent Access compared to Standard for RDS log groups?

CloudWatch Logs Infrequent Access does not support subscription filters or metric filters, so monitoring and alerting pipelines that rely on these features must remain on Standard. Data protection (masking and auditing) is included at no extra cost in Standard but incurs an additional per-GB charge in Infrequent Access. Existing log data is also permanently deleted when log groups are recreated during migration.

_Teams weighing this trade-off for their RDS fleets track CloudWatch class decisions on daily.dev._

### How much cheaper is CloudWatch Logs Infrequent Access vs Standard ingestion pricing?

CloudWatch Logs Infrequent Access costs approximately 50% less for ingestion than Standard. Using US East (N. Virginia) illustrative pricing from June 2026: Standard ingestion is $0.50/GB while Infrequent Access is $0.25/GB. Storage and Logs Insights query charges are identical between the two classes, so all savings come from the lower ingestion rate.

_Engineers optimizing AWS logging spend find cost comparisons like this on daily.dev._

### How do I migrate existing RDS CloudWatch log groups to Infrequent Access without losing logs?

Export existing log groups to S3 before migrating, since the migration deletes and recreates log groups. The automated approach uses a Lambda function to disable RDS log exports, delete the Standard log groups, recreate them as Infrequent Access, then schedule a second Lambda via EventBridge to re-enable log exports after a configurable delay. Log data can take up to 12 hours to become available for S3 export.

_Developers shipping this migration in production share their approaches on daily.dev._

## Similar posts on daily.dev

- [Amazon CloudWatch Logs announces intelligent tiering for storage](https://daily.dev/posts/amazon-cloudwatch-logs-announces-intelligent-tiering-for-storage-kqui1pfbs) · AWS · 0 upvotes · 0 comments
- [Simple Cross-Account Logging on AWS](https://daily.dev/posts/simple-cross-account-logging-on-aws-zdyhggbed) · AWS Fundamentals · 0 upvotes · 0 comments
- [AWS CloudWatch Dashboard Cost Efficiency: Logs vs. Custom Metrics](https://daily.dev/posts/aws-cloudwatch-dashboard-cost-efficiency-logs-vs-custom-metrics-nc0lgmaa1) · cloudonaut · 0 upvotes · 0 comments
- [How to stream PostgreSQL changes to Amazon S3 with AWS Fargate](https://daily.dev/posts/how-to-stream-postgresql-changes-to-amazon-s3-with-aws-fargate-r9tcxtwht) · AWS Database Blog · 0 upvotes · 0 comments
- [AWS CloudWatch Evolves into Unified Observability Platform with Apache Iceberg Support](https://daily.dev/posts/aws-cloudwatch-evolves-into-unified-observability-platform-with-apache-iceberg-support-z4emjmdxn) · InfoQ · 0 upvotes · 0 comments

---

Tags: [#aws](https://daily.dev/tags/aws), [#aws-lambda](https://daily.dev/tags/aws-lambda), [#finops](https://daily.dev/tags/finops)

[View this post on daily.dev](https://daily.dev/posts/migrate-rds-and-aurora-logs-to-cloudwatch-infrequent-access-ahpw11ypk)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"Migrate RDS and Aurora logs to CloudWatch Infrequent Access","url":"https://daily.dev/posts/migrate-rds-and-aurora-logs-to-cloudwatch-infrequent-access-ahpw11ypk","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/migrate-rds-and-aurora-logs-to-cloudwatch-infrequent-access-ahpw11ypk"},"datePublished":"2026-08-11T16:22:45.359Z","dateModified":"2026-08-11T16:23:16.691Z","description":"Organizations running Amazon RDS and Aurora often pay full CloudWatch Logs ingestion rates for database logs they rarely access. CloudWatch Logs Infrequent...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/2124647ba1ee28bb111d7abe6beba994?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/2124647ba1ee28bb111d7abe6beba994?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"AWS Database Blog","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"AWS Database Blog","logo":"https://media.daily.dev/image/upload/s--En-avd2a--/f_auto,q_auto/v1780213446/logos/aws-database-blog?_a=BAMAMiWQ0","url":"https://daily.dev/sources/aws-database-blog"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/migrate-rds-and-aurora-logs-to-cloudwatch-infrequent-access-ahpw11ypk","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"aws,aws-lambda,finops","timeRequired":"PT12M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"AWS Database Blog","item":"https://daily.dev/sources/aws-database-blog"},{"@type":"ListItem","position":3,"name":"Migrate RDS and Aurora logs to CloudWatch Infrequent Access"}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/migrate-rds-and-aurora-logs-to-cloudwatch-infrequent-access-ahpw11ypk#faq","mainEntity":[{"@type":"Question","name":"What are the limitations of CloudWatch Logs Infrequent Access compared to Standard for RDS log groups?","acceptedAnswer":{"@type":"Answer","text":"CloudWatch Logs Infrequent Access does not support subscription filters or metric filters, so monitoring and alerting pipelines that rely on these features must remain on Standard. Data protection (masking and auditing) is included at no extra cost in Standard but incurs an additional per-GB charge in Infrequent Access. Existing log data is also permanently deleted when log groups are recreated during migration. Teams weighing this trade-off for their RDS fleets track CloudWatch class decisions on daily.dev."}},{"@type":"Question","name":"How much cheaper is CloudWatch Logs Infrequent Access vs Standard ingestion pricing?","acceptedAnswer":{"@type":"Answer","text":"CloudWatch Logs Infrequent Access costs approximately 50% less for ingestion than Standard. Using US East (N. Virginia) illustrative pricing from June 2026: Standard ingestion is $0.50/GB while Infrequent Access is $0.25/GB. Storage and Logs Insights query charges are identical between the two classes, so all savings come from the lower ingestion rate. Engineers optimizing AWS logging spend find cost comparisons like this on daily.dev."}},{"@type":"Question","name":"How do I migrate existing RDS CloudWatch log groups to Infrequent Access without losing logs?","acceptedAnswer":{"@type":"Answer","text":"Export existing log groups to S3 before migrating, since the migration deletes and recreates log groups. The automated approach uses a Lambda function to disable RDS log exports, delete the Standard log groups, recreate them as Infrequent Access, then schedule a second Lambda via EventBridge to re-enable log exports after a configurable delay. Log data can take up to 12 hours to become available for S3 export. Developers shipping this migration in production share their approaches on daily.dev."}}]}
```

