lambda-edge-controller - Lambda@Edge 関数の着脱コントローラ

Product information

Free to use

Release date

Released at September 3, 2019

lambda-edge-controller は、CloudFront の distribution に Lambda@Edge 関数をプログラムからアタッチ・デタッチするための TypeScript ライブラリです。A/B テスト・フィーチャーフラグ・ディザスタリカバリなど、エッジ関数の切り替えを CI/CD パイプラインやスクリプトから自動化できます。const controller = new LambdaEdgeController( 'arn:aws:lambda:us-east-1:123456789012:function:my-edge-function:1', 'viewer-request' ) // アタッチ await controller.attachEdgeFunction('E1234567890ABCD') // デタッチ await controller.detachEdgeFunction('E1234567890ABCD')

Product info

tools

AWS

Background

Lambda@Edge 関数の切り替えをコンソールから手動で行う作業——distribution を開き、ビヘイビアを編集し、ARN を差し替えて保存する——をデプロイパイプラインに組み込むために開発しました。

ETag の取得・更新シーケンスはライブラリ内部で完結するため、呼び出し側は distribution ID と Lambda ARN を渡すだけで操作が完了します。4 つのイベントタイプ(viewer-request / viewer-response / origin-request / origin-response)すべてに対応しています。