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
第154回 雲勉 AWS Codeシリーズ盛り上げ隊 ~ Codeシリーズは砕けない ~
iret
0
23
第153回 雲勉 トラシューが秒で終わる新機能 Amazon Q Developer operational investigations
iret
0
45
第150回 雲勉 AWS AppSyncではじめるGraphQL体験
iret
0
41
第151回 雲勉 プロジェクトのドキュメントにおける課題をAmazon Bedrockで解決してみる
iret
0
57
第152回 雲勉 シームレスなマルチリージョンへの移行と検討 ~Amazon EKSとAWS Global Acceleratorを使用した環境〜
iret
0
48
第149回 雲勉 AWS ベストプラクティスの最新と実際 AWS Well-Architected
iret
0
82
第148回 雲勉 Web アプリケーションセキュリティ
iret
0
47
第147回 雲勉 Amazon CloudWatchをウォッチ!
iret
0
58
第146回 雲勉 BLEAを眺めてCDKの書き方について学ぶ
iret
1
70
Other Decks in Technology
See All in Technology
Developers Summit 2025 浅野卓也(13-B-7 LegalOn Technologies)
legalontechnologies
PRO
0
240
2.5Dモデルのすべて
yu4u
2
630
テストアーキテクチャ設計で実現する高品質で高スピードな開発の実践 / Test Architecture Design in Practice
ropqa
3
730
Kubernetes x k6 で負荷試験基盤を開発して 負荷試験を民主化した話 / Kubernetes x k6
sansan_randd
2
740
Fintech SREの挑戦 PCI DSS対応をスマートにこなすインフラ戦略/Fintech SRE’s Challenge: Smart Infrastructure Strategies for PCI DSS Compliance
maaaato
0
450
個人開発から公式機能へ: PlaywrightとRailsをつなげた3年の軌跡
yusukeiwaki
11
2.7k
開発者が自律的に AWS Security Hub findings に 対応する仕組みと AWS re:Invent 2024 登壇体験談 / Developers autonomously report AWS Security Hub findings Corresponding mechanism and AWS re:Invent 2024 presentation experience
kaminashi
0
190
The 5 Obstacles to High-Performing Teams
mdalmijn
0
270
Ask! NIKKEIの運用基盤と改善に向けた取り組み / NIKKEI TECH TALK #30
kaitomajima
1
460
ハッキングの世界に迫る~攻撃者の思考で考えるセキュリティ~
nomizone
13
4.6k
5分で紹介する生成AIエージェントとAmazon Bedrock Agents / 5-minutes introduction to generative AI agents and Amazon Bedrock Agents
hideakiaoyagi
0
220
AndroidデバイスにFTPサーバを建立する
e10dokup
0
240
Featured
See All Featured
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Practical Orchestrator
shlominoach
186
10k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
YesSQL, Process and Tooling at Scale
rocio
171
14k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
29
4.6k
Raft: Consensus for Rubyists
vanstee
137
6.8k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
27
1.9k
Bootstrapping a Software Product
garrettdimon
PRO
305
110k
Scaling GitHub
holman
459
140k
Music & Morning Musume
bryan
46
6.3k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
7k
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 ・ 基本的には公式ドキュメントで調べつつ理解して設定するのが⼀番 ・ ただし記述内容を理解するのに時間がかかる⾯がある ・ 以上の端的な⼿順で導⼊の敷居が低いことを感じてもらえれば幸いです