Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
ログ基盤をCloudWatchLogからNewRelic Logs + S3に変えたら 利便性も上がってコストも下がった話
ono-hiroshi1
June 16, 2022
Technology
0
170
ログ基盤をCloudWatchLogからNewRelic Logs + S3に変えたら 利便性も上がってコストも下がった話
ono-hiroshi1
June 16, 2022
Tweet
Share
More Decks by ono-hiroshi1
See All by ono-hiroshi1
モダンとレガシーが混在するDMMブックスで培った SRE Practices
onohiroshi1
0
1.5k
DMMブックスにNewRelicを導入した話
onohiroshi1
1
250
60億円の損害を出した 「DMMブックス」 70%OFFキャンペーンでプラットフォームに何が起きていたか
onohiroshi1
7
24k
Other Decks in Technology
See All in Technology
Scrum Fest Osaka 2022 段階的スクラムマスターのススメ
orimomo
0
690
チームとチームのチーム
eiel
1
910
Modern Android dependency injection
hugovisser
1
120
WACATE 2022 夏 ワークショップの目的
imtnd
0
120
Microsoft Build 2022 Recap Party!! Azure のデータ & 分析サービス 注目アップデート / microsoft-build-2022-recap-azure-data-and-analytics
nakazax
0
250
Data in Google I/O - IO Extended GDG Seoul
kennethanceyer
0
150
#JP_Stripes Sapporo Stripeの活用例を色々ご紹介します!
miu_crescent
0
110
Building smarter apps with machine learning, from magic to reality
picardparis
4
3.2k
GeoLocationAnchor and MKTileOverlay
toyship
0
110
The application of formal methods in Kafka reliability engineering
line_developers
PRO
0
120
Target SDK Versionを上げない Notification runtime permission対応
napplecomputer
0
120
サイボウズの アジャイル・クオリティ / Agile Quality at Cybozu
cybozuinsideout
PRO
4
2k
Featured
See All Featured
How GitHub (no longer) Works
holman
296
140k
Code Reviewing Like a Champion
maltzj
506
37k
YesSQL, Process and Tooling at Scale
rocio
157
12k
We Have a Design System, Now What?
morganepeng
35
2.9k
Design by the Numbers
sachag
271
17k
Agile that works and the tools we love
rasmusluckow
319
19k
Product Roadmaps are Hard
iamctodd
34
6.5k
Build The Right Thing And Hit Your Dates
maggiecrowley
19
1.2k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
29
4.3k
The Language of Interfaces
destraynor
148
20k
Why Our Code Smells
bkeepers
PRO
324
55k
Making Projects Easy
brettharned
98
4.3k
Transcript
© DMM.com ログ基盤をCloudWatchLogからNewRelic Logs + S3に変えたら 利便性も上がってコストも下がった話 合同会社 DMM.com SRE部
小野 博志
© DMM.com 自己紹介 2 小野 博志 / Ono Hiroshi 合同会社DMM.com
ITインフラ本部 SRE部 エンジニアリング マネージャー 2005年に新卒で中小独立系Sierに入社。Javaを使ったWeb系開発に従事。 2008年よりMSP(マネージド・サービス・プロバイダ)の業務に従事。アカウントSEから始まり、サービス企画や テクニカルディレクターを務める。エンタープライズの領域で大規模なコーポレートサイト、WebCMSを中心とし て担当していた。 2018年よりB2Cもやってみようかなって思って2020年にDMM.comに入社。DMMブックスやNewRelicの導 入推進を主に担当しています。 たまに山登りしてます
© DMM.com いつものスライド このスライドを覚えてもらうために毎回登壇しています
© DMM.com 話題のコミックや小説などを パソコンやスマホで 読めるプラットフォーム コミック、雑誌、小説、写真集等の電子書籍を配信しております。現在は 67万冊以上の作品を取り揃えており さまざまなジャンルの作品を提供しています。
© DMM.com 本日の内容はSRE NEXT 2022で話した内容と 同じなのでご覧になった方は休憩時間です
© DMM.com ECSログ基盤の変遷 CloudWatch Logs AWS化した直後 CloudWatch Logs Elasticsearch ちょっと
いい感じに CloudWatch Logs +Lambda NewRelic 各種メトリクスといい感じに 並べて ハッピーだけど・・ 現実的な理想系が 出来たけど・・ CloudWatch Logs +Lambda Kinesis Data Streams NewRelic S3 Good!
© DMM.com 最終系に辿り着いた背景 • DMMブックスは多くの機能をAWS上で構築しているが、全体コストに対して CloudWach Logsの費用が徐々に大きくなっていった。 • 調べてみるとDataProcessing-Bytesが大きなコストを占めており、更に読み解くと、 PutLogEvents
でありログを登録する場合にかかる費用であることも分かった。
© DMM.com コストが掛かっていた理由 CloudWatch Logs アプリケーション newrelic-log-ingestion CloudWatch LogsへのPutEventに多くのコストが掛かっていた ロググループ単位で集計するとアクセスログおよびアプリケーションログで多くのコストが掛かっていた。
更にログの保管ではなく登録に多くのコストが掛かっていた。 収集(データの取り込み) 0.76USD/GB 保存(アーカイブ) 0.033USD 料金
© DMM.com CloudWatch Logsを利用しない構成へ アプリケーション FireLens Kinesis Data Streams S3
© DMM.com 作り方はとっても簡単 { "Action": "firehose:PutRecordBatch", "Effect": "Allow", "Resource": "arn:aws:firehose:*:*:deliverystream/*",
"Sid": "" }, ECSに権限付与 ECS taskにログルータの追加 "logConfiguration": { "logDriver": "awsfirelens", "options": { "Name": "firehose", "region": "ap-northeast-1", "delivery_stream": "<kinesisの名前 >" } }, 〜〜〜 中略 ~~~~ { "name": "log-router", "image": "906394416424.dkr.ecr.ap-northeast-1.amazonaws.com/aws-for-fluent-bit:latest", "essential": true, "firelensConfiguration": { "type": "fluentbit" }, "logConfiguration": { "logDriver": "awslogs", "options": { "awslogs-group": "${SERVICE_NAME}-log-router", "awslogs-region": "ap-northeast-1", "awslogs-stream-prefix": "firelens" } } } Kinesisの作成 NewRelicのプリセットが存在 おまけ ログ送信量が多い場合はKinesisの Burffer hintsをチューニングが入ります Kinesis エンドポイント VPCEndpointの作成
© DMM.com 結果 当初Kinesis FirehoseのVPCエンドポイントを作成してなかったため、 NATGatewayのコストがかさんだ。 しかし、VPCエンドポイントを作成したところ約4割減のコスト削減に繋がった。 NewRelic CloudWatch Logs
+Lambda Kinesis Data Streams NewRelic S3