Lambda
環境変数
便利。
「ステージ変数」は API Gateway における環境変数。
通信の暗号化
「転送中の暗号化のためのヘルパー」を使う。
KMSを指定することができる。
CPU・メモリの設定
メモリの設定だけが可能
メモリに比例してCPUも勝手に強くなる
パッケージ上限
250MB程度であり、引き上げ申請なども実施できない
エフェメラルデータの保管場所
/tmp を使う。512MB が上限。
リクエスト流量の制限?
これは特に存在しないはず。
同時実行数の上限
デフォルトで 1,000 まで
リージョンによるけど東京は1000
これを超える実行については AWS への申請が必要になる。
同時実行数を予約する
関数単位で上限をコントロールしてスロットリングさせたいときに使う
ただし、予約なので他の関数が動くための分まで確保される
設定値は (リージョンごとの上限 - 100) が上限となる
残りの100 は他の Lambda 関数を動かすときの余白として設計されている
同時実行数をプロビジョンする
予約と同じではあるが、ホットスタンバイするようになり応答が速くなる
オーソライザー
リクエストパラメータベース
ヘッダー・クエリ文字列をもとに認証スキームを機能させる
トークンベース
JWT, OAuth などのときに使える
STSベース
Cognitoベース
こんなものはない
Invoke API
InvocationType = Event に設定して呼ぶことで非同期実行ができる
それ以外でLambda自体を非同期に実行する手段は無いはず
Lambda@Edge
エッジ環境で Lambda が動くので低レイテンシーになり、CloudFront のキャッシュも効くようになる。
VPC内(プライベートサブネット内)で動かす
自然にやるとインターネットに出られない
NATゲートウェイへのルートを設定し、セキュリティグループのアウトバウンド許可をやると良い
EC2などの設定と同じということ
LambdaからDynamo使う時のIAMロールに便利なマネージドポリシー
AWSLambdaDynamoDBExecuionRole