0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

AWS重要知識(AWS-SAA,SAP対策)  〜Lambda編〜

Last updated at Posted at 2025-04-10

目的

AWSのサーバレス型関数実行サービスのLambdaを理解する(AWSSAP対策も兼ねて)

LambdaのSLA

LambdaのSLAは下記ドキュメント参照
https://d1.awsstatic.com/legal/lambda-sla/AWS%20Lambda%20SLA_2022-05-05_JP.pdf

Lambdaのクォータ制限

⚫︎Lambdaのクォータ制限は下記ドキュメントに記載
https://docs.aws.amazon.com/ja_jp/lambda/latest/dg/gettingstarted-limits.html

・同時実行数
・最大実行時間
・最大使用メモリ
それぞれを見ていく。

Lambdaの同時実行数上限

重要度⭐️⭐️⭐️⭐️⭐️⭐️⭐️

・Lambdaの同時実行数はAWSアカウント全体で1リージョンで1000が上限

Lambdaのスロットリング

スロットリング
システムやサービスが過負荷になるのを防ぐために、意図的にリクエストの処理量を制限する仕組みのこと。

⚫︎Lambdaのメトリクスに関するドキュメント
https://docs.aws.amazon.com/ja_jp/lambda/latest/dg/monitoring-metrics-types.html

Throttles - スロットリングされた呼び出しリクエストの数。すべての関数インスタンスがリクエストを処理していて、スケールアップできる同時実行がない場合、Lambda は TooManyRequestsException エラーを出して追加のリクエストを拒否します。スロットリングされたリクエストやその他の呼び出しエラーは、Invocations または Errors のいずれかとしてカウントされません。

Lambdaの同時実行数に達すると
429 (TooManyRequestsException エラー)
が返却される

同時実行数の監視

CloudWatchの「ConcurrentExecutions」で同時実行数のメトリクス取得可能

⚫︎Lambdaの同時実行数に関するドキュメント
https://docs.aws.amazon.com/ja_jp/lambda/latest/dg/monitoring-concurrency.html

Lambda 関数の同時実行のモニタリングには、以下のメトリクスを使用します。各メトリクスの詳細度は 1 分です。
ConcurrentExecutions - 特定時点のアクティブな同時実行呼び出し数。Lambda は、このメトリクスをすべての関数、バージョン、エイリアスに対して出力します。Lambda コンソールのどの関数であっても、Lambda は [モニタリング] タブの [メトリクス] に ConcurrentExecutions のグラフをネイティブに表示します。MAX を使用してこのメトリクスを表示します。

上のスロットリングのメトリクスでアラート設定しても既に手遅れなので、アラート設定はこっちのメトリクスの方が良い。

Lambdaの同時実行時間

900秒(15分)

Lambdaのメモリ上限

128 MB から 10,240 MB(10GB)まで1MB単位で設定。
使ってないメモリも課金対象になるので適切に指定する。

Lambda Insight

重要度⭐️⭐️⭐️⭐️⭐️

LambdaをCloudWatchで監視する時に注意すべきなのが、Lambda Insightを有効化しないと取得できないメトリクスが結構ある

⚫︎Lambda Insightに関するドキュメント
https://docs.aws.amazon.com/ja_jp/AmazonCloudWatch/latest/monitoring/Lambda-Insights-metrics.html

特にメモリ、CPUに関するメトリクスはこの機能をオンにしないと取得できない。

Lambdaのカナリアリリース

カナリア(Canary)リリースとは?
新しいシステムやコードの変更を段階的に本番環境へ導入するリリース方針

Lambdaにはデプロイごとにバージョンを付与することができますが、それぞれのバージョンにweightを付与できる。

version2 : 90%
version3 : 10%
のようにすると呼び出しもこの割合で行われる。
段階的に本番環境に移行することができるので既存環境への影響などを小さくでk。

リザーブド同時実行数

重要度⭐️⭐️

特定のLambda関数に最大同時実行数を割り当ててその実行数を保証する

⚫︎リザーブド同時実行に関するドキュメント
https://docs.aws.amazon.com/ja_jp/lambda/latest/dg/configuration-concurrency.html

プロビジョンドコンカレンシー

重要度⭐️⭐️
Lambda関数のコールドスタートを回避するため、「常に稼働するインスタンス数」を指定

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?