AWS Lambda 자습서 : Amazon 서버리스 컴퓨팅 가이드



이 AWS Lambda 자습서에서는 사용 사례와 함께 Lambda 함수, 이벤트 소스, Lambda 요금에 대한 세부 정보를 다루는 AWS의 서버리스 컴퓨팅 플랫폼에 대해 설명합니다.

AWS Lambda 자습서

오늘은 AWS Lambda에 대해 이야기하겠습니다. AWS Lambda는 Amazon에서 제공하는 컴퓨팅 서비스입니다. AWS EC2, AWS Elastic Beanstalk, AWS Opsworks 등과 같은 AWS의 다른 컴퓨팅 서비스가 여러 개 있기 때문에 궁금 할 것입니다. 그렇다면 다른 컴퓨팅 서비스가 필요한 이유는 무엇입니까? 이 AWS Lambda 자습서에서는 AWS Lambda가 무엇인지, 왜 사용되는지, 어떤 사용 사례에서이를 고려해야하는지 알아 봅니다.

연결 및 연결되지 않은 조회의 차이

Amazon이 AWS Lambda를 어떻게 정의하는지 살펴본 다음 핵심 개념을 심층적으로 살펴보고 마지막으로 실습을 통해 사용 사례를 이해하겠습니다.





Lambda 서버리스 컴퓨팅-AWS Lambda Tutorial

AWS Lambda 란 무엇입니까?

Amazon은 AWS Lambda (& lambda)를 '서버리스'컴퓨팅 서비스로 설명합니다. 즉, 개발자는 어떤 AWS 리소스를 시작할지 또는 어떻게 관리할지 걱정할 필요가 없습니다. 코드를 람다에 넣고 실행하기 만하면됩니다. , 간단합니다! 핵심 역량 (예 : 앱 빌드 또는 코드)에 집중하는 데 도움이됩니다.



AWS Lambda는 어디에서 사용합니까?

AWS Lambda는 AWS 리소스를 자동으로 관리하여 백엔드 코드를 실행합니다. '관리'라고하면 인스턴스 시작 또는 종료, 상태 점검, 자동 확장, 새 업데이트 업데이트 또는 패치 등이 포함됩니다.

그래서 어떻게 작동합니까?

Lambda가 실행하기를 원하는 코드는 Lambda 함수 . 이제 우리가 알고 있듯이 함수는 호출 될 때만 실행됩니다. 여기, 이벤트 소스 Lambda 함수를 트리거 한 다음 작업이 실행되는 엔티티입니다.

더 명확하게 이해하기 위해 예를 들어 보겠습니다.



이미지 업로드 용 앱이 있다고 가정합니다. 이제 이미지를 업로드 할 때 크기 조정, 필터 적용, 압축 등과 같이 이미지를 저장하기 전에 관련된 많은 작업이 있습니다.

따라서 이미지 업로드 작업은 다음과 같이 정의 할 수 있습니다. 이벤트 소스 또는 Lambda 함수를 호출하는 '트리거'를 사용하면 Lambda 함수를 통해 이러한 모든 작업을 실행할 수 있습니다.

이 예제에서 개발자는 이벤트 소스를 정의하고 코드를 업로드하기 만하면됩니다.

이제 실제 AWS 리소스로이 예를 이해하겠습니다.

그림. S3를 사용한 Lambda 사용 사례

여기에서는 객체 형식의 이미지를 S3 버킷에 업로드합니다. S3 버킷에 이미지를 업로드하면 이벤트 소스 또는 '트리거'가됩니다.

다이어그램에서 볼 수 있듯이 전체 프로세스는 5 단계로 나뉘어져 있으며 각 단계를 이해합시다.

  1. 사용자가 Lambda에 대해 알림이 연결된 S3의 소스 버킷에 이미지 (객체)를 업로드합니다.
  2. 알림은 S3에서 읽고 해당 알림을 보낼 위치를 결정합니다.
  3. S3는 Lambda에 알림을 보내고이 알림은 lambda 함수의 호출 호출 역할을합니다.
  4. Lambda의 실행 역할은 IAM (Identity and Access Management)을 사용하여 AWS 리소스에 대한 액세스 권한을 부여하여 정의 할 수 있습니다.이 예에서는 S3입니다.
  5. 마지막으로 S3 버킷에 업로드 된 객체에서 작동하는 원하는 람다 함수를 호출합니다.

개발과 함께이 시나리오를 전통적으로 해결했다면 다음 작업을 관리 할 사람을 고용했을 것입니다.

  • 서버 그룹 크기, 프로비저닝 및 확장
  • OS 업데이트 관리
  • 보안 패치 적용 및
  • 성능과 가용성을 위해이 모든 인프라를 모니터링하십시오.

이것은 비용이 많이 들고 지루하고 지루한 작업이었을 것이므로 AWS Lambda가 필요합니다.AWS Lambda는 Node.JS, Python 및 Java와 호환되므로 파일을 zip 형식으로 업로드하고 이벤트 소스를 정의하면 설정이 완료됩니다!

다음에 대해 더 읽을 수 있습니다. S3 AWS 더 깊은 이해를 위해 여기에.

이제 우리는 알고 있습니다 –Lambda 작동 방식 및람다가하는 일 에스 .

오, 이해합시다-

  • Lambda는 어디에서 사용합니까?
  • Lambda가 제공하는 목적은 무엇입니까?다른 AWS 컴퓨팅 서비스는 그렇지 않습니까?

문제에 대한 솔루션을 설계하려면 Lambda를 사용할 위치를 식별 할 수 있어야합니다.

따라서 아키텍트는 다음과 같은 작업을 수행 할 수있는 옵션이 있습니다.

  • AWS EC2
  • AWS Elastic Beanstalk
  • AWS OpsWorks
  • AWS Lambda

위의 사용 사례를 예로 들어이 문제를 해결하기 위해 Lambda를 선택한 이유를 이해하겠습니다.

AWS OpsWorks 및 AWS ElasticBeanstalk는 앱을 배포하는 데 사용되므로 사용 사례는 다음과 같습니다. 아니 앱을 만들려면 , 그러나 백엔드 코드를 실행합니다.

그렇다면 EC2는 어떻습니까?

EC2를 사용한다면로드 밸런서, EBS 볼륨, 소프트웨어 스택 등 모든 것을 설계해야합니다. 람다에서는 아무것도 걱정할 필요가 없습니다. 코드를 삽입하기 만하면 나머지는 AWS가 관리합니다!

예를 들면 , EC2에서는 코드를 지원하는 가상 머신에 소프트웨어 패키지를 설치하지만 Lambda에서는 VM에 대해 걱정할 필요없이 일반 코드를 삽입하기 만하면 Lambda가 자동으로 실행합니다.

그러나 코드가 몇 시간 동안 실행되고 지속적인 요청 스트림이 예상되는 경우 Lambda의 아키텍처는 산발적 인 워크로드를위한 것이기 때문에 EC2를 사용해야 할 것입니다. 아니. 요청의 수도 있습니다.

예를 들면 , 예를 들어 소규모 회사의 이메일 활동을 기록하면 밤보다 낮에 더 많은 활동을 볼 수 있으며 처리 할 이메일이 적은 날이있을 수 있으며 때로는 전 세계가 이메일을 보내기 시작할 수 있습니다! 두 경우 모두 Lambda가 서비스를 제공합니다.

거대한 사용자 기반을 가지고 있기 때문에 이메일이 끝나지 않는 대규모 소셜 네트워킹 회사의이 사용 사례를 고려할 때 Lambda가 적절한 선택이 아닐 수 있습니다.

다음에 대해 더 읽을 수 있습니다. EC2 AWS 더 깊은 이해를 위해 여기에.

AWS Lambda의 제한 사항

일부 제한 사항은 하드웨어에 따라 다르며 일부는 아키텍처에 의해 제한됩니다. 모두 설명하겠습니다.

하드웨어 제한 512MB로 제한되는 디스크 크기를 포함하며 메모리는 128MB에서 1536MB까지 다양합니다. 그런 다음 실행 시간 제한을 5 분으로 최대화 할 수 있고 요청 본문 페이로드가 6MB를 넘지 않을 수 있으며 요청 본문이 128KB 인 것과 같은 다른 것이 있습니다. 요청 본문 페이로드는 HTTP에서 'GET'또는 'PUT'요청과 함께 보내는 데이터와 유사합니다. 여기서 요청 본문은 요청 유형, 헤더 등입니다.

자바 깊은 복사 대 얕은 복사

실제로 이것은 제한이 아니지만 Lambda의 아키텍처에 설정된 설계 경계이므로 사용 사례가 이에 맞지 않으면 항상 다른 AWS 컴퓨팅 서비스를 자유롭게 사용할 수 있습니다.

이 AWS Lambda 자습서에서 Lambda에서 작업을 수행하는 것이 얼마나 지루하고 지루하지 않은지에 대해 논의했습니다. 이제 비용 부분도 다루겠습니다.

AWS Lambda의 가격

대부분의 AWS 서비스와 마찬가지로 AWS Lambda는 사용한만큼만 지불하는 유료 서비스이므로 다음 매개 변수에 대해 요금이 부과됩니다.

  • 개수 요청 람다 함수로 만드는
  • 그만큼 지속 코드가 실행됩니다.

요청

  • 모든 람다 함수에서 요청한 횟수에 대해 요금이 부과됩니다.
  • AWS Lambda는 콘솔에서 테스트가 호출되는 것을 포함하여 이벤트 소스 또는 호출 호출에 대한 응답으로 실행을 시작할 때마다 요청을 계산합니다. 이제 가격을 살펴 보겠습니다.
    • 매월 처음 1 백만 건의 요청은 무료입니다.
    • 이후 백만 건당 0.20 $.

지속

  • 기간은 코드가 실행되기 시작한 순간부터 반환되거나 종료되는 순간까지 계산되며 가장 가까운 100ms로 반올림됩니다.
  • 가격은 함수에 할당 한 메모리 양에 따라 다르며 사용 된 GB- 초당 0.00001667 USD가 청구됩니다.

* 출처 : AWS 공식 웹 사이트

여기까지 도달했다면 Lambda에서 실습을위한 준비가 모두 완료된 것입니다. 재미있게 놀자!

실습 : AWS Lambda DIY

S3의 특정 버킷에 객체를 추가하면 '객체가 추가되었습니다'를 기록하는 Lambda 함수를 생성 해 보겠습니다.

1 단계: 컴퓨팅 섹션 아래의 AWS Management Console에서 AWS Lambda를 선택합니다.

2 단계: AWS Lambda 콘솔에서 'Lambda 함수 생성'을 클릭합니다.

Step3 : 다음 페이지에서 청사진을 선택해야합니다. 예를 들어 사용 사례에 대해 빈 함수를 선택합니다.

Step4 : 다음 페이지에서는 (1) 트리거를 설정합니다. S3에서 작업 할 것이므로 (2) S3 트리거를 선택한 다음 (3) 다음을 클릭합니다.

Step5 : 구성 페이지에서 세부 사항을 입력하십시오. 자신의 코드를 입력하거나이 사용 사례에서 동일한 코드를 복사 할 수 있습니다. 그 후 핸들러와 역할을 채우고 고급 설정을 그대로두고 마지막에 다음을 클릭합니다.

Step6 : 다음 페이지에서 모든 정보를 검토하고 '기능 생성'을 클릭합니다.

Salesforce 서비스 클라우드 인터뷰 질문

Step7 : 이제 S3 버킷에 대한 함수를 만들었으므로 S3 버킷에 파일을 추가하는 순간 AWS의 모니터링 서비스 인 CloudWatch에서 동일한 로그를 가져와야합니다.

축하합니다!Lambda 함수를 성공적으로 실행했습니다.

AWS Lambda 자습서를 자세히 살펴 보셨기를 바랍니다. 솔루션 아키텍트, 클라우드 엔지니어, DevOps 엔지니어와 같은 직책에 대해 AWS 에코 시스템에서 가장 원하는 지식 영역 중 하나입니다. 다음은 컬렉션입니다. 다음 AWS 면접을 준비하는 데 도움이됩니다.

이 AWS Lambda 자습서와 관련이있는 경우 Edureka의 라이브 및 강사 진행 과정을 확인하십시오. , 업계 실무자들이 공동 제작.

질문이 있으십니까? 의견란에 언급 해 주시면 연락 드리겠습니다..