What is AWS Lambda?

AWS Lambda is a computing service that allows code execution without the need to provision or manage servers.

AWS Lambda executes code only when needed, automatically scaling from a few requests per day to thousands of requests per second.

It is possible to build a mechanism code that acquires data from DynamoDB at regular intervals using Lambda functions, performs log analysis, and then stores the analysis results on an S3 server.

 

Lambda Specifications

Since Lambda functions are paid for according to the number of executions, a timeout is set so that Lambda functions are not executed indefinitely.

When the specified timeout is reached, the Lambda function terminates execution.

Therefore, it is necessary to set the timeout period based on the expected execution time.

The default timeout is 3 seconds and the maximum execution time per AWS Lambda request is 900 seconds.

This corresponds to 15 minutes. Therefore, if a process exceeds 15 minutes, the calculation process will be terminated in the middle of the process!

Limitations of Lambda

  • Lambda's /tmp directory
    • Used for configuration, deployment and execution
    • Storage up to 512 MB
  • Up to 1000 concurrent executions
  • Up to 75 GB of function and layer storage

surveillance

How to set up Lambda

Specify the IAM role when creating the Lambda function.

The access privileges granted to this role determine the scope of execution of the target that Lambda can manipulate when assuming that role.

 

 

 

 

 

If you need access to other resources when using Lambda functions, you must have an IAM role set up that grants access to the services used by Lambda.

 

Use IAM to manage access to the Lambda API and resources (functions, layers, etc.).

User and application permissions for accounts using Lambda are managed through permission policies that can be applied to IAM users, groups, or roles.

To grant permissions to other accounts or AWS services that use the Lambda resource, use policies that apply to the resource itself.

For more information, please visit

https://docs.aws.amazon.com/ja_jp/lambda/latest/dg/with-sqs-example.html

 

What features are available?

Lambda provides the ability to execute code in the C# programming language Lambda is a computing service that allows you to execute code without the need to provision or manage servers AWS Lambda executes code only when needed and automatically scales from a few requests per day AWS Lambda executes code only when needed and automatically scales from a few requests per day to thousands of requests per second

 

How to use with RDS

The RDS Proxy acts as an intermediary between the application and the RDS database, establishing and managing the required connection pools to the database and reducing the number of database connections from the application. The RDS proxy handles all database traffic flowing directly from the Lambda function to the database.

Lambda functions are required to connect using an RDS proxy rather than a database instance; the RDS proxy pools the connections needed to scale the large number of concurrent connections created by concurrent Lambda function executions. This allows Lambda applications to reuse existing connections rather than creating a new connection for each Lambda function call.

It is possible to connect a Lambda function directly to the RDS, but the concurrent execution will establish many connections, and data sessions will not be able to continue efficiently without proxies

 

Lambda Layer

Lambda Layer is a mechanism that allows multiple Lambda functions to share a library, and certain functions can be used together as a Layer. Previously, when there were multiple functions that used the same library, it was necessary to package all functions with the library. By uploading the library as a Layer, each function can use the Layer. In this scenario, we are running multiple applications that use Lambda functions, and one part of the processing is duplicated. By using Lambda Layer, the duplicated parts can be shared.

 

Lambda Edge

With Lambda Edge, web applications can be distributed globally to improve performance without the need for server administration.

記事タイトル検索