MEGAZONEブログ
AWSストレージでサーバーレスアプリケーションを構築する
Building serverless applications with AWS storage
Pulisher : Managed & Support Center キム・ソンド Description : S3とEFSを通じたアプリケーション構築の説明セッション
はじめに
サーバーレステクノロジーは、俊敏性を高め、コストを削減する最新のアプリケーションを構築するのに役立ちます。
ストレージなどのバックエンドコンポーネントのプロビジョニング、メンテナンス、スケーリングを気にすることなく、アプリケーションに集中することができます。
今回、S3とEFSを使ったアプリケーション構築について知りたいと思い、このセッションを申し込みました。
サーバーレスの概要
サーバーレスは速度、性能、コスト、セキュリティを満足させることができます。
サーバーレスの代表的なサービスはAWS LambdaとAWS Fargateがありますが、サーバーレスは単なるコンピューティングだけではありません。
Dataを保存できるS3、EFS、Dynamodbと統合サービスであるAPI Gateway、AppSync、SQS、SNS Step Function、EventBridgeなどを全て含みます。
Lambda
Lambdaの場合、/tmpにしばらくデータを保存することができ、追加費用なしで各Lambda関数に512MBの一時ストレージを使用することができます。
Amazon S3 イベント通知
ストリームでS3にデータが来るたびにイベントを実行させることができ、Event Bridgeのフィルターを追加すると、それぞれの違うラムダを実行させることができます。
データがたくさん入ってくるとターゲットを早く処理できないので、途中でSQSやSNSを使う必要があります。
Amazon S3
S3はAWSで2番目に古いサービスで、2006年3月14日(パイデー)に作られました。
数十億個のオブジェクトを保存することができ、ペタバイト規模に自動拡張されます。 そのため、単にストレージにアクセスする方法だけを考慮する必要があります。
Amazon EFSとAWS Lambda
EFSとAWS Lambdaを利用して写真のようなアーキテクチャを作ることができます。 また、EFSの場合、新しいTierが発表されたそうですが、詳細は下記のリンクで確認することができます。
GenAI Demo
Amazon S3とBedrockサービスを組み合わせてGenAIをデモする時間もありました。
また、Amazon code whispererでコードを自動で生成した後、API Gatewayを通じてその場でコードを生成するのも印象的でした。
AWS SDKによって回答内容が異なり、下の写真のようにラムダからファイルを呼び出して保存したり、一時的に生成するファイルは”/tmp/”に保存することが確認できました。
セッションを終えて
一つのセッションで色んなサービス(Lambda, API Gateway, S3, Bedrock, Code Whisperer)を利用して実際のアプリケーションを作成して構築するセッションでした。
セッションを進行しながらProductionアプリケーションで100個以上のLambda Functionを使う顧客が多いことに驚きました。
そして、簡単なサービスの場合、上記のサービスを利用して素早く構築可能で、S3のメリットであるデータ保存の心配がなく、使った分だけ支払えばいいということが印象的なセッションでした。