AWSの基礎を学ぼう 特別編 最新サービスをみんなで触ってみる はじめての可観測性に参加しハンズオンをしました。
そして後日、自分の担当しているシステムに未適用だったLambda Insightsを適用してみました。
ハンズオン
手順と設定のリポジトリ
WORDとPDFで手順書が用意されますが、PDFのほうだとコマンドをコピペするとき改行部分でスペースが入ったりしてちょっと詰まったのでWORDのほうがおすすめです。
このハンズオンで学べるサービス
- CloudWatch ServiceLens
- X-Ray
- CloudWatch Contributor Insights
- CloudWatch Synthetics
- CloudWatch Container Insights
- CloudWatch Lambda Insights
- CloudWatch Anomaly Detection
注意点
- 料金がそこそこかかる構成なので、環境構築〜いろいろ触る〜環境削除まで1日でやりきったほうがいいと思います(計3時間ぐらいはみておいたほうがいい)
- リソースの削除手順は手順書の最後に用意されています。
- 一通り手順書にざっと目を通してからやったほうがいいかも
- 手順実行する上でVPCは2つ新規に作成されるので余裕が2つ以上必要
- Cloud9用のVPC
- 観測対象のサービスをホストするVPC
memo
-
CloudWatch ServiceLens と X-Ray は実体は同じもの。見せ方/メニューが違うだけ。
- 同じものでは?と思ってたのですっきりしました。
担当システムにLambda insights適用
普段から「X-Ray」は活用していたのですが、サーバレスアーキテクチャを多用するわりにまだ「Lambda Insights」を入れてなかったので、担当するサービスの1つに入れてみました。
Lambda Insights の使用を開始するに記載のいずれかの方法で有効にする必要があります。
やったこと
AWS SAMを使っているのでAWS SAM CLI を使用して既存の Lambda 関数で Lambda Insights を有効にするの手順を実施します。
書いてある通り、以下をするだけ
- ステップ 1: レイヤーをインストールする
- ステップ 2: マネージドポリシーを追加する
(non VPC Lambdaなので ステップ3は不要)
Lambda Insights用のレイヤーをAWSが用意してくれているので、めっちゃ楽でした。
確認
ちゃんと出た〜。
21時以降に記録されているメトリクスがおそらくLambda Insights入れないと出ないもの
Costや Memory Usage がログをLog insightsかけて頑張ったりしなくても可視化されてるので便利!!
最初うまくいかなかったところ
まずはじめに、開発環境にLambda Insightsを適用して、ワークロードにリクエストを2つほど処理させましたがLambda Insightsにデータが表示されずメトリクスも生成されていませんでした。
Lambdaコンソールを見るとEnhanced monitoring自体は正常にEnabledになっていたので
リクエストが常にあるていど流れているステージング環境に適用すると、ちゃんとLambda Insightsに表示されメトリクスも生成されました。
あまりに分析対象のデータがないと表示しようがないのかも。