この記事の想定読者
- OBSERVABILITY(可観測性)の触りを知りたい方
- AWSの環境を使って実際に体験してみたい方
AWS OBSERVABILITY WORKSHOPとは
One Observability デモ ワークショップ として公開されているものです。
なぜ、実施したのか
実施するイベントに乗っかる
Security-JAWS内で
とあるエヴァンジェリストとSecurity-JAWS#01 ~観測の時間だぜ!AWS野郎(ユーザー)がっっ!!!~というイベントが行われました。
マイクロサービスのモニタリングがよく分かっていない
自分がこれまで関わってきたシステムの多くがモノリシック・アーキテクチャ、
つまりは単一がドーンと乗っているオンプレミスベースで設計されたシステムが多く、
マイクロサービスアーキテクチャとは遠いところにいました。
(本題の前に)observability - 可観測性
MELT Metrics, Events, Logs, Traces ってなんだ?
実際に受けてみて、やってみての感想
運営の観点
One Observability デモ ワークショップは日本語されているとはいえ、
どうしても手順がある程度ベースの理解ができていることを前提の手順となっているため、
詰まっているときにリアルタイムで質疑応答ができて、
スムーズに最後まで完走できたので、非常に良かったです。
運営の皆さん、ありがとうございます。
技術的な観点
正直、サービス構成の一つのデザインパターンとして参考になりました。
基本的には AWS CloudFormationを利用してリソースはテンプレート通りに作成されます。
その自動生成されるリソースが、個人的に驚かされました。
Cfnのテンプレートタブからデザイナーで、
表示から実際に作成されるリソースが見えてくるのですが、
それが以下のとおりです。
- 全体像
- 少し拡大してみると
...はい、なんだコレというぐらいにリソースが作成されます。
注意事項
15. AMAZON MANAGED SERVICE FOR PROMETHEUS (AMP)
~ 17. AWS DISTRO FOR OPENTELEMETRY
、負荷テストとトラブルシューティング
でDynamoDBに負荷をかけてみるところまでは行っていません。
実際にやってみた
自分の勉強記録として残す形となりますので、全てのサービスを記載はしません。
個人的に、普段触らずに「おぉ!」と思ったサービスをピックアップします。
出来上がるサイト
- ペットサイト
http://servi-petsi-19j836bz4elez-709385182.ap-northeast-1.elb.amazonaws.com/
※ 諸々確認が終わったあとは、リソース削除処理を行っています
X-Ray
- エラーとなっている箇所の特定
- ECSからS3へのアクセスでFaultしている様子
- Node間の通信
- Node間の通信速度(応答)
CloudWatch Synthetics
Canary
- 設定したスケジュールに従って実行する(エンドポイントとAPIのモニタリング)
- 定期的に対象のエンドポイントにスクリプトを実行
ScreenShot
- 定期的に対象のエンドポイントにアクセスしてスクリーンショットを自動取得
異常検出
モデルの学習期間を排除
- 約2週間程度ログから学習していくのですが、学習対象外としたい期間を設定することも可能です
異常検知時の通知
これにより今まではユーザサイドから「なんか、遅いんだけど...」など問い合わせを受ける前に、
事前にシステム運用側で検知できるのはとても有力かなと思います。
リソース作成までに40分〜1時間、削除も1時間以上掛かることもありますが、
AWSにおけるモニタリングから実施経験がない方も実施をオススメします。
また、放置するとALBからEKSのPodまで数十円の金額が発生するかもしれませんので、
AWS公式のメールマガジンにbuilders.flash メールメンバー登録があるので、
そちらから登録していただくのも ~大きな声で推奨できませんが~ 選択いただけるとよいかもしれません。
毎月25USDクーポンを受領することが可能なので、精神的に落ち着くかと思います。