CloudWatch Rumを試す

今開催されているAWS re:Invent2021 にて、CloudWatchの新機能が発表された模様。

aws.amazon.com

CloudWatch RUM(Real-User monotoring) はWebアプリケーションのログやエラー、アクセスしているユーザーの情報をモニタリングすることができる様子。

ざっくり言えばAWSGoogleアナリティクスって感じですか。

先月までAmplifyアプリケーションからCloudWatchLogsにログを送る方法を四苦八苦していたのですが、この CloudWatch RUMがあればその必要も無さそうな気がしてきた。。

で、簡単に試してみました(手間なので設定の仕方はいちいち書きません。。)

強いて言えば、RUMにデータを送るためのIdentityPoolを作るときに一緒に作成されるIAMロールに対してRUMへイベントを送ることを許可してあげる必要があるくらい。

f:id:jacoyutorius:20211201222638j:plain
アプリケーションからRUMにデータを送るためのIdentityPoolの設定

IdentityPoolに紐付けられているIAMロールに対してrum:PutRumEvents アクションを許可してやります。

f:id:jacoyutorius:20211201222845j:plain
こんな感じで

あとは作成された Javascriptスニペットをアプリケーションのindex.htmlの header内に貼り付けてデプロイしてやるだけです。

f:id:jacoyutorius:20211201223153j:plain
権限が適切に付与されていない場合はこんな感じのエラーがでます

CloudWatch RUMの画面で見れるデータ。だいたいGoogleアナリティクスと似たようなデータが取れている気がする。。?(GAあんまし使ったことないけど)

f:id:jacoyutorius:20211201223922j:plain

f:id:jacoyutorius:20211201224245j:plain

ところでログが取れるようになってもアプリケーションのコンソールに色々エラーが出るんだけど大丈夫なのかな。

f:id:jacoyutorius:20211201224712j:plain
不穏だ

ちなみに↓のアプリケーションに組み込んだのでぜひぜひアクセスしていただいて、ログを収集するのに協力していただければと思います。

webspeechtranslate.yutoogi.com

ところでこのアプリケーションですが、先日開催された JAWS Pankration 2021にて開発について発表したのでした。

jawspankration2021.jaws-ug.jp

speakerdeck.com

AmplifyでデプロイしたアプリケーションからCloudWatchLogsにログを送る方法について話したんですけど冒頭に書いたとおり、CloudWatch RUMがあれば本番稼働しているアプリケーションのログ収集が楽勝でできそうで、この発表で話したようなことを頑張らなくても大丈夫になりそうです。