1
0

【初心者】AWS Lambdaとサーバレス

Posted at

目的

AWS Lambdaについての基本を知るため。
AWSを触る上で重要な概念であるサーバレスにも触れる。

Lambdaとは

開発した関数をサーバレスに実行できるサービス。

サーバレスとは

アプリケーション実行環境をマネージドサービスとして提供されたもの。

サービス使用者(私)は、サーバの構築やOSのバージョンアップなどの管理をする必要がない。
Lambdaでは関数さえあれば、サーバを意識することなく実行環境が構築できる。

マネージドとは

サービス提供者(AWS)がインフラの管理や運用を含めてサービスとして提供する形態のこと。

Lambdaの仕組み(簡素)

Lambdaは同時実行リクエストごとに、実行環境の個別のインスタンスをプロビジョニングします。

LambdaをVPCにアタッチしていない場合

実行可能なAZで起動する。

VPCにアタッチする場合

複数のAZでサブネットを指定することで高可用性を担保する。

Lambdaにおける2つの実行方式(非同期・同期)

非同期実行

呼び出し元が処理結果を待機しない方式のこと。
呼び出されたLambdaはリクエストをキューに入れて、呼び出しもとに追加情報のない成功のレスポンスを返却する。
S3のPUT(格納)トリガーをもとにLambdaを起動する場合、
S3は処理を待機せず、Lambdaも結果を返さない。
エラーが発生した場合、デフォルトで2回再試行する。(初回も含めると3回実行する)

設定時は、呼び出しパラメータをEventに設定する。

同期実行

呼び出しもとが処理結果を待機する方式のこと。

Lambdaの金額

関数へのリクエストの数×コードの実行時間×メモリサイズあたりの料金で決まる。

メモリサイズが大きいほど、1ミリ秒あたりの料金が高くなる。
倍のメモリサイズでも実行時間が1/2になれば料金は変わらないということになる。

同時実行数の計算方法

同時実行数 = 1秒あたりの平均リクエスト数*平均リクエスト時間 (秒単位)

1
0
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
1
0