람다를 보기전에 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 등
확인
- Lambda 서비스에 접속
- 함수 생성을 눌러 옵션을 선택한다. (블루 프린트)
- 여러가지 코드가 있는데 Hello-world-python을 클릭한다.
- 이름은 lambda-hello를 선택 함수 생성을 누른다.
- 왼쪽의 함수를 누르면 함수를 확인할 수 있다.
- 코드 소스의 [Test]를 눌러 확인할 수 있다.
'Cloud Infra Architecture (AWS) > AWS SAA-C03' 카테고리의 다른 글
AWS Machine Learning 종류와 특징 (0) | 2023.01.22 |
---|---|
AWS Elastic Beanstalk (0) | 2023.01.22 |
Amazon Elastic Kubernetes Service(EKS) (0) | 2023.01.22 |
Amazon Elastic Container Service (ECS) (0) | 2023.01.22 |
AWS 컨테이너 서비스 (0) | 2023.01.22 |