CloudWatch Synthetics Canary にて自動作成された Lambda 関数のランタイムアップデート方法を教えてください。
困っていた内容
CloudWatch Synthetics Canary に自動作成された Lambda 関数のランタイムアップデート方法を教えてください。
どう対応すればいいの?
CloudWatch Synthetics Canary に自動作成された Lambda 関数は Lambda 画面からのランタイム更新ではなく、CloudWatch Synthetics 画面からの更新が必要です。
また、以下2つの方法で更新が可能です。
| 方法 | 特徴 | 更新単位 |
|---|---|---|
| [アクション] → [ランタイムを更新] | 最新バージョンに一括更新 | 複数Canaryを一括更新可能、1つずつも可 |
| [アクション] → [編集] | 任意のバージョンを指定して更新 | 1 つずつ |
やってみた
今回は検証用の Canary を作成し、それぞれの方法でランタイムをアップデートしてみます。
検証用 Canary の作成
まず、ランタイムバージョン syn-nodejs-puppeteer-10.0 で検証用の Canary を作成しました。

方法 1: [アクション] → [ランタイムを更新]
Canary を一括で最新バージョンにアップデートする方法です。更新先は常に最新バージョンに固定されます。
1. 対象の Canary を選択し、[アクション] → [ランタイムを更新] を選択します。

2. 更新確認ダイアログが表示されます。現在のランタイムと新しいランタイムを確認し、[新しいランタイムにアップデート] をクリックします。

メジャーバージョンアップデートの場合は警告が表示されます。[新しいランタイムのドライランを開始] から事前にテストすることも可能です。
3. 更新が完了すると、一覧画面でランタイムバージョンが syn-nodejs-puppeteer-14.0 に更新されていることを確認できます。

複数の Canary をまとめて更新できるため、対象が多い場合に便利です。
方法 2:[アクション] → [編集]
更新先のランタイムバージョンを任意に指定して、個別にアップデートする方法です。
1. 対象の Canary を選択し、[アクション] → [編集] を選択します。

2. スクリプトエディタのランタイムバージョンのプルダウンから、更新先のバージョンを選択します。

3. バージョンを選択すると、メジャーバージョンアップデートの場合は警告が表示されます。内容を確認し、[保存] をクリックします。

特定のバージョンを指定したい場合や、段階的にアップデートを進めたい場合に有効です。
動作検証について
ランタイムのアップデート後に Canary が正常に動作しなくなるリスクがあるため、本番適用前にドライランまたはクローン作成での動作検証を推奨します。
方法 1 の更新確認ダイアログにある [新しいランタイムのドライランを開始] ボタンや、アクションメニューの [ドライランを開始] [クローン] からも検証が可能です。
ドライランに対応しているランタイムバージョンは以下のとおりです。
syn-nodejs-puppeteer-10.0以降syn-nodejs-playwright-2.0以降syn-python-selenium-5.1以降syn-nodejs-3.0以降
参考情報






