LoginSignup
2
2

More than 5 years have passed since last update.

【AWS公式ドキュメントを噛み砕く】Lambdaとは?

Last updated at Posted at 2018-08-22

はじめに

結構割愛してるので、正しい情報は公式ドキュメント見てください。
ってか、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時間くらいで読み終わった。

以上

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2