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
第121回 雲勉【オンライン】New RelicでAWS Lambdaをモニタリングする
Search
iret.kumoben
December 07, 2023
Technology
0
180
第121回 雲勉【オンライン】New RelicでAWS Lambdaをモニタリングする
下記、勉強会での資料です。
https://youtu.be/aDPtGshRkYY
iret.kumoben
December 07, 2023
Tweet
Share
More Decks by iret.kumoben
See All by iret.kumoben
第155回 雲勉 サーバレスアーキテクチャを 用いたコスト重視 AI サービス
iret
0
37
第154回 雲勉 AWS Codeシリーズ盛り上げ隊 ~ Codeシリーズは砕けない ~
iret
0
38
第153回 雲勉 トラシューが秒で終わる新機能 Amazon Q Developer operational investigations
iret
0
52
第150回 雲勉 AWS AppSyncではじめるGraphQL体験
iret
0
46
第151回 雲勉 プロジェクトのドキュメントにおける課題をAmazon Bedrockで解決してみる
iret
0
61
第152回 雲勉 シームレスなマルチリージョンへの移行と検討 ~Amazon EKSとAWS Global Acceleratorを使用した環境〜
iret
0
57
第149回 雲勉 AWS ベストプラクティスの最新と実際 AWS Well-Architected
iret
0
89
第148回 雲勉 Web アプリケーションセキュリティ
iret
0
52
第147回 雲勉 Amazon CloudWatchをウォッチ!
iret
0
66
Other Decks in Technology
See All in Technology
【内製開発Summit 2025】イオンスマートテクノロジーの内製化組織の作り方/In-house-development-summit-AST
aeonpeople
2
670
開発組織を進化させる!AWSで実践するチームトポロジー
iwamot
2
380
php-conference-nagoya-2025
fuwasegu
0
150
入門 PEAK Threat Hunting @SECCON
odorusatoshi
0
160
短縮URLをお手軽に導入しよう
nakasho
0
150
Aurora PostgreSQLがCloudWatch Logsに 出力するログの課金を削減してみる #jawsdays2025
non97
1
200
偏光画像処理ライブラリを作った話
elerac
1
170
Perlの生きのこり - エンジニアがこの先生きのこるためのカンファレンス2025
kfly8
2
270
"TEAM"を導入したら最高のエンジニア"Team"を実現できた / Deploying "TEAM" and Building the Best Engineering "Team"
yuj1osm
1
170
あなたが人生で成功するための5つの普遍的法則 #jawsug #jawsdays2025 / 20250301 HEROZ
yoshidashingo
2
290
実は強い 非ViTな画像認識モデル
tattaka
3
1.3k
Autonomous Database Serverless 技術詳細 / adb-s_technical_detail_jp
oracle4engineer
PRO
17
45k
Featured
See All Featured
Designing for humans not robots
tammielis
250
25k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
29
1k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
40
2k
Reflections from 52 weeks, 52 projects
jeffersonlam
348
20k
Producing Creativity
orderedlist
PRO
344
40k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
49k
Java REST API Framework Comparison - PWX 2021
mraible
29
8.4k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5.2k
RailsConf 2023
tenderlove
29
1k
It's Worth the Effort
3n
184
28k
The Pragmatic Product Professional
lauravandoore
32
6.4k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Transcript
第121回 雲勉【オンライン】 New RelicでAWS Lambdaを モニタリングする
0.講師⾃⼰紹介 2 n 朝枝 知之 • クラウドインテグレーション事業部 MSP開発セクション所属 ・社内向けの⾃動化サービスの開発・運⽤を担当 •
2019年8⽉⼊社 … MSP開発⼀筋 • 前職︓企業や学校向けのホームページ制作(クラウドほぼ未経験) • 健康のため10⽉から朝5時に起きて散歩するようになりました
アジェンダ 3 0. ⾃⼰紹介 1. New Relicのサーバーレスモニタリング 2. Lambdaモニタリング機能(CMS⽅式)の導⼊ 3.まとめ
本⽇のゴール 4 n New RelicのLambdaモニタリング機能を理解する n LambdaモニタリングをCMS⽅式(後述)で簡単に導⼊できるようになる
1. New Relicのサーバーレスモニタリング 5
1.New Relicのサーバーレスモニタリング 6 n New Relicとは • アプリケーションパフォーマンス管理 (APM) •
サーバーの監視 • サーバーレス機能の監視 などを提供するSaaS
1.New Relicのサーバーレスモニタリング 7 n 背景 「AWS上のログをNew Relicに集約するための仕組み」を元々導⼊していたが、その仕組みを バージョンアップする機会がありました。 バージョンアップの影響を調べるため公式ドキュメント(※1)を読んだもののわからない部分 もあったため、これから導⼊する⼈がつまづかないよう整理してお伝えできればと思います。
※1 https://docs.newrelic.com/jp/docs/serverless-function-monitoring/overview/
1.New Relicのサーバーレスモニタリング 8 n New Relicによるサーバーレスモニタリング • クラウドサービス上で実⾏されるサーバーレスアプリケーションのパフォーマンスと健 全性を監視する •
対応するサービス ・ AWS Lambda ・ Google Cloud Functions ・ Azure Functions → 今回はAWS Lambdaのモニタリングについての話し
1.New Relicのサーバーレスモニタリング 9 n 取得できるデータ AWS Lambda関数の、 • 各種メトリクス (Metrics)
• トレース情報 (Traces) • ログ (Logs) n データ取得の⽅法 • メトリクス … Amazon CloudWatch + Amazon Kinesis Data Firehose • トレース情報 … 監視対象のLambda関数に追加する「Lambdaレイヤー」 • ログ …監視対象のLambda関数に追加する「 Lambda拡張機能」
1.New Relicのサーバーレスモニタリング 10 n Lambdaモニタリングの新旧⽅式 ・ 旧⽅式︓APIポーリング⽅式 ・ New Relicドキュメントでは「AWSポーリングインテグレーション」
「Lambdaモニタリングインテグレーション」等と記載 ・ 新⽅式︓CloudWatch Metric Streams(CMS)⽅式 ・ New Relicドキュメントでは「Lambdaモニタリング機能」等と記載 現在はCMS⽅式を利⽤することを推奨 APIポーリング⽅式も選択できるがいずれ使えなくなるかも
1.New Relicのサーバーレスモニタリング 11 n APIポーリング⽅式をお勧めしない理由 ・ New Relicが⾮推奨としている ・ CMS⽅式に⽐べ料⾦が⾼くなる可能性がある
・ 情報の更新が遅い(5分に1回程度) 詳しくはドキュメント参照 [Doc] Amazon CloudWatch Metric Streamsの統合の紹介 https://docs.newrelic.com/jp/docs/infrastructure/amazon-integrations/connect/aws-metric-stream/
2.Lambdaモニタリング機能(CMS⽅式)の導⼊ 12
2.Lambdaモニタリング機能(CMS⽅式)の導⼊ 13 n 事前準備 ・ New Relicアカウント ・アカウントIDをメモしておく ・ AWSアカウント
・ ユーザーの権限 ・ New Relic︓Adminグループ ・ AWS︓AdministratorAccessポリシー(最⼩限の権限は※1参照) ・ New RelicのAPIキー ・ LICENSEキー ・ USERキー ※1 https://docs.newrelic.com/jp/docs/serverless-function-monitoring/aws-lambda-monitoring/enable-lambda-monitoring/account-linking/
2.Lambdaモニタリング機能(CMS⽅式)の導⼊ 14 n 導⼊⼿順 以下の順番で実施 ① メトリクスの取得の設定 ② トレース&ログの取得の設定 ▪
理由 ・ ドキュメントではそのような書き⽅はされていないが、 New RelicのServerless Functions画⾯がメトリクス、トレース、ログに 分かれている ・ 取得するデータの種類に対応した⼿順のほうがわかりやすい Serverless Functions画⾯のメニュー(の⼀部)
2.Lambdaモニタリング機能(CMS⽅式)の導⼊ 15 n ①メトリクス取得 設定⼿順 1 ・ New RelicとAWSアカウントのリンク ・
ドキュメントにも説明はあるがNew Relicコンソールの設定画⾯を⾒たほうがわかりやすい Infrastracture > AWS > [Add an AWS account] をクリックし、案内に従って設定していく
2.Lambdaモニタリング機能(CMS⽅式)の導⼊ 16 n ①メトリクス取得 確認 ・ Infrastructure > AWS ⻩⾊の枠
・CMS⽅式の場合は”Stream”のラベルが付く ・1〜3分ほどで取得しはじめる オレンジの枠 ・”Account status dashboard” ボタン ・New RelicからのAPIコールやエラーを確認
2.Lambdaモニタリング機能(CMS⽅式)の導⼊ 17 n ①メトリクス取得 確認 ・ Infrastructure > AWS >
Account status dashboard ・リンクしたAWSアカウントのメトリクスを取得しはじめて いるのが確認できる ・この時点ではFirehoseやMetricStreamsといった CMS⽅式の設定で作成されたリソースのみ取得している (⻩⾊枠内) ・時間がたつと他のAWSサービスのメトリクスも 取れるようになる
2.Lambdaモニタリング機能(CMS⽅式)の導⼊ 18 n ①メトリクス取得 設定⼿順 2 ・ newrelic-lambda CLIを使って統合の設定をインストール ・
AWS CloudShellで以下のコマンドを実⾏ pip3 install newrelic-lambda-cli newrelic-lambda integrations install --nr-account-id {New Relic Account ID} --nr-api-key {New Relic License Key}
2.Lambdaモニタリング機能(CMS⽅式)の導⼊ 19 n ①メトリクス取得 確認 (AWS Lambdaのメトリクス) ・ Infrastructure >
AWS > Account status dashboard ・Lambda統合をインストール後、Lambdaのメトリクスも 取得している
2.Lambdaモニタリング機能(CMS⽅式)の導⼊ 20 n ②トレース&ログデータ取得 設定⼿順 1. newrelic-lambda CLIを使って⼀度に設定できる ・ AWS
CloudShellで以下のコマンドを実⾏ newrelic-lambda layers install --function {Function Name} --nr-account-id {New Relic Account ID} --enable- extension-function-logs true ・ 対象のLambda関数に対してNew Relic⽤のLambdaレイヤーを追加している → トレースデータの取得 ・ 最後の ”--enable-extension-function-logs true” でLambda拡張機能を追加 → ログデータの取得
2.Lambdaモニタリング機能(CMS⽅式)の導⼊ 21 n ポイント ・ モニタリングしたいリージョンごとに⼿順1と2を実⾏する ・ Amazon Kinesis Data
Firehose がリージョンサービスのため ・ CloudFrontなどグローバルサービスをモニタリングしたい場合は us-east-1(⽶国東部) で⼿順1を実⾏する
2.Lambdaモニタリング機能(CMS⽅式)の導⼊ 22 n 取得したデータの確認 ・ New Relicコンソール > Serverless Functions
> ⽬的の関数
2.Lambdaモニタリング機能(CMS⽅式)の導⼊ 23 n メトリクスデータの確認 ・ “CloudWatch metrics” を開く
2.Lambdaモニタリング機能(CMS⽅式)の導⼊ 24 n トレースデータの確認 ・ “Distributed tracing” を開く
2.Lambdaモニタリング機能(CMS⽅式)の導⼊ 25 n ログデータの確認 ・ “Logs” を開く
3.まとめ 26
3.まとめ 27 ・ 基本的には公式ドキュメントで調べつつ理解して設定するのが⼀番 ・ ただし記述内容を理解するのに時間がかかる⾯がある ・ 以上の端的な⼿順で導⼊の敷居が低いことを感じてもらえれば幸いです