こんにちは。マネージドサービス部の谷内です。
本ブログでは、以下ワークショップについてまとめます。
- STG316 | Integrate serverless applications with AWS storage services
- AWS Lambda is a serverless compute service that lets you run code without provisioning or managing servers. You can integrate it with Amazon EFS and Amazon S3 for data persistence, enabling increased application availability and regional resiliency. In this workshop, discover how to build your serverless AI applications with persistent data in Amazon S3 and Amazon EFS. Additionally, explore how the application can process data as its being retrieved from Amazon S3, transcribe content, and use Amazon Bedrock for summarization. Learn how to network your Lambda functions with regional storage services for external data access and how to share data between serverless functions. You must bring your laptop to participate.
ワークショップの概要
概要
このワークショップでは、外部データへ安全にアクセスするために Amazon EFS および Amazon S3 で Lambda 関数を利用する方法や複数の Lambda 関数でデータを共有する方法等、サーバーレスアプリケーション構築に重要となる Lambda 関数とAWSストレージサービスとの連携ついて以下6つのステップに沿ってハンズオン形式で体験することができました。
また、Amazon Bedrock を利用した自動テキスト要約についても簡単に触れることができましたが、あくまでメインは Lambda関数と Amazon EFS および Amazon S3 との連携の学習という印象でした。
- AWS Lambda および Amazon S3 の基礎的な仕組み
- Amazon S3 Object Lambda を利用したデータ処理方法
- AWS Lambda から Amazon S3 および Amazon EFS にアクセスするためのネットワークとセキュリティの要件
- サーバーレスコンピューティング用に Amazon S3 と Amazon EFS が提供する永続的で拡張性のあるストレージの理解
- 異なる Lambda 関数から同じ Amazon EFS にアクセスする方法
- Amazon S3 、 Amazon EFS 、 AWS Lambda のモニタリング
構成
利用したAWSサービス
- Amazon S3
- Amazon EFS
- AWS Lambda
- Amazon Bedrock
- Amazon API Gateway
- Amazon CloudWatch
ワークショップのポイント
Amazon S3 Object Lambda
Amazon S3 Object Lambda とは、S3 GET、HEAD および LIST リクエストに対するレスポンスデータを Lambda 関数によって自動的に変更・処理できる機能です。
リクエストをトリガーとして起動された Lambda 関数によって加工されたデータが返されるため、複数種類のデータを保持する必要がなく、一つのデータから様々な内容を表現できるようになります。
ユースケースとしては、機密データの編集、特定の行のフィルタリング、画像のサイズ変更、データ形式の変換があります。
Lambda 関数と Amazon EFS の連携
従来までは AWS Lambda でファイル連携を行う場合は Amazon S3 が利用されておりましたが、2020年に共有ファイルシステムである Amazon EFS も対応できるようになりました。
EFSアクセスポイントを介して Lambda 関数は Amazon EFS に接続することができ、複数の Lambda 関数から同じファイルシステムにアクセスすることもできます。
尚、Lambda 関数の実行環境には一時的なキャッシュ用としてエフェメラルストレージが用意されておりますが、アプリケーションが永続的なストレージを必要とする場合は Amazon S3 や Amazon EFS を利用する必要があります。
感想
私が運用保守部門に属しているため、サーバーレス環境の「構築」そのものについて普段の業務ではなかなか触ることがなかったこともあり、非常に新鮮な気持ちでワークショップを楽しむことができました。
今回の re:Invent では運用関連やセキュリティ関連をメインに7個ほどのワークショップ・ビルダーズセッションに参加しましたが、このセッションの面白さは上位に入るものでした。
来年以降に参加される方も、自分の領域以外のセッションにも是非積極的に参加してみてはいかがでしょうか。