2025年5月24日
ど~も。うさノリブログです。
今回はAWSでのサーバーレス
コンピューティングサービス
Amazon Lambdaについて
ゆるりお話ししていきましょう♪
AWS Lambdaってなに?
AWS Lambdaは「アマゾン ラムダ」と読み、
AWSが提供するサーバーレスコンピューティング
サービスです。
Lambdaを使用すると、サーバーを
プロビジョニングや管理する必要なく、
コードを実行できます。
イベント駆動型のアーキテクチャに
基づいており、特定のイベント
(例えば、ファイルのアップロードやAPIのリクエスト)
をトリガーにしてコードが自動的に実行されます。
※サーバーレスコンピューティングサービス:
開発者がインフラ管理を意識せずにコードを
実行できるクラウドサービスモデルです。
開発者がインフラ管理を意識せずにコードを
実行できるクラウドサービスモデルです。
※プロビジョニング:
ITリソース(サーバー、ストレージ、
ネットワークなど)を必要に応じて
設定・配備するプロセスです。
ITリソース(サーバー、ストレージ、
ネットワークなど)を必要に応じて
設定・配備するプロセスです。
AWS Lambdaの主要な特徴
- サーバーレス
- サーバーのセットアップや管理は
AWSが自動で行います。
開発者はアプリケーションコードの作成に
集中できます。
- サーバーのセットアップや管理は
- イベント駆動型
- スケーラビリティ
- リクエスト数に応じて、自動的に
スケールアップまたはスケールダウンします。
トラフィックが増加してもパフォーマンスが
維持されます。
- リクエスト数に応じて、自動的に
- コスト効率
- 実行時間(ミリ秒単位)に
基づいて課金され、コードが実行されていない
場合は費用が発生しません。
これにより、
リソース利用を最適化できます。
- 実行時間(ミリ秒単位)に
- マルチランタイムサポート
- Python、Node.js、Java、C#、Goなど、
さまざまなプログラミング言語でコードを
記述できます。
- Python、Node.js、Java、C#、Goなど、
- 他のAWSサービスとの統合
※アプリケーションコード:
特定の機能やタスクを実現するために
プログラミング言語で記述された
ソフトウェアの指示セットです。
特定の機能やタスクを実現するために
プログラミング言語で記述された
ソフトウェアの指示セットです。
※トリガー:
特定のイベントや条件に応じて
AWSサービスやリソースを
自動的に起動・実行させる仕組みです。
特定のイベントや条件に応じて
AWSサービスやリソースを
自動的に起動・実行させる仕組みです。
AWS Lambdaの活用事例
- データ処理
- S3にアップロードされた画像を
自動的にリサイズする。 - DynamoDBのデータ変更をトリガーにして、
別のシステムにデータを送信する。
- S3にアップロードされた画像を
- ウェブアプリケーションのバックエンド
- API Gatewayと組み合わせて、
サーバーレスなREST APIを構築する。 - ユーザー認証やリクエストの処理を行う。
- API Gatewayと組み合わせて、
- リアルタイムデータ処理
- IoTデバイスから送信されたデータを
リアルタイムで処理し、保存する。 - ログデータを解析してダッシュボードに反映する。
- IoTデバイスから送信されたデータを
- バッチジョブの実行
- 定期的なタスク(データの集計やレポート生成など)を
CloudWatchイベントでスケジュールして実行する。
- 定期的なタスク(データの集計やレポート生成など)を
- マイクロサービスアーキテクチャ
- 各機能を独立したLambda関数として構築し、
マイクロサービスを形成する。
- 各機能を独立したLambda関数として構築し、
AWS Lambdaの仕組み
- イベントソース
- Lambda関数をトリガーする
イベントを生成するソースです。
例えば、S3のファイルアップロードや
API Gatewayからのリクエスト。
- Lambda関数をトリガーする
- Lambda関数
- 実行されるコードのことです。
関数のロジックはユーザーが記述します。
- 実行されるコードのことです。
- 実行環境
- Lambda関数は、AWSが提供する
実行環境内で動作します。
これにより、サーバーのセットアップや
運用が不要になります。
- Lambda関数は、AWSが提供する
- リソース割り当て
- ユーザーは、メモリ容量(128MB〜10GB)
を設定し、それに応じたCPUリソースが
自動的に割り当てられます。
- ユーザーは、メモリ容量(128MB〜10GB)
AWS Lambdaの料金体系
AWS Lambdaは、以下の要素に基づいて課金されます:
- リクエスト数
- Lambda関数の実行リクエスト数に
応じて料金が発生します。
毎月100万リクエストは無料です。
- Lambda関数の実行リクエスト数に
- 実行時間
- 関数が実行されている時間(ミリ秒単位)
に基づいて課金されます。最初の40万GB-秒
は無料で利用できます。
- 関数が実行されている時間(ミリ秒単位)
- 追加リソース
- 使用するメモリ容量やプロビジョニングされた
同時実行の設定により、追加の料金が
発生する場合があります。
- 使用するメモリ容量やプロビジョニングされた
AWS Lambdaの始め方
- AWSアカウントの作成
- AWS公式サイトから
無料アカウントを作成します。
- AWS公式サイトから
- Lambda関数の作成
- AWS Management Consoleに
ログインし、Lambdaサービスに
アクセスします。 - 「関数の作成」をクリックし、
テンプレートを選ぶか、
新しい関数を作成します。
- AWS Management Consoleに
- トリガーの設定
- Lambda関数をトリガーする
イベントソースを設定します
(例:S3、API Gateway)。
- Lambda関数をトリガーする
- コードの記述
- 内蔵のコードエディタで関数の
ロジックを記述します。または、
外部で作成したコードをアップロードします。
- 内蔵のコードエディタで関数の
- テストとデプロイ
- テストイベントを作成して関数を試し、
期待通りに動作することを確認します。
その後、本番環境で利用を開始します。
- テストイベントを作成して関数を試し、
まとめ
AWS Lambdaは、サーバーレスコンピューティングの
利便性を最大限に活用できるサービスです。
サーバー管理の負担を軽減し、コストを
最適化しながら、柔軟でスケーラブルな
アプリケーションを構築できます。
イベント駆動型のワークフローや
マイクロサービスアーキテクチャに
最適な選択肢となるでしょう。
以上!今回はこれまで!
コメント