AWS/Service

Lambda

jih0ssang 2023. 11. 11. 14:03

참고 블로그: https://docs.aws.amazon.com/lambda/latest/dg/configuration-vpc.html

Lambda

VPC 

VPC 내부 서비스(EC2, DB)와 통신하려면 Lambda는 eni가 있어야 하므로, eni를 임시 부여받을 VPC를 지정해야한다.

eni를 부여받을 VPC 및 서브넷, 보안그룹을 지정한다.

IAM Role

{
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": [
                "ec2:CreateNetworkInterface",
                "ec2:DescribeNetworkInterfaces",
                "ec2:DescribeVpcs",
                "lambda:*",
                "ec2:DeleteNetworkInterface",
                "docdb-elastic:ListClusterSnapshots",
                "ec2:DescribeSubnets",
                "docdb-elastic:CreateCluster",
                "ec2:DescribeSecurityGroups",
                "docdb-elastic:ListClusters"
            ],
            "Resource": "*"
        },

Lambda와 연결한 IAM Role의 Policy에는 eni 생성 및 삭제하는 권한이 정의가 되어있어야 한다.

 

 

 

Lambda 런타임

파이썬, 루비, 자바, 고 및 닷넷 코어(C# 및 파워셀)

사용자 지정 런타임 업로드하여 C++, 코볼 및 기타 언어로 코드 실행 가능

 

프로세서 선택

x86_64(인텔) 와 arm64(그래비톤2) 중 선택 1

함수 트리거

다양한 이벤트를 기반으로 람다 함수 호출을 트리거할 수 있음

  • S3
  • ALB
    • 도메인, 요청방식(GET, PUT, POST), URL에 따라 람다로 라우팅 가능
  • API Gateway
    • 서로 다른 API 호출, 원본 또는 엔드포인트에 따라 람다 함수 호출
  • SNS
  • SES
  • Cognito
  • CloudFront
  • CloudTrail
  • CodeCommit

Lambda는 평소에는 ENI를 차지 하지 않다가, 실행 시 ENI를 동적으로 생성하고 사용한다.

여기서 ENI는 Lambda를 실행하고자 하는 VPC의 ENI를 차지한다.

 

메시지 수가 증가하면 동시성 제한 우려

SQS 도입 필요

 

 

실습 참고

https://catalog.us-east-1.prod.workshops.aws/workshops/600420b7-5c4c-498f-9b80-bc7798963ba3/ko-KR/serverless/120-lambda/100-create-api-service-lambda

 

 

'AWS > Service' 카테고리의 다른 글

AWS VIF(가상 인터페이스)  (0) 2023.11.25
EFS 자동 마운트  (0) 2023.11.13
VPC 엔드포인트  (0) 2023.10.29
Account (역할 전환 실습)  (1) 2023.10.27
Account (Multi-Account 간 리소스 공유)  (0) 2023.10.27