Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Aurora PostgreSQLがCloudWatch Logsに 出力するログの課金を削減...
Search
のんピ
March 01, 2025
Technology
1.4k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Aurora PostgreSQLがCloudWatch Logsに 出力するログの課金を削減してみる #jawsdays2025
JAWS DAYS 2025の登壇資料です。
のんピ
March 01, 2025
More Decks by のんピ
See All by のんピ
AWS Network Firewallの設計/運用の勘所 #NW_JAWS
non97
3
3.1k
コスト最適重視でAurora PostgreSQLのログ分析基盤を作ってみた #jawsug_tokyo
non97
2
2k
VPC間の接続方法を整理してみた #自治体クラウド勉強会
non97
1
2.7k
Amazon FSx for NetApp ONTAPを利用するにあたっての要件整理と設計のポイント
non97
1
940
Amazon FSx for NetApp ONTAPのパフォーマンスチューニング要素をまとめてみた #cm_odyssey #devio2024
non97
0
1.5k
Amazon FSx for Net App ONTAPにおけるファイルシステム/SVM/ボリューム/qtreeの分割の考え方を整理してみる #storagejaws
non97
1
2.1k
オンプレミスネットワークとVPCとを接続する際に考慮すべきポイントを考えてみた #自治体クラウド勉強会
non97
1
7.4k
上手く活用すればコスト削減につながる、ONTAPの Temperature Sensitive Storage Efficiency (TSSE) の紹介
non97
0
1.1k
Amazon FSx for NetApp ONTAPへの移行方法を整理してみた
non97
0
2.4k
Other Decks in Technology
See All in Technology
ZOZOTOWNの進化と信頼性を両立する負荷試験
zozotech
PRO
2
160
Control Planeで育てるBtoB SaaSの認証基盤 - SRE NEXT 2026
pokohide
1
2.3k
Road to SRE NEXTの今までとこれから
hiroyaonoe
0
310
Zoom2Youtube.Claude
kawaguti
PRO
3
490
ソニー銀行におけるビジネスアジリティ向上のためのクラウドシフト戦略
srenext
0
140
Baseline対応のDOMの型定義を作った
uhyo
3
740
世界、断片、モデル。そして理解
ardbeg1958
1
110
Terraform共通モジュールをチーム横断で“変えられる”運用へ ― リリースと適用の分離
kekke_n
1
2.8k
しくみを学んで使いこなそう GitHub Copilot app
torumakabe
2
230
CIで使うClaude
iwatatomoya
0
240
証券システムを10年Scalaで作り続けるということ - 関数型まつり2026
krrrr38
3
840
インフラと開発の垣根を超えていき!〜元AWSインフラエンジニアがAWS開発で奮闘している話〜
hatahata021
1
160
Featured
See All Featured
The Curious Case for Waylosing
cassininazir
1
430
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
330
Chasing Engaging Ingredients in Design
codingconduct
0
230
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.9k
Designing for Performance
lara
611
70k
What's in a price? How to price your products and services
michaelherold
247
13k
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
500
Prompt Engineering for Job Search
mfonobong
0
370
Marketing to machines
jonoalderson
1
5.6k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.8k
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
2
1.5k
Statistics for Hackers
jakevdp
799
230k
Transcript
Aurora PostgreSQLがCloudWatch Logsに 出力するログの課金を削減してみる ハッシュタグ:#jawsdays2025 #jawsug #jawsdays2025_c のんピ Track C-6
DevelopersIO流!アマゾンの奥地で技術の限界に挑戦:LT7人衆、熱き戦い
• 所属 ◦ クラウド事業本部コンサルティング部 • 名前(ニックネーム) ◦ ⼭本涼太 (のんピ) •
出⾝ ◦ 島根県 • 好きなAWSサービス ◦ Amazon FSx for NetApp ONTAP ◦ AWS Transit Gateway ◦ AWS CDK • 最近の趣味 ◦ パケットキャプチャ 自己紹介 ハッシュタグ:#jawsdays2025 #jawsug #jawsdays2025_c @non-97 @non____97 @non____97
こんなことありませんか? ハッシュタグ:#jawsdays2025 #jawsug #jawsdays2025_c
CloudWatch Logsに流しているDBの ログに対する課金が高すぎる!!!! ハッシュタグ:#jawsdays2025 #jawsug #jawsdays2025_c
この悩みを聞いてよく挙げられる構成 Logsに出力したログをData Firehoseを介してS3バケットにPUTする形
ここでCloudWatch Logsの料金体系を見てみよう • データ取り込み料金が比較的高い • 保存料金はログが自動圧縮されることも後押しして比較的安い 項目 コスト 1 USD
= 150円換算 データ取り込みサイズ (Standard) 0.76 USD/GB 114円/GB データ取り込みサイズ (IA) 0.38 USD/GB 57円/GB 保存 (圧縮後のデータサイズ) 0.033 USD/GB 4.95円/GB (圧縮率15%の場合は0.74円) Logs Insights (スキャン量) 0.0076 USD/GB 1.14円/GB ※ 2025/2/29時点の東京リージョンの料金
CloudWatch LogsとS3のストレージ料金を見てみよう Logsのデータ取り込みサイズほどの差はない 項目 コスト 1 USD = 150円換算 Logs
保存 (圧縮後のデータサイズ) 0.033 USD/GB 4.95円/GB (圧縮率15%の場合は0.74円) S3 Standard 保存 0.023 USD/GB 3.45円/GB S3 Standard IA 保存 0.0125 USD/GB 1.86円/GB S3 Glacier Instant Retrieval 保存 0.004 USD/GB 0.6円/GB S3 Glacier Deep Archive 保存 0.00099 USD/GB 0.15円/GB ※ 2025/2/28時点の東京リージョンの料金 ※ ストレージサイズに応じて料金が階層的に変動する場合最 初の階層の料金を記載
先ほどのアーキテクチャだと 5KB単位のデータ取り込み : 0.036 USD/GB (5.4円/GB) ログの保存料金が若干安くなるが、Data Firehoseの料金がプラスでかかる = 4円安くするために5円払うイメージ
Logsのデータ取り込みサイズにかかる課金の逆転は難しい
つまりはコスト削減のためには CloudWatch Logsの取り込み料金に対するフォローが必要
私の経験 監査ログ取得の関係でログを月10TBペースで出力 + Logs Insightを実行すると数TBに対してスキャンが実行され、一回の実行で 数千円から1万円程度の課金が発生することも (当時はLogsのフィールドインデックス機能GA前)
アプローチの整理 ハッシュタグ:#jawsdays2025 #jawsug #jawsdays2025_c
考えられる方法 1. CloudWatch Logs Infrequent Access (Logs IA)に流す 2. DBインスタンスのログファイルをS3に流す仕組みの自作
Pros/Cons パターン Pros Cons Logs IAに流す • 手間がかからない • ログ欠損のリスクが少ない
• メトリクスフィルターやサブスクリプション フィルターを使用できない • ログの取り込み料金は Logs Standard と比較して半額程度しか削減できない S3に流す仕組みの自作 • ログ取り込みコストの大幅削減が可能 • Athenaのパーティション分割による ログ分析時のコストの減少 • 処理の中でログの種別ごとに出力先を 変更することも可能 • PostgreSQLの場合有効 • ログ欠損の可能性がある • ログをリアルタイムで確認できない • 特定の文字列が含まれるログが出力さ れた場合の通知実装のハードルが高い • 仕組みのメンテナンスが必要
ロマンを追い求めるなら DBインスタンスのログファイルを S3に流す仕組みの自作
DBインスタンスのログファイルをS3に流す 仕組み ハッシュタグ:#jawsdays2025 #jawsug #jawsdays2025_c
前提 • 紹介するアーキテクチャの導入を積極的にお勧めするものではない • Consに挙げた内容はよく理解した上で導入すること ◦ 特にAurora MySQLはローカルストレージ使用率が15%以上 or 24時間経過後にログを削除し始めるため、ログ欠損のリスクが高い
• ログを見た上でアクションする運用が全くイメージ着いていないなら 「ログを取得しない」選択肢もある ◦ 「ログの見方が分からない」は勉強すれば良いだけ ◦ 「このログを取る意味が全く分からない」は特に再考の余地あり コストとログ運用のバランスを考えて導入しよう
アーキテクチャ
ポイント1 : LastWrittenによる絞り込みと重複ログファイルの抽出 S3バケット上に存在しないものをのみをPUTして、Lambdaのコストを削減
ポイント2 : S3オブジェクトの圧縮 S3は自動で圧縮を行わないため Lambda関数内でgzip level 6で圧縮 圧縮率は1.5%ほどになることも
コスト試算 SFnやLogsの料金合わせても理論上は30 USD/month ほどで運用可能 117万円/月が4,500円/月になるなら検討の価値を感じる 項目 値 アーキテクチャ Arm リクエスト数
6 / hour 10分に一回起動 各リクエストの実行時間 10,000 msec 平均10秒想定 メモリサイズ 128 MB デフォルト エフェメラルストレージサイズ 512 MB デフォルト ログファイルのフィルタリング用 Lambdaのコスト = 0.07 USD / month 項目 値 アーキテクチャ Arm リクエスト数 60 / hour 1分に1ログファイル出力される想定 各リクエストの実行時間 40,000 msec 平均40秒想定 メモリサイズ 1,024 MB 圧縮処理の高速化のために増強 エフェメラルストレージサイズ 2,048 MB 最大の1GiBのログファイルに対応 RDSログのS3バケットへの PUT用Lambdaのコスト = 23.47 USD / month
細かいところは以下ブログを見て!!!
最後にお願い ハッシュタグ:#jawsdays2025 #jawsug #jawsdays2025_c
• RDSやAuroraのログをS3やData Firehoseに流せるように して欲しい ◦ CloudFrontの標準ログV2ができたならできるはず!! ◦ 標準ログV2と同じくVended Logsを使うような場合はLogs IAと同じ
ログ取り込み料金 • CloudWatch Logs IAでメトリクスフィルターと サブスクリプションフィルターを使えるようにして欲しい ◦ Logs Standardの立ち位置を考えると難しいような気もする... みんなでフィードバックしよう! ハッシュタグ:#jawsdays2025 #jawsug #jawsdays2025_c
フィードバックしてユーザーの声を届けよう ハッシュタグ:#jawsdays2025 #jawsug #jawsdays2025_c