はじめに
結構割愛してるので、正しい情報は公式ドキュメント見てください。
ってか、lamdaじゃなくて、lam b daなのね・・・
ぶっちゃけ、lambdaは大した文章量じゃないので、公式ドキュメント読み切れると思う。
(なので、この記事なんて読まずにそっちへGO)
概要
「ここ」の話
利点
なんか、文章を箇条書きに変えただけになった。
サーバー管理が不要
- サーバーのプロビジョニングや管理は必要ありません。
継続的スケーリング
- 自動的にアプリケーションをスケールします。
ミリ秒単位の課金
- 以下で課金するぜ(それ以外は課金されないよ!)
- コードが実行される 100 ms ごと
- コードがトリガーされた回数
特徴
「ここ」の話。
11個を横に並べるのはちょっと多くね?
(一部、疲れたので記載してません)
-
カスタムロジックで他の AWS サービスを拡張
- S3やDynamoDBに簡単に組み込めるらしい
-
カスタムバックエンドサービスの作成
- クライアント側(スマホとか)に実装していた処理を、Lambdaに寄せよう!
- そうすることで、クライアントプラットフォームのばらつきを回避し、バッテリーの消耗を軽減し、より容易な更新を実現できる!
-
独自コードの採用
- Lambda特有のフレームワークとかツールは無いので、既存のソースコードをそのまま使えるよ!
- サードパーティー製のライブラリも使えるよ!
-
完全に自動化された管理
- インフラはAWSのサービスが勝手によろしくやるから気にしなくていいよ!
-
組み込みの耐障害性
- 高可用性!
- メンテナンスの時間帯や定期的なダウンタイムはありません。
-
自動スケーリング
- リクエスト受信の回数に合わせて自動的にスケール
- コードが処理できるリクエスト数に上限はありません。
- Amazon CloudFront リクエストに応答してコードを実行
- 複数の関数の調整
-
統合型セキュリティモデル
- SOC、HIPAA、PCI、ISO に準拠しています。
-
利用に応じた支払い
- 料金は 100 ミリ秒の増分で計算されます
-
柔軟性のあるリソースモデル
- 割り当てるメモリ量を選択すると、AWS Lambda はそれに比例した CPU パワー、ネットワーク帯域幅、ディスク I/O を割り当てます。
開発者ガイド
日本語対応してあるぜ!やったぜ!
Amazon Lambdaとは
「ここ」の話
「入門動画」を見るのが良さそう。
基本的には概要と同じ話しか無い。
ユースケース
全部は取り上げない
SQS
「ここ」の話
ちゃんと設定すると、以下を勝手にやってくれるらしい。
- 自動的にメッセージを取得して、ターゲットの Lambda 関数にルーティングします。
- Lambda 関数が正常に完了すると、メッセージを削除します。
注意事項
- 同期呼び出し – AWS Lambda は、RequestResponse 呼び出しタイプを使用して Lambda 関数を呼び出します。
- イベント構造 – Lambda 関数が受け取るイベントは AWS Lambda が読み取る Amazon SQS キューのメッセージです。
上記対応のため「CreateEventSourceMapping」「UpdateEventSourceMapping」を使うのが良いらしい。
そして使う際に以下注意が必要とのこと。
- BatchSize: AWS Lambda が各 ReceiveMessage 呼び出しから取得するレコードの最大数。
- Enabled: 指定された Amazon SQS キューのポーリングを開始する必要がある AWS Lambda を通知するフラグ。
- EventSourceArn: AWS Lambda が新しいメッセージをモニタリングする Amazon SQS キューの ARN (Amazon リソースネーム)。
- FunctionName: AWS Lambda が設定した Amazon SQS キューで新しいメッセージを検出したときに呼び出す Lambda 関数。
DynamoDB
「ここ」の話
DynamoDBストリームと直接連携する時の話。
トリガーを作成するには、まずテーブルに対して Amazon DynamoDB Streams を有効にします。次に、ストリームに対して発行する更新を処理する Lambda 関数を記述します。
- ストリームベースモデル – これは、AWS Lambda がストリームを 1 秒間に 4 回のレートでポーリングし、新しいレコードを検出すると、更新イベントをパラメータとして渡して Lambda 関数を呼び出すモデルです。
- 同期呼び出し – AWS Lambda は、RequestResponse 呼び出しタイプ (同期呼び出し) を使用して Lambda 関数を呼び出します。
- イベント構造 – Lambda 関数が受け取るイベントは、AWS Lambda がストリームから読み取るテーブル更新情報です。
さいごに
だいたい1時間くらいで読み終わった。
以上