Cloud Infra Architecture (AWS)/AWS SAA-C03

AWS Lambda

seongduck 2023. 1. 22. 20:40

람다를 보기전에 Serverless 개념을 살펴보고 가자

 

Serverless

  • 실제 서버는 존재하지만 서버를 사용자가 직접 관리할 필요 없고, 인프라 운영 등 AWS 클라우드 회사에서 담당하는 것
  • AWS에서 용량조정, 프로비저닝, 패치 등의 인프라를 관리
  • 사용자는 필요한 애플리케이션을 구축해서 사용하기만 하면 된다.
  • 대표적인 AWS 서버리스 서비스
    • AWS Lambda, AWS Fargate
    • Amazon S3, DynamoDB, Amazon Aurora Serveless
    • Amazon SNS, Amazon SQS, API Gateway

 

Lambda

  • 코드를 실행하여 동작하는 서버리스 컴퓨팅
  • EC2는 서버를 시작하고, 애플리케이션을 설치하고 서버가 계속 실행되며 사용자가 직접 운영 해야한다.
  • Lambda는 AWS에서 서버 운영에 필요한 모든 인프라를 관리한다.
  • Lambda 사용자는 코드를 입력하여 실행만 하면 된다.
  • Lambda 요청할 때에만 시스템을 사용하는 온디맨드 방식의 이벤트 중심의 실행
  • Lambda는 사용한 만큼만 비용을 지불 (코드를 실행한 횟수와 실행한 시간으로 과금)
  • EC2는 Auto Scaling기능을 사용해 서버를 확장하지만 Lambda는 사용량이 늘어나면 자동으로 용량이 확장되므로 용량 계획이 필요 없고 확장성이 뛰어나다.
  • 다양한 프로그래밍 언어를 지원한다. (Node.js, Python, Java, C#, Ruby 등)
  • AWS Lambda 함수는 실행당 최대 15분동안 하도록 구성 (1초에서 15분 사이의 값으로 제한 시간을 설정)
  • 동시에 처리 가능한 실행수는 1000건이며 요청을 통해 한도 증가 가능

 

사용자 => Lambda 코드실행 => S3 저장 or DB에 저장

  • Lambda는 독립적으로 사용하지 않고 다른 서비스와 결합하여 사용된다.
  • 결합 서비스 : API Gateway, Kinesis, DynamoDB, SNS, SQS, S3, CloudFront 등

 

 

확인

  1. Lambda 서비스에 접속
  2. 함수 생성을 눌러 옵션을 선택한다. (블루 프린트)
  3. 여러가지 코드가 있는데 Hello-world-python을 클릭한다.
  4. 이름은 lambda-hello를 선택 함수 생성을 누른다.
  5. 왼쪽의 함수를 누르면 함수를 확인할 수 있다.
  6. 코드 소스의 [Test]를 눌러 확인할 수 있다.