[アップデート] Amazon CloudWatch Synthetics で Firefox がサポートされました
いわさです。
Amazon CloudWatch Synthetics では Web アプリケーションや API の監視やパフォーマンス測定、自動テストに使われるサービスで、簡単な設定で外形監視を構成してアラートを設定したりすることができる CloudWatch の機能のひとつです。
仕組みとして Lambda 関数がデプロイされて、その中で Slenium や Puppeteer、Playwright などを使って Web サイトにアクセスします。
これまで、Chrome のみがサポートされていたのですが、先日のアップデートで Firefox がサポートされました。
例えばハートビートモニタリングのブループリントを選択すると次のように対象ブラウザを選択できるようになりました。
これによって複数ブラウザの挙動を考慮した監視構成を取ることができるようになります。
今回こちらを使ってみたので紹介します。
使ってみる
使い方は非常に簡単で、前述のチェックボックスをチェックしてあとは今までどおり Canary 作って実行するだけです。
今回はハードビートモニタリングのスクリプトで Chrome と Firefox を選択しつつ、クラスメソッドのホームページをターゲットにした Canary を作成してみました。
実行します。
実行時は特に「どのブラウザを対象にするか」みたいな選択はなかったので、Canary の設定のみで動作するようです。
実行が完了したので Canary 詳細にアクセスしてみましょう。
実行結果一覧を見てみると、次のように結果ごとにどのブラウザで動作したのか確認できるようになっていました。
今回スクリーンショット取得オプションを有効化しているので、それぞれ見てみましょう。
こちらは Firefox です。なるほど。
こちらは Chrome です。
見た目はあまりわからないですね。私が写っているということだけはわかります。
しかし、ブラウザに依存した CSS や JavaScript の動作確認など、ブラウザ別に問題が生じていないか確認したり、それを CloudWatch アラームとして通知したりするなど、マルチブラウザ対応が必要なワークロードだととても役に立ちそうです。
Firefox の対応ランタイムバージョン
一点注意点がありまして、Firefox のサポートは全てのランタイムで行われているわけではありません。
まず、Playwright と Puppeteer はサポートされているのですが、本日時点で Selenium ではサポートされていません。(Selnium 自体は Firefox ドライバを利用できますが、Synthetics ではサポートされていない)
次のように Firefox が非活性になっていますね。
また、サポートしているランタイムでも本日時点の最新バージョンのランタイムでのみ利用可能で、古いランタイムバージョンでは Selenium と同様に Firefox オプションが非活性になっていました。
Playwright であれば、3.0 以上が必要となります。
Puppeteer の場合は 11.0 以上ですね。
既存 Canary を Firefox 対応させたい場合は、まずランタイムバージョンを更新しましょう。
さいごに
本日は Amazon CloudWatch Synthetics で Firefox がサポートされたので使ってみました。
CloudWatch Synthetics 自体非常に使いやすい機能なんですが、今回のマルチブラウザのサポートだったり、ランタイムの追加だったり、柔軟性が最近上がっていて良い感じです。