【AWS】 LambdaとRedisについて
最終更新日:2026年8月10日
この記事でわかること
Lambdaとは
| 項目 | AWS | Microsoft Azure | Google Cloud |
|---|---|---|---|
| 世界シェア | 約33%(首位) | 約22% | 約11% |
| 強み | サービス数・実績 | Microsoft製品連携 | データ分析・AI |
| 無料枠 | 12ヶ月+常時無料 | 12ヶ月無料 | 常時無料枠あり |
| 主な資格 | CLF / SAA / SAP | AZ-900 / AZ-104 | ACE / PCA |
プログラムを動かすためには実行する環境を準備する必要があります。
例えばJAVAのプログラムを動かすためにはJAVAをインストールしておく必要があります。
また、Webサイトのようにインターネットから利用できるようにするためにはWebサーバなども構築する必要があります。これらの実行環境を全く気にせず、行いたいプログラムだけを作成、配置して実行できるのがAWS Lambdaです。
【Lambdaの特徴】
何らかのイベントなどをトリガーとして自動的にプログラムコードが実行されることが挙げられます。AWS Lambdaで実行するコードは「Lambda 関数」と呼ばれており、開発言語は、「Node.js」、「Java」、「C#」、「Python」に対応しています。
具体的に開発できるプログラムは、以下のような処理が考えられます。
・Amazon S3へのファイルアップロード時にファイル処理。
・リアルタイムにストリーミングデータの処理。
・データベース内のデータ変更要求に対しての検証やフィルタリング処理。
・IoT環境などにおけるバックエンド処理。
Lambdaのメリット
■コストダウン
AWS Lambdaでは、プログラムを実行した回数と時間によって料金が発生します。待機時間の課金はありませんので、処理内容によっては大きなコストダウンが可能です。最新の料金体系はAWS公式サイトでご確認ください。
■オートスケール
AWS Lambdaには自動スケーリング(オートスケール)機能があり、アクセス数や負荷に応じて自動的に利用するサーバーの数を増減します。
これによって、ユーザーは、サーバーを管理せずプログラムを実行することができます。
■サーバーの構築や管理が不要
サーバーの運用は提供側のAWSが行うので、サーバーの管理を行う必要がありません。
ソフトウェアのインストールやセキュリティの設定、ハードウェアのメンテナンスも不要で、サーバーの構築や運用の為の工数を削減できます。
■高いセキュリティ
AWS Lambdaでは、ネットワーク上にサーバーが未公開で、プラットフォームの仕様も未公開です。その為、攻撃が受けにくくなっています。
また高可用性を実現している為のメンテナンスによる定期的なダウンタイムもありません。
■対応プログラム言語
AWS Lambdaは、「Java」、「Node.js」、「C#」、「Python」、「Go」、「PowerShell」、「Ruby」のプログラム言語に対応しています。
【要注意】対応言語に関する補足
Node.js・Python・Java・.NET(C#/PowerShell)・Rubyはマネージドランタイムとして提供されていますが、Go言語向けの旧来のマネージドランタイム「go1.x」は提供が終了しており、現在GoやRustなどを利用する場合は「カスタムランタイム(provided.al2/al2023等)」経由での実装が必要です。対応言語・ランタイムの最新情報はAWS公式サイトでご確認ください。
Redisとは
Redisとは、メモリ上でデータを管理するインメモリデータベースの一つで連想配列(キー・バリュー)、リスト、セットなどのデータ構造を扱える。いわゆるNoSQLデータベースの一つ。オープンソースソフトウェアとして公開されています。AWS上ではAmazon ElastiCache for RedisやAmazon MemoryDB for Redisといったマネージドサービスとして利用することも可能です。
【要注意】Redisのライセンスに関する補足
Redis(Redis Inc.が開発するオリジナル版)は2024年にライセンス形態が一時的に変更された経緯がありますが、現在は再びオープンソースライセンス(AGPLv3)で提供されています。またAWSを含む複数のクラウド事業者・Linux Foundationが主導するオープンソースフォーク「Valkey」もAmazon ElastiCache/MemoryDBで選択可能になっています。ライセンスや対応状況は変動しうるため、導入時は最新情報を公式サイトでご確認ください。
【Redisの特徴】
・Redisはメモリ上で動作するキーバリューストア型のデータベースです。
全てのデータをメモリ上に格納し、各種アプリケーションからの高速アクセスを可能にし、
データ構造ストアでは複雑な型のデータを操作し、保存することができるのが特徴です。
また、リスト・マップ・セットなどのデータ構造をそのまま取り扱うことも可能です。
・Redisはマスター・スレーブ型レプリケーションに対応。
1つのマスターに対し複数のスレーブを作成し、スレーブはマスターとデータの同期を行いながら読み込みに応答します。
また、設定を行えば自動フェイルオーバーを行うことや複数のマスターから成るCluster構成をとることも可能です。
■Redisはメモリ上のデータを任意のタイミングでディスクに格納して保持する事が可能です。
それには以下2つの方法があります。
1.RDB(Database Backup File)
RDBは永続性は指定された間隔でデータセットの point-in-time をスナップショットとして保存する方法です。
取得が容易、読み込みが高速です。ただ、このRDBだと取得後からクラッシュまでの間にデータロスが発生し得るので注意が必要となります。
2.AOF(Append Only File)
AOF(Append Only File)は実行時の全コマンドを記録しておく方法です。
AOF永続性はサーバによって受信された全ての書き込み操作を記録します。
サーバの起動時に再生され、元のデータセットを再構築し、コマンドはRedisプロトコル自体と同じ形式を使用して追記のみの形式で記録されます。Redisはログがあまりに大きくなった時にそれをバックグラウンドで書き換えることが可能です。
また、AOFは障害発生前1秒ほどのデータのみが失われるだけですが、代わりに実行速度は著しく低下します。
Redisのメリット
■Webアプリケーションの高速化
RedisはインメモリのNoSQLデータベースである為、処理速度が高速です。
Webアプリケーションのセッションやキャッシュの一時的な保存先に指定することで、アクセス速度が飛躍的に向上します。
■データ型のサポート
各言語のクライアントで取得したデータはそのまま使用可能です。
・Strings(文字列型)
・Lists(リスト型)
・Sets(セット型)
・Hashes(ハッシュ型)
・Sorted sets(ソート済みセット型)
押さえておきたいポイント
- AWS Lambdaはサーバーの構築・管理が不要で、実行した回数と時間に応じた課金となるため、イベント駆動型の処理やスパイクの大きい処理でコストダウンとオートスケールの両方を実現できます。
- Redis(AWS上ではAmazon ElastiCache for RedisやAmazon MemoryDB for Redis)はインメモリのキーバリュー型データベースで、Webアプリケーションのセッション管理やキャッシュ用途に採用することで応答速度を大きく向上させられます。
- Redisの永続化にはRDB(スナップショット方式・読み込みが高速だが取得後のデータロスに注意)とAOF(操作ログ方式・データ損失は少ないが実行速度が低下)の2方式があり、要件に応じて使い分ける必要があります。
よくある質問
Q. AWS LambdaとRedisはどのように組み合わせて使いますか?
Lambda関数からRedis(Amazon ElastiCache for RedisやAmazon MemoryDB for Redis)に接続し、頻繁にアクセスするデータをキャッシュすることで、バックエンドのデータベースへの負荷を抑えつつ応答速度を高めるという構成がよく使われます。
Q. AWS LambdaはPythonでも開発できますか?
はい。AWS LambdaはNode.js・Python・Java・.NET(C#/PowerShell)・Rubyといった主要言語のマネージドランタイムに対応しており、Go・Rustなどはカスタムランタイムを利用して開発できます。開発言語ごとの最新の対応状況はAWS公式サイトでご確認ください。
Q. Redisはずっとオープンソースのまま利用できますか?
Redis(Redis Inc.が開発するオリジナル版)は2024年にライセンス形態が一時的に変更されましたが、現在は再びオープンソースライセンス(AGPLv3)で提供されています。またAWSではLinux Foundationが主導するオープンソースフォーク「Valkey」も選択できるため、ライセンスや対応状況は都度公式情報でご確認ください。
▼ アクロビジョンについて


