re:Growth 2020で「サーバーレス関連のリリースを一挙紹介」という内容で発表しました #reinvent #cmregrowth

2020.12.19

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

こんにちは、クラスメソッドの岡です。

2020/12/18(金) に毎年恒例のre:Growth 2020が開催されました!
私も猛者達に紛れてサーバーレスのテーマでLTをさせて頂いたので発表内容をまとめておきます。

スライド

Lambda関連のリリース一覧

Lambda コンテナイメージ

  • Lambdaの従来のZIP形式に加えて、コンテナイメージがパッケージフォーマットとしてサポートされた
  • ECRに保存したコンテナイメージのURIを指定
  • AWS Lambda Runtime Interface Clientsを併せてリリース
  • AWS Lambda Runtime Interface Emulator (RIE)も提供開始
  • CDK/SAM CLIでのデプロイも対応済
  • Lambda Layersの追加, コード署名の機能は使えなくなる

注意点として、コンテナイメージでデプロイした場合はLambda Layersの追加, コード署名の機能は利用できなくなります。
Lambda Layersとしては利用できませんが、既存レイヤーをコンテナーイメージとして/optディレクトリにコピーすることで、Lambdaで利用することができます。

下記のAWSブログでコンテナイメージに既存の Lambda Layers と Lambda Extentions を組み込むソリューションが解説されています。

コンテナイメージの要件

  • Docker Image Manifest V2 Schema 2もしくはOCI v1.0以上
  • LambdaのランタイムAPIとの連携
  • /tmp(最大512MB)以外はRead-Onlyの権限
  • コード実行に必要な全てのファイルが読み取り可能なこと
  • Linuxベースのコンテナイメージのみサポート

速報記事に合わせて、岩田さんがコンテナイメージでデプロイしたLambdaのコールドスタートの速度計測の検証記事を出していてかなり参考になるので合わせてご覧ください。

Lambda Extentions

Lambda Extensions APIを使って実装したプログラムをLambda Layerとしてデプロイすることで、モニタリングツールなどの外部のツールをLambda実行環境内部に統合することができます。
性能テストや負荷テストの際に有用です。

Amazon CloudWatch Lambda Insights

CloudWatch Lambda InsightsもLambda Extentionsの1つで、有効化するとCloudWatch Lambda InsightsのLambda Layersが追加されます。
Lambda Insightsを使うことで、Lambdaのパフォーマンスに関するログが取得できるようになります。

SNS/SQSのアップデート

従来のSQSのFIFOキューに合わせてSNSトピックもFIFOをサポートしました。
これを組み合わせることで、厳密に順序付けられた方法で複数の独立したサービス間でメッセージを処理する際の一貫性を維持することができます。

Step Functions Expressモードの同期呼び出しサポート

  • 低レイテンシ+高スループットのExpressモードを同期呼び出しすることによってUXの改善につながる
  • 1秒あたり100,000イベントを超える呼び出しレートをサポートする

EventBridgeのイベントのリプレイとアーカイブが可能に

こちらは発表の方では紹介しなかったんですがイベントのリプレイとアーカイブが可能になり、イベントの検証やテストが容易となります。

AWS Amplify Admin UI

  • WEBアプリ/モバイルアプリのバックエンドの作成と管理ができる機能
  • Sandbox環境も提供されているのでAWSアカウントなしでも一部の機能は利用可能

Aurora Serverless v2(プレビュー)

  • v1と比較してスケーリング性能がアップ
  • Multi-AZ/Global Database/Read Replicaに対応
  • MySQL5.7互換のみ

AWS Proton

  • CloudFormationをベースにインフラを管理する機能
  • バージョニングにも対応
  • EnvironmentsとServicesの2つの層に分けて管理する
  • Cloud Watch/New Relic/DataDog と統合予定

まとめ

かなり走った説明になってしまいましたが、一挙に紹介させて頂きました。
今後もアップデートを追っていきたいと思います!!