Lock in $30 Savings on PRO—Offer Ends Soon! ⏳

New Relic 1 年生の振り返りと Cloud Cost Intelligence につ...

Avatar for PLAY, inc. PLAY, inc.
December 18, 2025

New Relic 1 年生の振り返りと Cloud Cost Intelligence について #NRUG

2025/12/17 に開催された「New Relic User Group Vol.16 2025年総決算LT」で発表した内容です。
https://nrug.connpass.com/event/372944/

Avatar for PLAY, inc.

PLAY, inc.

December 18, 2025
Tweet

More Decks by PLAY, inc.

Other Decks in Technology

Transcript

  1. 登壇者紹介 株式会社 PLAY PLAY CLOUD 本部 技術推進室 マネージャー 兼 テックリード

    丸⼭ 健⼀ 2016 年、エンジニアとして新卒⼊社。 動画配信プラットフォーム の開発を担当 する中で、アカウント認証基盤や視聴動向データの分析基 盤、チャット機能やカード決済機能などの多くのシステム や機能の設計から実装までを⼿がける。 2022 年に技術ブログ「PLAY DEVELOPERS BLOG」を ⽴ち上げ。現在は会社の技術推進役として、複数の開発チ ームやグループ会社に対する技術⽀援を⾏う。 @maruyamaworks
  2. • 2024 年 6 ⽉ New Relic 導⼊までの流れ AWS Summit

    Japan 2024 で New Relic の⽅と接触 翌⽇、New Relic の無料アカウントを発⾏して触ってみる • 2024 年 10 ⽉ 期間限定トライアル開始(無制限で New Relic を使⽤可能) 本番環境に計装を⾏いデータ送信量を⾒積もり、社内稟議へ • 2024 年 11 ⽉ New Relic 正式利⽤開始! • 2025 年 4 ⽉ 技術推進室発⾜、組織としてオブザーバビリティをさらに加速
  3. • Browser Monitoring ◦ User ID 連携 ◦ Source map

    連携 ◦ デプロイ時刻の連携 ◦ Errors Inbox の Slack 通知 • APM • Distributed Tracing ◦ SQS, DynamoDB をまたいだトレーシング対応 やったこと(計装⾯)
  4. • New Relic の基本的な使い⽅について社内勉強会を実施 • サービスレビューの実施 ◦ 週次でチームごとに New Relic

    ダッシュボードを確認 ◦ 確認する内容 ▪ 「コスト」「エラーレート」「パフォーマンス」の観点 ▪ 前週と⽐べて想定外の変化がないかを確認 ▪ その他気になるエラー等あれば共有、深掘り ➡ エンジニアに o11y への関⼼を持ってもらう やったこと(組織⾯)
  5. newrelic.js でエージェント機能の取捨選択をしよう exports.config = { transaction_tracer: { record_sql: 'off', !//

    SQL の記録を OFF }, slow_sql: { enabled: false, !// スロークエリの収集を OFF }, span_events: { enabled: true, max_samples_stored: 50, !// 分散トレーシングの収集量を制限 }, application_logging: { enabled: false, !// アプリケーションログの収集を OFF }, };
  6. 最近 DynamoDB Streams を経由する場合 でも 分散トレーシングがつながるようになりました Lambda DynamoDB Lambda WriteItem

    Invoke Attributes insertDistributedTraceHeaders() acceptDistributedTraceHeaders() via DDB Streams DynamoDB テーブルのレコードに Trace Context を格納して受け渡す!
  7. Browser Agent の setErrorHandler() で除外しようとしているのですが どうもうまく機能しておらず... いい⽅法を知っている⽅がいたら教えてください 🙇 function handleError(err)

    { if (err.stack!?.includes("chrome-extension:!//")) { !// true を返せば New Relic にエラーは送信されないはず... return true; } return false; }); window.newrelic.setErrorHandler(handleError);
  8. FROM CloudCost SELECT SUM(line_item_unblended_cost) WHERE line_item_line_item_type IN ('Usage', 'DiscountedUsage') AND

    line_item_usage_account_id IN ('123456789012') !-- AccountID FACET line_item_product_code SINCE 7 days ago TIMESERIES 1 day NRQL でデータを引けるので Dashboard にも配置することが可能です!
  9. • プレビュー期間中なので、まずは機能の有効化が必要 • AWS 側で Cost & Usage Report を

    1 時間ごとに S3 に出⼒する設定を⾏う ◦ 命名規則とか結構厳しいので、docs をよく読んで設定しましょう! • S3 に対してアクセス可能な IAM ロールを発⾏する • IAM ロールを New Relic 側に渡して、S3 へのアクセス権限を NR に付与 Cloud Cost Intelligence の設定⽅法
  10. 今後の展望 計装率 100% PLAY CLOUD 全体に New Relic を導⼊する サービス全体の可視化

    完全なサービスマップを構築し 全体の品質を確認できるように 各チームが⾃⾛して改善する仕組みづくり 例えば、ある指標に対してどのチームが最も改善 できたか、お互いが競い合うような⽂化をつくるなど 導⼊だけで終わりではなく、組織に改善の⽂化を根付かせることが重要