LoginSignup
1
1

More than 3 years have passed since last update.

lambdaを勉強した①

Last updated at Posted at 2019-12-01

今更ながらlambdaについて勉強しました。
今回は概要についてです。

lambdaとは

  • サーバーの管理を気にすることなくコードを実行できるサービス
  • ほかのAWSのサービスをトリガーにコードを実行できる
  • APIのように使うことができる
  • 課金されるのはコードを実行した時間と、回数によって課金(月に100万リクエストまで無料)
  • デフォルトで使える言語はJava、Node.js、C#、Python、Go、PowerShell、Ruby
  • Javaは実行時にコンパイルが行われる関係で速度が遅い
  • lambda layerを利用することでほかの言語も使用可能

下記はlambdaのイメージ
API GateWay
lambda(api).png

S3
lambda(s3).png

lambda functionとは

  • 実際に実行されるコード
  • それぞれが隔離されたコンテナ内で実行される
  • lambdaの実行環境はAmazonLinux

lambda functionのコールドスタートとウォームスタート

コールドスタート

ライフサイクルの1~6までをすべて実行するのがコールドスタート

ウォームスタート

作成したコンテナを再利用して1~6の処理を省略することで効率化

lambda functionのライフサイクル

  1. ENIの作成(VPC利用時のみ)※
  2. コンテナの作成
  3. デプロイパッケージのロード
  4. デプロイパッケージの実行
  5. ランタイムの起動・初期化
  6. 関数/メソッドの実行
  7. コンテナの破棄

※ENI・・・VPCで利用できる仮想NIC

lambda layerとは

  • 複数のlambda functionで共通する処理や、使用するライブラリを一つにまとめたもの
  • ひとつのlambda functionに使用できるレイヤーは最大5つまで、ただし、容量制限もある(公式サイト)

下記はイメージ
lambdalayer.png

今回、lambdaについて概要をまとめてみました。

次回は実際にlambda functionを実際に使ってみたいと思います。

参考
https://www.slideshare.net/AmazonWebServicesJapan/20190402-aws-black-belt-online-seminar-lets-dive-deep-into-aws-lambda-part1-part2/

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