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のメリットであるデータ保存の心配がなく、使った分だけ支払えばいいということが印象的なセッションでした。
この記事の読者はこんな記事も読んでいます
-
Compute re:Invent 2023Apple on AWS: Managing dev environments on Amazon EC2 Mac instances(Apple on AWS:Amazon EC2 Macインスタンスで開発環境を管理する)
-
Compute re:Invent 2023Optimizing for cost and performance with AWS App Runner(AWS App Runnerによるコストとパフォーマンスの最適化)
-
Partner Enablement re:Invent 2023Migration and modernization: Become your customer’s strategic partner