Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Amazon CloudWatch Synthetics now supports Playw...
Search
tubone(Yu Otsubo)
November 25, 2024
1
170
Amazon CloudWatch Synthetics now supports Playwright runtime to create canaries with NodeJS の使い所を考える
【DAY1】今年のAWSアプデ総ざらい! #しむそくRadio Special で登壇した資料
https://kddi-agile.connpass.com/event/337806/
tubone(Yu Otsubo)
November 25, 2024
Tweet
Share
More Decks by tubone(Yu Otsubo)
See All by tubone(Yu Otsubo)
Langfuse v3 使ってますか?【Langfuse Night#1】
tubone24
2
750
【お子さま向け】Amazon ECS サービスディスカバリーって知ってる?【楽しい読み聞かせ】
tubone24
8
940
Amazonの最新モデルを使ってみよう
tubone24
1
73
インフラとバックエンドとフロントエンドをくまなく調べて遅いアプリを早くした件
tubone24
1
640
Agentは楽しいぞ
tubone24
1
1.8k
Featured
See All Featured
Building Applications with DynamoDB
mza
96
6.8k
4 Signs Your Business is Dying
shpigford
186
22k
Code Review Best Practice
trishagee
74
19k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3.2k
Navigating Team Friction
lara
191
16k
How To Stay Up To Date on Web Technology
chriscoyier
791
250k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
1
100
The Pragmatic Product Professional
lauravandoore
37
7.1k
Typedesign – Prime Four
hannesfritz
42
2.9k
Build The Right Thing And Hit Your Dates
maggiecrowley
38
3k
Visualization
eitanlees
150
16k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Transcript
Amazon CloudWatch Synthetics now supports Playwright runtime to create canaries
with NodeJS の使い所を考える しむそく Radio tubone24 (@meitante1conan)
@meitante1conan ゆるふわエンジニア 犬と遊んでいる 特徴 自己紹介 Yu Otsubo (tubone24)
@meitante1conan ゆるふわエンジニア 犬と遊んでいる 特徴 自己紹介 Yu Otsubo (tubone24) AWS re:Invent
2024 参加!!
そんな私がお送りするのが
2024/11/21に出たこちらのアップデート
Amazon CloudWatch Synthetics ってなんだよ...
Amazon CloudWatch Syntheticsとは Canaryと呼ばれるスクリプトを使用して監視を実行 Node.jsまたはPythonランタイムのLambda関数として実行 PuppeteerやSeleniumを使用してヘッドレスブラウザで監視 Amazon CloudWatch Syntheticsとは WebアプリケーションやAPIエンドポイントに対して、
ユーザーと同じアクションを模倣して実行し、 パフォーマンスや可用性を監視するマネージドサービス CloudWatch RUMやApplication Signals(X-Ray)との統合も可能
Amazon CloudWatch Syntheticsとは Canaryと呼ばれるスクリプトを使用して監視を実行 Node.jsまたはPythonランタイムのLambda関数として実行 PuppeteerやSeleniumを使用してヘッドレスブラウザで監視 Amazon CloudWatch Syntheticsとは WebアプリケーションやAPIエンドポイントに対して、
ユーザーと同じアクションを模倣して実行し、 パフォーマンスや可用性を監視するマネージドサービス CloudWatch RUMやApplication Signals(X-Ray)との統合も可能 難しいね....
Amazon CloudWatch Synthetics Canary Amazon CloudWatch Syntheticsとは 人 工 的
な 人 工 的 な 人 工 的 な ※覚え方、翻訳の仕方は諸説あります..多分
Amazon CloudWatch Synthetics Canary Amazon CloudWatch Syntheticsとは 人 工 的
な 人 工 的 な 人 工 的 な カナリア ※覚え方、翻訳の仕方は諸説あります..多分
Amazon CloudWatch Synthetics Canary Amazon CloudWatch Syntheticsとは 人 工 的
な 人 工 的 な 人 工 的 な カナリア シンセサイザーも「波形を合成」した 人工的な音 炭鉱の有毒ガス検知に カナリアが使われてたらしい
Amazon CloudWatch Synthetics Canary Amazon CloudWatch Syntheticsとは 人 工 的
な 人 工 的 な 人 工 的 な カナリア シンセサイザーも「波形を合成」した 人工的な音 炭鉱の有毒ガス検知に カナリアが使われてたらしい 要はユーザーリクエストを模擬して アプリの正常性を 監視する
これがSynthetics Canaryだ!!! (引用元: 【AWS Black Belt Online Seminar】 Amazon CloudWatch
Synthetics)
これがSynthetics Canaryだ!!! (引用元: 【AWS Black Belt Online Seminar】 Amazon CloudWatch
Synthetics) Headless Chromeが動 くLambdaが自動で作成 される
これがSynthetics Canaryだ!!! (引用元: 【AWS Black Belt Online Seminar】 Amazon CloudWatch
Synthetics) Puppeteerで書かれた テストコードがLayersで Lambdaに連携される
Amazon CloudWatch Syntheticsとは Canaryと呼ばれるスクリプトを使用して監視を実行 Node.jsまたはPythonランタイムのLambda関数として実行 PuppeteerやSeleniumを使用してヘッドレスブラウザで監視 Amazon CloudWatch Syntheticsとは WebアプリケーションやAPIエンドポイントに対して、
ユーザーと同じアクションを模倣して実行し、 パフォーマンスや可用性を監視するマネージドサービス CloudWatch RUMやApplication Signals(X-Ray)との統合も可能
Amazon CloudWatch Syntheticsとは Canaryと呼ばれるスクリプトを使用して監視を実行 Node.jsまたはPythonランタイムのLambda関数として実行 PuppeteerやSeleniumを使用してヘッドレスブラウザで監視 Amazon CloudWatch Syntheticsとは WebアプリケーションやAPIエンドポイントに対して、
ユーザーと同じアクションを模倣して実行し、 パフォーマンスや可用性を監視するマネージドサービス CloudWatch RUMやApplication Signals(X-Ray)との統合も可能 Playwright対応!
で...?
何が嬉しいの?
Playwrightだと何が嬉しいの? BEFORE (Puppeteer) AFTER (Playwright) 専用に覚えなきゃ... (とは言ってもシンプルだし、割とデファクトな書き方ではある) テストの書きやすさが向上! 最近では案件の自動テストをPlaywrightで書いている人も多い? 案件の中の自動テストと
同じ書き味
Playwrightだと何が嬉しいの? だいぶ前(2024/5頃)にはCypressを超えるダウンロード数 直近ではpuppeteerも超えてきた
BEFORE (Puppeteer) AFTER (Playwright) 細かいところですが、ES Moduleでの書き方にも対応 CommonJSで記載されている スクリプトをIaCなどで別途上げる 際、 node_modules内に閉じ込めないとい
けない。 ES Moduleに対応 ディレクトリも自由度アップ
Playwrightだと何が嬉しいの? BEFORE (Puppeteer) AFTER (Playwright) 要素が出てこないときの waitを明示的に記載 テストの書きやすさが向上! そもそも案件の自動テストをPlaywrightで書いている人も多い? 自動待機機能で
ある程度吸収できる
BEFORE (Puppeteer) AFTER (Playwright) Playwrightだと何が嬉しいの? アップロードが完了してから ボタンが出現する ↓ ボタンの出現を明示的に待つ 直感的にボタンのクリックを
すればいい
synthetics.jsonでスクリーンショットやログの出力を細かく制御できる スクリーンショットのタイミング やCloudWatch Logsに出力する ログの制御も細かくできる
synthetics.jsonでスクリーンショットやログの出力を細かく制御できる console.logのほか、ネットワーク のロギングもできるため、問題が 発生した際の切り分けにも役立つ
でもお高いんでしょ う...?
でもお高いんでしょう...? 1時間あたり: 12回(60分÷5分) 1日あたり: 288回(12回×24時間) 1ヶ月あたり: 8,640回(288回×30日) 東京リージョンの料金: 0.0019 USD/実行
基本月額料金: 約16.23 USD(0.0019 USD × 8,540回) 安くはないね... 月額料金: 約79.51 USD (基本料金 + Lambda実行時間料金) 実行時間: 5分(300秒)/回 Lambda料金: 0.0000166667 USD/GB-秒 メモリ使用量: 1500MB Lambda月額料金: 約63.28 USD Lambdaの実行料金もかかってくるのは注意
例えばこうやって使って みよう
CI/CDに組み込んでデプロイ時の正常性確認に利用する 最初からカナリアを飛ばさずに ここぞというときにカナリアを飛ばしてみよう
AWS CLIでSynthetics Canaryを起動できる CI/CDに組み込んでデプロイ時の正常性確認に利用する
AWS CLIでステータスを確認できる CI/CDに組み込んでデプロイ時の正常性確認に利用する
デプロイパイプラインの最後に カナリアを飛ばすことで、基本動作は 自動で確認完了!!! 浮いた時間で遊ぼう。 CI/CDに組み込んでデプロイ時の正常性確認に利用する
おまけ!!
おまけ!!
おまけ!! このLambda何やねん...!!! 問題の解決に繋がりそう!
ありがとうございました!