miyado.dev

ログ監視

AWS上に立っているバックエンドサーバーをまともに監視する方法がなかった。
その手始めと lambda を使ってみたかったので、 S3 に置いてある ALB のログ(.gz)を展開して Slack に流す lambda を書いてみた。
中身の JS は大したことはないけれど、AWS 全体で権限つけたり連携したりするのに手間取った。
動くようにはなって、わりと便利になった。
脆弱性のあるサーバーを虱潰しに探しているのであろうアクセスの形跡も可視化された。

今は手運用で作成した lambda を terraform に落とし込もうとしている。
lambda でやりたいことの本命としては、ブログ投稿→バックエンド API → AWS SNS → lambda → Vercel Deploy Hook でビルドの一連のフロー構築にある。
というか、もともとこれをやろうと思って lambda を触り始めたというのがきっかけだ。
ただ、間に SNS が挟まって大変そうなので、先にもっと簡易かつそういえばやりたかったこととしてログ監視を実装した。
全体をしっかり管理できるようにしておきたい。

年末

営業日も残すところあと1週間。
去年末は昇進したものの、というかそれも含めて混乱の渦中ですごいバタバタしていた。
それを思うと、今の平和さにはこの一年の苦労と積み重ねの成果をしみじみと感じる。
忘年シーズンでもあるので、いろいろ忘れつつまた気持ちを改めていきたい。

寒くなってきたので、衣替えをした。
毎年の恒例が冬の三種の神器だ。
マフラー手袋耳当てを独自定義でそう呼んでいる。
最近は耳当てよりさらに暖かいニット帽と、マフラーより使い勝手のいいネックウォーマーに切り替わってきた。
これらを使うようになると冬を実感する。

セッション管理

実はこのブログにはログイン機能がついている。
今は投稿者(すなわち私)しか使わないので普段は隠してある。
コメント投稿機能を実装したらオープンにしようかなと思っている。
というのも、コメント投稿をユーザーのみに絞ろうかなと考えているためだ。
そこでユーザーのセッション管理が必要なのだけど、今はサーバーでオンメモリに実装している。
Redisの実装もしたのだけど、AWSでRedisコンテナにせよElastic Cacheみたいなのを使うにせよ、お金がかかる割に自分でログインしたら一緒ということに気づいてしまったからだ。
とはいえ、自分以外もログインするようになった上に、CSRFトークンも管理する必要がある将来においては再考の余地があるかもしれない。

CSRF token

ブログにコメント投稿欄をつけたいのだけど、 CSRF トークンの実装が立ちはだかっている。
このサイトで CSRF されて何があるのというと何もないかもしれないが、日々怯えて暮らすよりは気分がいい。
ところが、このブログのバックエンド実装に使っている ktor にはいい感じの CSRF 対策機能がない。
今どきのフルスタックフレームワークだと当たり前についていると思うが、ないものは仕方ない。
そもそも、このあたりの勉強もできるというところで薄いフレームワークを使っているのだしね。