よくある質問

FAQ

AWS Lambda について教えてください


AWS Lambda は、サーバーをプロビジョニングしなくとも、プログラムを実行できるイベント駆動型のコンピューティングサービスで、サーバーレスアーキテクチャの中核を担うサービスです。

200以上のAWSのサービスやアプリケーションから AWS Lambda をトリガーにして、直接イベントを呼び出すことで、Amazon API Gateway 経由のHTTPリクエスト・Amazon S3バケット内のオブジェクト変更・DynamoDB のテーブル更新など、イベント発生時にお客様のコードを自動的に実行することができます。

また、AWS Lambda は、リクエスト数に応じて自動的にスケーリングするため、データ処理に必要なインフラを考える必要がなく、トラフィックの増加に合わせたリソース拡張が可能です。

コードの実行・スケーリングなどの高可用性を維持する機能は、すべて AWS Lambda で管理されるため、お客様は アプリケーションのコードをアップロードするだけで、カスタムロジックを使用したAWSサービスのスケール・自社のバックエンドサービスを構築することが可能になります。

AWS Lambda の特徴

● 開発言語の選択
AWS Lambda では、Java や C#・Python などの複数のプログラミング言語をサポートしているので、開発者のスキルに沿った言語を選択することができます。

● 関数の作成
AWS Lambda のコンソール、または AWS CLI を使用して、トリガーに応じて実行されるコードの単位となる Lambda関数を作成します。

● トリガーの設定
関数をトリガーするイベントを設定します。トリガーは、API Gateway や S3・DynamoDB・CloudWatchなど、AWSのサービスの中から選択することができます。

● 関数の実行
トリガーが発生すると Lambda関数が実行され、必要な処理を実行してレスポンスを返します。また、リクエスト数に応じて自動的にスケーリングするため、高い可用性を保証します。

● ログとモニタリング
Lambda関数のログを収集し、CloudWatch Logs に保存できるため、Lambda関数の実行ログを表示し、トラブルシューティングをおこなうことができます。

AWS Lambda のトリガー種類

● API Gateway
HTTPリクエストをLambda関数に送信することができるため、RESTful API を簡単に構築することができます。

● S3
オブジェクトが作成や削除されたとき、またはオブジェクトのメタデータが変更されたときに、Lambda関数をトリガーにできます。

● CloudWatch
メトリクスが特定の閾値を超えたときに、Lambda関数をトリガーにできます。

● DynamoDB
テーブルにデータが挿入や更新・削除されたときに、Lambda関数をトリガーにできます。

● CloudFormation
スタックの作成や更新時に、Lambda関数をトリガーにすることで、自動的にアプリケーションをデプロイ・設定できます。

● SQS
メッセージがキューに追加されたときに、Lambda関数をトリガーにすることで、分散システムのコンポーネント間の非同期通信を実現します。

● CloudTrail
AWSアカウントの管理アクティビティに応答して、Lambda関数をトリガーにできます。これにより、セキュリティ監視や脆弱性検出などのタスクを自動化します。

● Kinesis
ストリーム内のデータが利用可能になったときに、Lambda関数をトリガーにすることで、リアルタイムデータ処理を実現します。

● IoT
センサーデータが収集されたときに、Lambda関数をトリガーにすることで、IoTデバイスのデータ処理をおこないます。

● Alexa Skills Kit
Amazon Alexaに対するカスタムスキルを作成するために、Lambda関数を使用することができます。

ビヨンドのAWS関連サービス

● AWS クラウド インテグレーション
● AWS 運用監視サービス(24時間365日)