AWS 람다란 무엇입니까? 예제가 포함된 Lambda 함수
⚡ 스마트 요약
AWS Lambda는 이벤트 기반 서버리스 컴퓨팅 플랫폼입니다. Amazon 트리거에 응답하여 코드를 실행하는 웹 서비스로, 프로비저닝, 확장 및 서버 관리를 자동으로 처리하므로 비즈니스 로직에만 집중할 수 있습니다.

AWS Lambda를 살펴보기 전에 서버리스가 무엇을 의미하는지 이해하는 것이 도움이 됩니다.
서버리스 란 무엇입니까?
서버리스는 일반적으로 서버가 필요 없는 애플리케이션을 가리키는 용어입니다. 서버리스 애플리케이션은 서버를 구축할 필요가 없으며, 서버를 관리할 필요도 없습니다.
AWS 람다는 무엇입니까?
AWS Lambda는 AWS에서 제공하는 이벤트 기반 서버리스 컴퓨팅 플랫폼입니다. Amazon 의 일부로 Amazon 웹 서비스이기 때문에 어떤 AWS 리소스를 시작해야 하는지, 또는 어떻게 관리해야 하는지에 대해 걱정할 필요가 없습니다. 대신 코드를 Lambda에 올려놓기만 하면 실행됩니다.
AWS Lambda에서는 S3 버킷에 파일을 추가하거나 삭제하는 작업, HTTP 요청 수신 등 AWS 서비스에서 발생하는 이벤트 응답에 따라 코드가 실행됩니다. Amazon API 게이트웨이 및 유사한 이벤트. 하지만 Amazon Lambda는 백그라운드 작업을 실행하는 데에만 사용할 수 있습니다.
AWS Lambda 함수를 사용하면 운영 체제(OS) 액세스 제어, OS 패치, 적정 규모 조정, 프로비저닝, 확장 등을 관리하는 대신 핵심 제품 및 비즈니스 로직에 집중할 수 있습니다.
AWS Lambda는 어떻게 작동합니까?
다음 AWS Lambda 예제는 블록 다이어그램과 함께 몇 가지 간단한 단계로 AWS Lambda의 작동 방식을 설명합니다.
1 단계 : 먼저 AWS Lambda에서 지원하는 언어로 AWS Lambda 코드를 업로드하십시오. Java, PythonGo와 C#은 AWS Lambda 함수에서 지원하는 언어 중 일부입니다.
2 단계 : 다음은 AWS Lambda를 트리거할 수 있는 일부 AWS 서비스입니다.
3 단계 : AWS Lambda를 사용하면 코드와 해당 코드를 트리거해야 하는 이벤트 세부 정보를 업로드할 수 있습니다.
4 단계 : AWS 서비스에 의해 트리거될 때 AWS Lambda 코드를 실행합니다.
5 단계 : AWS는 AWS Lambda 코드가 실행될 때만 요금을 부과하고, 그렇지 않은 경우에는 요금을 부과하지 않습니다.
이는 다음과 같은 시나리오에서 발생합니다.
- S3 버킷에 파일 업로드
- HTTP GET/POST 엔드포인트가 URL 맞았다
- Dynamo DB 테이블을 추가, 수정 및 삭제하는 방법입니다.
- 데이터 스트림 수집 과정에서
- 푸시 알림
- 웹사이트 호스팅
- 이메일 전송
참고 : AWS Lambda 코드가 실행될 때만 AWS 서비스 요금이 부과되며, 그렇지 않을 때는 아무것도 지불할 필요가 없다는 점을 기억해야 합니다.
AWS Lambda를 트리거하는 이벤트
다음은 AWS Lambda를 사용할 때 발생하는 이벤트입니다.
- DynamoDB 테이블에서 데이터 삽입, 업데이트 및 삭제
- SNS에 푸시 알림을 포함하려면
- CloudTrail에서 로그 기록을 검색하려면
- S3 객체에 진입
- DynamoDB 테이블에 데이터가 추가, 수정, 삭제될 때마다 AWS Lambda를 트리거할 수 있습니다.
- 정해진 시간 패턴에 따라 작업을 수행하도록 일정을 계획하는 데 도움이 됩니다.
- S3 버킷의 객체 수정
- 다음에서 보낸 알림 Amazon SNS.
- AWS Lambda를 사용하여 CloudTrail 로그를 처리할 수 있습니다.
- API 게이트웨이를 사용하면 GET/POST 메서드에서 AWS Lambda를 트리거할 수 있습니다.
AWS 람다 Concepts
기능: 함수는 AWS Lambda에서 실행되는 프로그램 또는 스크립트입니다. Lambda는 호출 이벤트를 함수에 전달하여 이벤트를 처리하고 해당 응답을 반환합니다.
런타임 : 런타임 환경에서는 다양한 언어로 작성된 함수들이 동일한 기본 실행 환경에서 실행될 수 있습니다. 이를 통해 런타임 환경에서 함수를 구성할 수 있으며, 선택한 환경과도 일치하게 됩니다. 프로그래밍 언어.
이벤트 소스: 이벤트 소스는 다음과 같은 AWS 서비스입니다. Amazon SNS 또는 사용자 지정 서비스. 이 트리거는 함수가 로직을 실행하는 데 도움이 됩니다.
람다 레이어: Lambda 레이어는 라이브러리, 사용자 정의 런타임 및 기타 중요한 기능 종속성을 위한 중요한 배포 메커니즘입니다. 또한 이 AWS 구성 요소는 사용되는 변경되지 않는 코드 및 리소스와 별도로 개발 기능 코드를 관리하는 데 도움이 됩니다.
로그 스트림: Log Stream을 사용하면 함수 코드에 사용자 지정 로깅 문을 추가하여 AWS Lambda 함수의 실행 흐름과 성능을 분석할 수 있습니다.
AWS 람다 사용 방법
이제 AWS Lambda 예제를 통해 AWS Lambda 사용 방법을 알아보겠습니다.
단계 1) AWS Lambda 열기 URL
We Buy Orders 신청서를 클릭하세요. https://aws.amazon.com/lambda/ 시작하기.
단계 2) 계정 만들기
다음으로, 계정을 만들거나 기존 계정으로 로그인하세요.
단계 3) 코드를 편집하고 실행을 클릭하세요.
다음 람다 페이지에서 코드를 편집하고 실행을 클릭합니다.
단계 4) 출력 확인
결과가 표시될 것입니다.
AWS 람다 VS AWS EC2
다음은 AWS Lambda와 다른 서비스의 주요 차이점입니다. EC2.
| 파라미터 | AWS 람다 | AWS EC2 |
| 정의 | AWS Lambda는 PaaS(Platform as a Service)입니다. 백엔드 코드를 실행하고 실행하는 데 도움이 됩니다. | AWS EC2는 서비스형 인프라(IaaS)입니다. 가상화된 컴퓨팅 리소스를 제공합니다. |
| 유연성 | 컴퓨팅 인스턴스에 로그인하는 데 있어 유연성을 제공하지 않습니다. 사용자 지정 운영 체제 또는 언어 런타임을 선택할 수 있습니다. | 다양한 인스턴스, 사용자 지정 운영 체제, 보안 패치 및 네트워크 등을 선택할 수 있는 유연성을 제공합니다. |
| 설치 과정 | 코드를 실행할 환경을 선택하고 AWS Lambda에 코드를 푸시해야 합니다. | EC2에서는 처음으로 OS를 선택하고 필요한 모든 소프트웨어를 설치한 다음 코드를 EC2에 푸시해야 합니다. |
| 환경 제한 | 일부 언어만 지원합니다. | 환경 제한이 없습니다. |
AWS Lambda와 AWS Elastic 비교 Beanstalk
다음은 AWS Lambda와 Elastic의 주요 차이점입니다. Beanstalk.
| 파라미터 | AWS 탄성 Beanstalk | AWS 람다 |
| 주요 업무 | 해당 애플리케이션을 실행하는 인프라에 대해 걱정할 필요 없이 AWS 클라우드에서 앱을 배포하고 관리하세요. | AWS Lambda는 백엔드 코드를 실행하는 데 사용됩니다. 하지만 애플리케이션을 배포하는 데는 사용할 수 없습니다. |
| AWS 리소스 선택 | 이를 통해 AWS 리소스를 자유롭게 선택할 수 있습니다. 예를 들어 애플리케이션에 최적화된 EC2 인스턴스를 선택할 수 있습니다. | AWS 리소스(예: EC2 인스턴스 유형)는 직접 선택할 수 없습니다. Lambda는 워크로드에 따라 리소스를 제공합니다. |
| 시스템 유형 | 상태 저장 시스템입니다. | 이는 무상태 시스템입니다. |
AWS Lambda 사용 사례
AWS Lambda는 다음과 같은 다양한 용도로 사용됩니다.
- 당신을 도와줍니다 ETL 프로세스
- 실시간 파일 처리 및 실시간 스트림 처리를 수행할 수 있습니다.
- 웹 애플리케이션 생성에 사용
- 사용 Amazon Alexa Chatbots와 같은 제품 Amazon 에코/알렉사
- 데이터 처리(실시간 스트리밍 분석)
- 일상적인 작업의 자동 백업
- 확장 가능한 백엔드(모바일 앱, IoT 기기)
- 서버 측 백엔드 로직을 실행하는 데 도움이 됩니다.
- 데이터를 필터링하고 변환할 수 있습니다.
Lambda 함수의 모범 사례
다음은 AWS Lambda 함수의 몇 가지 모범 사례입니다.
- 올바른 "시간 초과"를 사용하십시오.
- /temp 폴더에 있는 500MB 크기의 로컬 저장소 기능을 활용하세요.
- 현재 이벤트 처리에 직접적으로 관련되지 않은 시작 코드의 사용을 최소화하십시오.
- 요청 지연 시간을 보고 최적화하려면 Lambda 함수에 내장된 CloudWatch 모니터링을 사용해야 합니다.
AWS Lambda를 사용하지 말아야 할 경우
다음은 Lambda가 확실히 이상적인 선택이 아닌 상황들입니다.
- AWS Lambda는 기본 함수 호출에 의존하는 소프트웨어 패키지 또는 애플리케이션에 사용하기에 적합하지 않습니다. Windows RPC.
- MS-Office 문서 처리와 같이 라이선스 계약이 있는 맞춤형 소프트웨어 애플리케이션에 사용되는 경우, Oracle 데이터베이스 등
- AWS Lambda는 GPU 가속 및 하드웨어 선호도와 같은 사용자 지정 하드웨어 프로세스에 사용해서는 안 됩니다.
AWS Lambda 사용의 장점
AWS Lambda 사용의 장점/이점은 다음과 같습니다.
- AWS Lambda는 매우 유연하게 사용할 수 있는 도구입니다.
- 이 기능을 사용하면 VPC를 포함한 리소스에 대한 액세스 권한을 부여할 수 있습니다.
- 저자와 직접 소통하세요 WYSIWYG 에디터 콘솔에서.
- 플러그인으로 사용할 수 있습니다. Eclipse 비주얼 스튜디오.
- 서버리스 아키텍처이기 때문에 서버 관리나 프로비저닝에 대해 걱정할 필요가 없습니다.
- 아무 것도 설정할 필요가 없습니다. 가상 기기.
- 개발자가 인프라를 구축하지 않고도 이벤트에 대한 코드 응답을 실행하고 실행할 수 있도록 도와줍니다.
- 코드가 실행될 때 소요된 컴퓨팅 시간에 대해서만 비용을 지불하면 됩니다.
- CloudWatch를 통해 실시간으로 코드 성능을 모니터링할 수 있습니다.
- 이 기능을 사용하면 다른 서버를 프로비저닝하거나 관리할 필요 없이 코드를 실행할 수 있습니다.
- 필요할 때만 코드를 실행하도록 도와줍니다.
- 자동으로 확장하여 하루에 몇 개의 요청을 처리하고 초당 수천 개가 넘는 요청을 지원할 수도 있습니다.
- AWS Lambda는 외부 이벤트 타이머를 사용하여 예약된 작업을 수행하도록 구성할 수 있습니다.
- AWS의 Lambda 함수는 스케줄링에 사용할 수 있도록 외부 이벤트 및 타이머로 구성해야 합니다.
- Lambda 함수는 상태를 저장하지 않으므로 빠르게 확장할 수 있습니다.
- AWS Lambda는 빠르므로 밀리초 내에 코드를 실행합니다.
AWS Lambda의 한계
AWS Lambda 사용의 단점/단점은 다음과 같습니다.
- AWS Lambda 도구는 소규모 프로젝트에는 적합하지 않습니다.
- AWS Lambda는 인프라를 전적으로 AWS에 의존하므로 코드에서 요구하는 경우 추가 소프트웨어를 설치할 수 없습니다.
- 동시 실행은 기본적으로 리전당 1,000개로 제한되며, 요청 시 이 제한을 늘릴 수 있습니다.
- 메모리 용량은 128MB에서 10,240MB까지 다양할 수 있습니다.
- 이벤트 요청은 128KB를 초과할 수 없습니다.
- Lambda 함수는 CloudWatch에만 로그를 작성하는 데 도움이 됩니다. 이는 기능을 모니터링하거나 문제를 해결할 수 있는 유일한 도구입니다.
- 해당 코드의 실행 시간 제한은 15분입니다.




