AWS Lambda はイベント発生時にお客様のコードを実行し、基盤となるコンピューティングリソースをお客様に代わって管理する、サーバーレスコンピューティングサービスです。AWS Lambda を使用すると、カスタムロジックを使って AWS の他のサービスを拡張することや、AWS の規模、パフォーマンス、セキュリティを活用して運用する自社のバックエンドサービスを作成することができます。AWS Lambda では、複数のイベント (Amazon API Gateway 経由の HTTP リクエスト、Amazon S3 バケット内のオブジェクト変更、Amazon DynamoDB 内のテーブル更新、AWS Step Functions 内の状態遷移など) に応答して、自動的にコードが実行されます。

AWS Lambda は可用性の高いコンピューティングインフラストラクチャでお客様のコードを実行し、コンピューティングリソースの管理をすべて担当します。これにはサーバーおよびオペレーティングシステムの管理、キャパシティーのプロビジョニングおよび自動スケーリング、コードおよびセキュリティパッチのデプロイ、モニタリングおよびロギングなどが含まれます。お客様はコードを書くだけです。


PAC-Q4_House-Ads_Lambda_2up

AWS Lambda 関数の紹介

AWS Lambda で実行するコードは「Lambda 関数」と呼ばれます。1 度 Lambda 関数を作成すれば、スプレッドシートの数式と同じでトリガーすればいつでもすぐに実行されるようになります。各関数はコードと、関数名やリソース要件などの関連情報で構成されます。Lambda 関数は「ステートレス」で、基盤となるインフラストラクチャに依存しないため、必要な関数をすべて迅速に実行することで受信イベントに合わせてスケールします。

AWS Lambda にコードをアップロードすれば、関数を特定の AWS リソース(特定の Amazon S3 バケット、Amazon DynamoDB テーブル、Amazon Kinesis ストリーム、Amazon SNS 通知)に関連付けることができます。その後リソースが変更されると、Lambda は受信リクエストに対応して必要な関数の実行およびコンピューティングリソースの管理を行います。

製品の主な機能

カスタムロジックで他の AWS サービスを拡張

AWS Lambda を使用すると、Amazon S3 バケット、Amazon DynamoDB テーブルなどの AWS リソースにカスタムロジックを追加できます。これにより、クラウドに入ってきたデータやクラウド内を移動するデータに簡単にコンピューティングを適用できます。

AWS Lambda の利用を開始するのは簡単です。まずコードをアップロード (または Lambda コンソールで直接構築) して関数を作成し、メモリ、タイムアウト時間、AWS Identity and Access Management (IAM) の役割を選択します。次に、関数をトリガーする AWS リソースとして特定の Amazon S3 バケット、Amazon DynamoDB テーブル、Amazon Kinesis ストリームのいずれかを指定します。リソースが変更されると、Lambda は関数を実行し、受信リクエストに対応するために必要なコンピューティングリソースを開始および管理します。

カスタムバックエンドサービスの作成

AWS Lambda を使用してアプリケーションに対する新規バックエンドサービスを作成し、Amazon API Gateway で構築した Lambda API またはカスタム API エンドポイントを使用してオンデマンドでトリガーできます。クライアントでカスタムイベントにサービスを提供するのではなく、Lambda を使用してカスタムイベントを処理することで、クライアントプラットフォームのばらつきを回避し、バッテリーの消耗を軽減し、より容易な更新を実現できます。

独自コードの採用

AWS Lambda には、学ばなければならない新しい言語、ツール、フレームワークがありません。ネイティブライブラリも含め、サードパーティのライブラリを使用できます。AWS Lambda は Java、Node.js、C#、および Python のコードをサポートしており、その他の言語も今後サポートする予定です。

完全に自動化された管理

AWS Lambda はコードを可用性の高い、耐障害性を備えたインフラストラクチャで実行するためにインフラストラクチャをすべて管理するため、お客様は差別化されたバックエンドサービスの構築に注力できます。Lambda を使用すれば、パッチがリリースされた際に基盤となる OS を更新したり、使用量の増加に合わせてサーバーのサイズ変更や追加を考えたりする必要はありません。AWS Lambda はコードをシームレスにデプロイし、すべての管理、メンテナンス、セキュリティパッチの適用を担当し、Amazon CloudWatch によって組み込みのロギングおよびモニタリング機能を提供します。

組み込みの耐障害性

Lambda は組み込みの耐障害性を備えています。AWS Lambda は各リージョンの複数のアベイラビリティーゾーン全体でコンピューティングキャパシティーを維持し、個別のマシンまたはデータセンター設備の故障からコードを保護します。AWS Lambda およびこのサービスで実行される関数は予測可能で信頼性の高い運用パフォーマンスを発揮します。AWS Lambda は、サービス自体とサービスによって運用される機能のために高可用性を発揮するよう設計されています。メンテナンスの時間帯や定期的なダウンタイムはありません。

自動スケーリング

AWS Lambda は必要なときだけコードを実行し、リクエスト受信の回数に合わせて自動的にスケールします。お客様は何も設定する必要がありません。コードが処理できるリクエスト数に上限はありません。AWS Lambda は基本的にイベントの発生からミリ秒単位でコードを実行します。また Lambda は自動的にスケールするため、イベントの頻度が上昇しても一貫して高いパフォーマンスを維持できます。コードがステートレスなので、Lambda は時間のかかるデプロイや設定によって遅れが出ることなく必要な数だけインスタンスを実行できます。

Amazon CloudFront リクエストに応答してコードを実行

Lambda@Edge で AWS Lambda を使用すると、世界中の AWS エッジロケーションで Amazon CloudFront のイベント (オリジンサーバーやビューワーとの間のコンテンツのリクエストなど) に応答するコードを実行できます。これにより、各エンドユーザーにパーソナライズされた豊富なコンテンツを、低いレイテンシーで簡単に配信できます。詳細 »

複数の関数の調整

AWS Step Functions を使用してワークフローを構築することで、複雑なタスクや長時間実行するタスクのために複数の AWS Lambda 関数を調整できます。Step Functions では、順次、並列、分岐、およびエラー処理の各ステップを使用して、Lambda 関数のコレクションをトリガーするワークフローを定義できます。Step Functions と Lambda を使用すると、アプリケーションやバックエンド用のステートフルな長時間実行するプロセスを構築できます。

統合型セキュリティモデル

AWS Lambda では、組み込みの AWS SDK と AWS Identity and Access Management (IAM) の統合を介して、記述したコードから他の AWS 製品に安全にアクセスできます。デフォルトでは、AWS Lambda はコードを VPC 内で実行します。また、オプションで、AWS Lambda を構成して、独自の VPC の背後にあるリソースにアクセスできるようにすることもできます。こうすることで、独自のセキュリティグループやネットワークアクセスコントロールリストを使用して、独自の Lambda 関数が VPC 内のリソースにアクセスできるようにすることができます。

AWS Lambda は 、SOCHIPAAPCIISO に準拠しています。Lambda 認定とコンプライアンス準備の最新情報については、すべての範囲内のサービスを参照してください。

利用に応じた支払い

AWS Lambda では、送信したリクエストとコードを実行するために要した処理時間の分のみ料金が発生します。料金は 100 ミリ秒の増分で計算されます。コスト効率がよく、1 日に数件のリクエストから 1 秒に数千件のリクエストまで簡単に自動でスケールできます。

柔軟性のあるリソースモデル

お客様が関数に割り当てるメモリ量を選択すると、AWS Lambda はそれに比例した CPU パワー、ネットワーク帯域幅、ディスク I/O を割り当てます。

AWS Lambda 料金の詳細

料金ページを見る
始める準備はできましたか?
サインアップ
ご不明な点がおありですか?
お問い合わせ