@seo-maru  2021/01/28更新

AWS Lambdaの基礎


Lambdaインスタンスの起動

初回実行時はウォームアップ(コンテナ作成や言語コンパイル等)に時間がかかる。
一定時間経過後にインスタンスは消滅する

コールドスタートとは

ウォームアップに時間がかかること。
常時ウォームアップ状態にしておくオプションもある
https://qiita.com/ny7760/items/700ae917da2c5b5e3f8a

Lambdaのネットワーク

・LambdaはAWSが所有するVPC内で実行される
・ユーザー作成のVPC内に置くことも出来る

2019年のアップデートでネットワークインターフェースが改善

  • これまで、カスタマー所有のVPCへアクセスするには、都度自動でENIが作られていた(=ENIの増殖)
  • 今回のアップデートにより、カスタマーVPC内の単一のENIにNAT接続するようになった(1つのENI、1つのプライベートIPアドレスを使用)

https://aws.amazon.com/jp/blogs/news/announcing-improved-vpc-networking-for-aws-lambda-functions/

Lambda VPCからインターネットへ接続する方法

https://qiita.com/keitakn/items/b140b7d63f81d86233ce

スケーリング

https://docs.aws.amazon.com/ja_jp/lambda/latest/dg/invocation-scaling.html

デプロイ

デプロイパッケージとは

デプロイパッケージは、関数のコードと依存関係を含むZIPアーカイブです
https://dev.classmethod.jp/articles/aws-lamda-deploy-package/

Lambdaレイヤー

vendorフォルダ的なものは、毎回デプロイしなくてもレイヤーとして切り出しておける

アップロードしたzipは/optに配置される。

言語ごとにPATHが決まっているので、その場所に合わせる形でzipをアップロードするか、環境変数を指定する
https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html#configuration-layers-path
https://dev.to/nckslvrmn/overwriting-shared-libraries-in-aws-lambda-479h

コンテナデプロイ

概要

https://dev.classmethod.jp/articles/lambda-support-oci-container-image/

チュートリアル

https://dev.classmethod.jp/articles/lambda-container-pkgfmt-with-sam-cli/

タイトルとURLをコピーしました